chapter_13
函数
def语句
def的首行定义了函数名,赋值给了函数对象,并在括号中包含了0个或以上的参数(形参),在函数调用的时候,在首行的参数名赋值给了括号中的传递来的对象.
函数的格式:
def <name>(arg1,arg2,arg3...):
...
return <value>
- def语句是实际上是一个可执行的语句:当它运行的时候,它创建一个新的函数对象并将其赋值给一个变量名,因为它是一个语句,一个def可以出现在任一语句可以出现的地方,甚至是嵌套在其他的语句中.
if test:
def func():
...
else:
def func():
...
...
func()
- 因为函数定义是实时发生的,所以对于函数名来说并没有什么特别之处,关键之处在于函数名所引用的对象.
othername = func
othername() #等价于func()
- 定义和调用
>>> def times(x, y):
... return x * y
...
>>> times(2,4)
8
>>> times('Ni',4)
'NiNiNiNi'
Python的多态
- 上例中的times函数中表达式 x * y 的意义完全取决于x和y的对象类型,这种行为称为多态.