一. 调用函数
python内置了一些数据类型转换函数,比如int()函数可以把其他数据类型转换为整形
>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> unicode(100)
u'100'
>>> bool(1)
True
>>> bool('')
False函数名其实就是只想一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个别名。
>>> a = abs # 变量a指向abs函数 >>> a(-1) # 所以也可以通过a调用abs函数 1
1. 自定义函数:
定义一个求绝对值的函数my_abs
def my_abs(x):
if x >= 0:
return x
else:
return -x2. 空函数:
如果想定义一个什么事都不做的空函数,可以用pass语句:
def nop():
pass
if age >= 18:
pass数据类型检查可以用内置函数isinstance实现:
def my_abs(x):
if not isinstance(x, (int, float)): # 只允许整数和浮点数类型的参数
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x函数可以返回多个值吗?答案是肯定的。
import math
def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
x, y = move(100, 100, 60, math.pi / 6)
print x, y # 151.961524227 70.0但其实这只是一种假象,python函数返回的仍然是单一值:
r = move(100, 100, 60, math.pi / 6) print r # (151.96152422706632, 70.0)原来返回值是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接受一个tuple,按位置赋给对应的值。
所以,python的函数返回多值其实就是返回一个tuple
三. 函数的参数
四. 递归函数
原文:http://blog.csdn.net/zdp072/article/details/43240115