1.最简单的乘法
r1 = 12.34
r2 = 9.08
s1 = 3.14 * r1 * r1
print s1
print abs(-20)
print cmp(1, 2)
print unicode(100)
print int(1.23)
2.自定义函数
def my_abs(x):
# 参数检查
if not isinstance(x, (int, float)):
raise TypeError('bad opearand type')
if x >= 0:
return x
else:
return -x
# my_abs('A') 参数传入错误时候会警告
3.输出多个参数
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
r = move(100, 100, 60, math.pi / 6)
print r
3.重定义
def power(x):
return x * x
print power(5)
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print power(5, 3)
4.默认参数的函数
定义默认参数要牢记一点:默认参数必须指向不变对象!
def power(x, n = 2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print power(5), power(5, 2) // 两者等价
5.参数组合
要注意定义可变参数和关键字参数的语法:
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
以及调用函数时如何传入可变参数和关键字参数的语法:
可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));
关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。
使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。