2010年(19)
分类:
2010-05-16 17:51:00
1、 在Python 中未指定返回值的函数会自动返回None,等价于NULL。
2、 在学习 Python 的过程中,如果需要得到一个生疏函数的帮助,只需要对它调用内建函数help()。通过用函数名作为 help()的参数就能得到相应的帮助信息:如help(raw_input)
3、Python 也提供了逻辑运算符:and or not,相当于C中的&&,||,!。
使用逻辑运算符可以将任意表达式连接在一起,并得到一个布尔值:与C语言不同的是其布尔值为True,False。
4、Python 不支持C 语言中的自增1 和自减1 运算符, 这是因为 + 和 - 也是单目运算符,
Python 会将 --n 解释为-(-n) 从而得到 n , 同样 ++n 的结果也是 n.
>>> n = 10
>>> --n
10
>>> ++n
10
>>>
5、在python中,字符串加号( + )用于字符串连接运算,星号( * )则用于字符串重复。使用索引运算符( [ ] )和切片运算符( [ : ] )可以得到子字符串。字符串有其特有的索引规则:第一个字符的索引是 0,最后一个字符的索引是 -1
>>> str = "python"
>>> str1 = "I love"
>>> str1 + str
'I lovepython'
>>> str1 = "I love "
>>> str1 + str
'I love python'
>>> str[0]
'p'
>>> str
'python'
>>> str[]
SyntaxError: invalid syntax
>>> str[:]
'python'
>>> str[-1]
'n'
>>> str*3
'pythonpythonpython'
>>>
6、列表与元组与C中的数组差不多,但这二个可以存储不同的类型,也就是说我既可以存int型,也可存float型等。
列表和元组有几处重要的区别。列表元素用中括号( [ ])包裹,元素的个数及元素的值可以改变。元组元素用小括号(( ))包裹,不可以更改。元组可以看成是只读的列表。通过切片运算( [ ] 和 [ : ] )可以得到子集,这一点与字符串的使用方法一样。
>>> aTuple = ('robots', 77, 93, 'try')
>>> aTuple
('robots', 77, 93, 'try')
>>> >>> aTuple[1] = 5
SyntaxError: invalid syntax
>>> list = [1, 2, 3, 4.0]
>>> list
[1, 2, 3, 4.0]
>>> list[1] = 90
>>> list
[1, 90, 3, 4.0]
7、字典:值可以是任意类型的Python 对象,字典元素用大括号({ })包裹。
>>> aDict = {'host': 'earth'} # create dict
>>> aDict['port'] = 80 # add to dict
>>> aDict
{'host': 'earth', 'port': 80}
>>> aDict.keys()
['host', 'port']
>>> aDict['host']
'earth'
>>> for key in aDict:
... print key, aDict[key]
...
host earth
port 80
8、开始最不爽的就是缩进了。在PYTHON中以缩进来判定相应的模块的,且像if 后面接的表达式也不是用括号括起来的,而是在表达式后面加上:号。然后一般用TAB键来实现缩进。一般TAB设置四个空格。
9、Python 中的for 循环与传统的for 循环(计数器循环)不太一样, 它更象shell 脚本里的foreach 迭代。Python 中的for 接受可迭代对象(例如序列或迭代器)作为其参数,每次迭代其中一个元素。
>>> for item in ['e-mail', 'net-surfing', 'homework','chat']:
print item
net-surfing
homework
chat
上面例子的输出如果能在同一行就会美观许多。print 语句默认会给每一行添加一个换行符。只要在print 语句的最后添加一个逗号(,), 就可以改变它这种行为。
>>> for item in ['e-mail', 'net-surfing', 'homework','chat']:
print item,
e-mail net-surfing homework chat
为了输出清晰美观, 带逗号的print 语句输出的元素之间会自动添加一个空格。通过指定输出格式, 程序员可以最大程度的控制输出布局, 也不用担心这些自动添加的空格。它也可以将所有数据放到一处输出--只需要将数据放在格式化运算符右侧的元组或字典中。
10、列表解析:这是一个让人欣喜的术语, 表示你可以在一行中使用一个for 循环将所有值放到一个列表当中:列表解析甚至能做更复杂的事情,比如挑选出符合要求的值放入列表:
squared = [x ** 2 for x in range(4)]
sqdEvens = [x ** 2 for x in range(8) if not x % 2]
11、函数的定义:如何定义函数
def function_name([arguments]):
"optional documentation string"
function_suite
12、常用的内建函数
help([obj]) 以一种整齐美观的形式 显示对象的文档字符串, 如果没有提供任何参数, 则会进入交互式帮助。
int(obj) 将一个对象转换为整数
len(obj) 返回对象的长度
open(fn, mode) 以 mode('r' = 读, 'w'= 写)方式打开一个文件名为 fn 的文件
range([[start,]stop[,step]) 返回一个整数列表。起始值为 start, 结束值为 stop - 1; start默认值为 0, step默认值为1。
raw_input(str) 等待用户输入一个字符串, 可以提供一个可选的参数 str 用作提示信息。
str(obj) 将一个对象转换为字符串
type(obj) 返回对象的类型(返回值本身是一个type 对象!)
dir([obj]) 显示对象的属性,如果没有提供参数, 则显示全局变量的名字