函数:
定义函数:
>>> def do_nothing()
pass
调用函数:
>>> do_nothing()
None:是Python中的一个特殊的值,它和False,空值是有区别的。
注意函数参数的传入。
使用*收集位置参数:当参数被用在函数内部时,星号将一组可变数量的位置参数集合成参数值的元组。
>>> def print_args(*args):
print('Posistionaltuple:',args)
>>> print_args()
Posistional tuple: ()
>>> pring_args(3,2,1)
Posistional tuple: (3, 2, 1)
生成器:
用来创建Python序列的一个对象,它可以迭代庞大的序列,且不需要再内存中创建和存储整个序列,range()就是一个数据生成器。每次迭代生成器时,它会记录上一次调用的位置,并且返回下一个值。这一点和普通函数是不一样的,一般函数都不记录前一次调用,而且都会在函数的第一行开始执行。定义生成器函数,它的返回值使用yield语句声明。
装饰器:
装饰器实质上是一个函数。它把一个函数作为输入并且返回另外一个函数。
命名空间和作用域
全局变量、局部变量,在局部调用全局变量,要加显式的关键字global
两个获取命名空间的函数:
. locals() 返回一个局部命名空间内容的字典;
.globals() 返回一个全局命名空间内容的字典;
名称中两个下划线__开头和结束的,都是Python的保留用法,不能在自定义的变量中使用。
一个函数的名称是系统变量function.__name__,它的文档字符串是 function.__doc__,它的主程序被赋值特殊的名字__main__
使用try和except处理错误
需要除了异常类型以外其它的异常细节,可以使用下面的格式获取整个异常对象:
except exceptiontype as name