def 函数名():
函数体
return 返回值1,返回值2
函数的调用
函数名()
实现打印返回值: print 函数名()
总结:
定义函数时,函数不执行;
调用函数时, 函数才执行;
有参数的函数
必选参数
In [43]: def add(x,y):
....: print x+y
....: add(3,5)
....:
8
默认参数:
In [44]: def mypow(x,y=7):
....: print x*y
....: mypow(4)
....:
28
可变参数
In [45]: def add(*args):
....: sum = 0
....: for i in args:
....: sum += i
....: print sum
....: add(1,3,4,5,6,7,6,7,7)
....:
46
返回值
函数中如果没有return时, 默认返回None;
返回多个值
In [46]: def fun(*args):
....: return max(args),min(args)
....: print fun (2,3,4,2,3,4,2,3)
....:
(4, 2)
函数的作用域
全局变量, 局部变量
# 全局变量
num = 1
def fun():
# global 声明 num 为全局变量
global num
# 局部变量
num = 5
fun()
print num
5
In [1]: num = "hello"
In [2]: def fun():
...: global num
...: num ="cao"
...: fun()
...: print num
...:
cao
列表生成式
生成列表的公式
需求: 生成一个列表, 返回1-100中偶数的平方;
In [4]: [i**2 for i in range(2,20,2)]
Out[4]: [4, 16, 36, 64, 100, 144, 196, 256, 324]
变异的列表生成式
In [6]: [i**2 for i in range(2,20) if i%2==0]
Out[6]: [4, 16, 36, 64, 100, 144, 196, 256, 324]
In [15]: [i+j for i in 'xyz' for j in '123']
Out[15]: ['x1', 'x2', 'x3', 'y1', 'y2', 'y3', 'z1', 'z2', 'z3']