python学习笔记(四)-- 函数

局部变量VS全局变量

局部变量--定义在函数里面的变量,只能在函数里面使用,在函数外面不能使用
全局变量--作用于整个程序
 
 
数据类型:int str tuple #不可修改的变量需要通过global声明才能在函数里面修改全局变量
数据类型:list dict set #可以修改的变量不需要global,直接可修改
1 #在函数内修改全局变量,需要用global声明
2 money = 500
3 def func():
4     global money#声明全局变量
5     money += 100
6     return money
 

函数形参有四种类型:

#1、必填参数(位置参数)
#2、默认值参数
#3、参数组
#4、关键字参数
位置参数
1
调用函数的时候,可以全部都用位置参数,位置是一一对应的,必须按照位置来传 2 def xxx(name,age,sex,addr,phone,qq,mail): 3 print(name,age,sex) 4 #位置参数 5 xxx('xiaomi',12,'m','cd',12346,3322323,'[email protected]')
关键字参数
1
调用函数时,可以位置参数与关键字参数一起使用,位置参数必须在前面 2 def xxx(name,age,sex,addr,phone,qq,mail): 3 print(name,age,sex) 4 #关键字参数 5 xxx('xiaomi',11,'f',addr='cd',phone=13113,mail='fewwef',qq=121212)
默认参数
1
#默认值参数在定义形参时给它赋一个默认值,如果函数调用时没传参数,则用默认值,传了参数则用传入值 2 def op_file(file, content=None): 3 if content: 4 with open("a.txt",'w') as f: 5 f.write(content) 6 else: 7 with open('a.txt') as f: 8 res = f.read() 9 return res 10 op_file('a.txt','hello') 11 print("读文件",op_file('a.txt'))
参数组
1
#参数前面加*,参数是一个元组 2 def send_mail(*names): 3 for name in names: 4 print("给%s发测试邮件!"%name) 5 send_mail() 6 send_mail('xiaomi') 7 send_mail('xiaomi','xiaohei','ewiiew')
1 # 两个*号,关键字传参,参数存成一个字典
2 def xiaomi(**info):
3     print(info)
4 xiaomi()
5 xiaomi(name = '123',addr='233')
 
 
 

猜你喜欢

转载自www.cnblogs.com/yanyan-/p/10749191.html
今日推荐