- 代表执行单独的操作
- 采用零个或多个参数作为输入
- 返回值作为输出
1.定义函数
• def关键字,依次写出函数名、括号、括号中的参数和冒号 :
• 在缩进块中编写函数体,函数的返回值用 return 语句返回。
def 函数名():
函数体
return 返回值1,返回值2
2.函数的调用
函数名()
- 实现打印返回值: print 函数名()
- 总结:
定义函数时,函数不执行;
调用函数时, 函数才执行;
3.有参数的函数
• 必选参数
•默认参数:默认参数一定要用不可变对象
•可变参数:*args 是可变参数,args 接收的是一个 tuple
•关键字参数:**kw 是关键字参数,kw 接收的是一个dict
•对于任意函数,都可以通过类似 func(*args, **kw) 的形式调用它
参数定义的顺序必须是:必选参数>默认参数>可变参数>关键字参数
必选参数
# 形式参数
def add(x, y):
print x + y
# 实参 , x=1, y=2add(1,2)
默认参数
def mypow(x,y=2): //y为一个默认参数,所以只需给x传参
print x**ymypow(5)
可变参数
可变参数就是传入的参数个数是可变的,可以是 1 个、2 个到任意个,还可以是 0 个
def add(*args): # args 可以改为其他变量名;
# args 实质上是一个元组 ;
print args
sum = 0
for i in args:
sum += i
print sum
调用:
add(1 2 3 4 5 6 2 3 4 5 76)
关键字参数
•关键字参数允许你传入 0 个或任意个含参数名的参数;
•这些关键字参数在函数内部自动组装为一个 dict;
•关键字参数用**kwargsdef inuser(name,age,**kwargs): # kwargs 可以改为其他变量名;
# kwargs 实质上是一个字典 ;
print name,age,kwargs
inuser("lala",'14',city='xi an',birth='1997')
4.函数返回值
• 函数返回值用return关键字;
• 返回一个 tuple 可以省略括号;
• Python 的函数返回多值其实就是返回一个 tuple
• 函数执行完毕也没有 return 语句时,自动 return None
返回一个值
def add(x,y): return x+y print add(1, 2)
返回多个值
def fun(*args): return max(args),min(args) print fun (1,2,4,6,98,21)
5.变量的作用域
• 局部变量:只能在函数内部使用的变量
• 全局变量:在整个程序中使用的变量
• global关键字:强制将局部变量转换为全局变量
www