一.变量
1.全局变量:定义在函数顶部,供所有函数调用
2.局部变量:定义在函数内部,函数执行时被创建,执行完毕,被系统收回,
在函数内部想要修改全局变量时:
global 变量名
变量 = 值
当全局变量时列表时,在函数内部想要修改全局变量,可以使用列表的append方法
不同的函数,可以定义相同名字的局部变量
二.函数进阶
1.参数传递
传递的参数可以是可变类型:tuple,dict
不可变类型:int,float,str,list
2.返回值
使用多个变量接收结果,变量的个数要与元组中元素个数保持一致
如果函数返回值是元祖 ,小括号可以省略的
def measure():
temp = 39
wetness = 50
元组--可以包含多个数据,因此可以使用元组让函数返回多个值
如果函数返回值是元祖 ,小括号可以省略的
return temp,wetness
注意:使用多个变量接收结果,变量的个数要与元组中元素个数保持一致
gl_temp,gl_wetness = measure()
print(gl_wetness)
print(gl_temp)
3.缺省值
也叫默认值
def print_info(name,title="",gender=True):
“”"班上同学信息
:param title: 职位
:param name: 姓名
:param gender: True 男 False 女
"""
gender_text = "男"
if not gender:
gender_text= "女"
print("[%s]%s 是 %s" % (name,gender_text,title))
在指定缺省函数的默认值的时候,应该使用最常见的值作为默认值
默认值写在参数的最右边
print_info("小明",title="班长")
print_info("小花",gender=False)
4.两个数的交换
a = 6
b= 100
解法 1 中间变量交换思想
c = a
a = b
b = c
解法2 不使用其他变量
a = a + b
b = a -b
a = a -b
解法3 python相关
提示:=右边是一个元组
a,b = (b,a)
print("a: %d" % a)
print("b: %d"% b)
5.元组与字典的拆包
def demo(*args,**kwargs):
print(args)
print(kwargs)
元组/字典变量
gl_tuple = (1,2,3)
gl_dict = {"name":"小明","age":18}
demo(gl_tuple,gl_dict)
不拆包
demo(1,2,3,name = "小明",age = 18)
拆包语法: *:元组 **:字典 简化元祖遍历/字典变量传递的时候操作
demo(*gl_tuple,**gl_dict)
6.+=与extend
列表变量使用+= 本质上就是执行了列表的extend方法