函数 调用函数Python 内置函数:官方文档链接:点击打开链接 求绝对值:
>>> abs(-54.90)
54.9
>>> abs(223)
223
>>> abs(9999999)
9999999
还可以通过变量名,引用函数:
>>> func = abs
>>> func(-1)
1
定义函数在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。 return None可以简写为return。 例如:
>>> def cacu(x):
... sum = 0
... for x in range(x):
... sum = sum + x
... return sum
...
>>> cacu(5)
10 定义空函数可以用pass语句:
>>> def nop():
... pass
...
返回多个值时:returnx,y 其实返回的是一个tuple对象,(x,y),括号可以省略 函数的参数默认参数:默认参数可以简化函数的调用。设置默认参数时,有几点要注意: 一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面); 二是如何设置默认参数。 当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。 如:水果店卖水果,需要输入水果类型和价格
>>> def sale(f,p):
... print 'fruit:%s'% f
... print 'price:%f'% p
...
调用时,只需要传入两个值:f,p: >>> sale('apple',34.33) fruit:apple price:34.330000 但是如果,我还需要知道有关水果其他信息,比如水果店的位置还有店铺名称, 可以把位置s和名称name设为默认值:
>>> def sale(f,p,s='NJ',name='SN'):
... print 'fruit:%s'% f
... print 'price:%f'% p
... print 'situation:%s'%s
... print 'name:%s'% name
...
>>> sale('apple',34.22) fruit:apple price:34.220000 situation:NJ name:SN 可见,默认参数降低了函数调用的难度,而一旦需要更复杂的调用时,又可以传递更多的参数来实现。无论是简单调用还是复杂调用,函数只需要定义一个。 定义默认参数要牢记一点:默认参数必须指向不变对象! 可变参数:在参数前加上*
>>> def allgrades(*grade):
... sum = 0
... for g in grade:
... sum = sum + g
... print sum
...
>>> grade =(66,77,99,44,66) >>> allgrades(1,2,3,4,5,6) 21 >>>allgrades(*grade) 352 关键字参数:可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
>>> def person(name,age,**other):
... print 'name:',name,'age:',age,other
...
>>> person ( 'Sandy', 18, city='NJ', sex='female' ,weight=50)
Name : Sandy age: 18 {'city': 'NJ', 'weight': 50, 'sex': 'female'}
参数组合:在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。 递归函数定义阶乘的函数:f(n)=f(n-1)*n:
>>> def f(n):
... if n==1:
... return n
... else:
... return n*f(n-1)
...
>>> f(3) 6 >>> f(4) 24
|