1.默认情况下,所有在一个函数中被赋值的对象,是这个函数的本地变量,并且仅在这个函数运行的时候存在。为了声明一个在整个模块中可以使用的变量名,函数需要在global语句中将它列举出来
2.函数的参数,返回值,变量名不需要声明类型
3.def 语句创建了一个对象,并将这个对象赋值给一个变量名
4.函数主体往往都包含一条return语句,它表示函数调用结束,并回到函数调用处。return语句是可选的,当它没有出现的时候,函数在控制流程执行完函数主体的时候退出函数。一个没有返回值的函数返回None,但是这个值往往是被忽略的。
5.这种依赖类型的行为称之为多态,其含义就是一个操作依赖于被操做对象的类型
6.内置函数使用C语言编写的,目的是为了优化运行速度,并接受一个单个的可迭代对象或多个参数
7.查看函数属性列表dir(funcname)
我们也可以为函数添加属性:
8.函数注解(python3.0)
在python3.0中,可以给函数对象附加注解信息---函数参数和返回值的相关的任意用户定义的数据。python为声明注解提供了特殊的语法,但注解本身并不做任何事情,注解完全是可选的。可以通过func.__annotation__来查看附加的注解信息
def func(a:'spam', b:(1,10), c:float) ->int:
print (a+b+c)
从语法上讲,函数注解编写在def头部行。对于参数,它们出现在紧随参数名之后的冒号之后;对于返回值,它们出现在紧随参数列表的->之后。
注解函数的调用和普通函数的调用一样,当注解出现的时候,python将它们收集在一个字典中并且将它们附加在函数自身
添加注解的函数参数仍然可以使用默认值,注解出现在默认值之前
def func(a:'spam' =4, b:(1,10) =5, c:float =6) ->int :
print (a+b+c)
注意: 注解只在def语句中有效,在lambda表达式中没效
9.