o1_接收多个返回值.py
1 """ 2 函数执行完毕后,接收多个返回值,可以使用 return + tuple 元祖进行接收 3 4 """ 5 6 def measure(): 7 tem= 38 8 wet = 18 9 # return 元组进行接收,小括号默认可以省略***测试列表也可以 10 return tem,wet 11 # result 接收函数返回结果,类型为元祖 12 result = measure() 13 print(result) 14 """ 15 result为元祖类型,包含多个元素,可以使用下方法取值 16 1,标索引方式进行取值, 17 2,多个变量进行接收取值,gl_tem,glwet = measure() 18 3,或者for循环进行遍历 19 """ 20 # 需单独处理元祖的数据,通过下标,此方法较为繁琐 21 print(result[0]) 22 print(result[1]) 23 24 # 使用多个变量一次性接收函数的返回值 25 # 此代码执行完毕后,函数内部的tem返回给gl_tem,wet返回给gl_wet,按照返回值顺序 26 gl_tem,glwet = measure() 27 # 分别接收到函数的返回值tem 和wet 依据return tem,wet 顺序,返回值和变量数量需保持一致. 28 print(gl_tem) 29 print(glwet) 30 31 # for 循环遍历 32 33 for item in result: 34 print('for循环进行接收',item)
o2_两个数字值的交换.py
a=1 b =100 # 等号左边是变量,右边是元祖,直接就能交换 a,b =(b,a) print(a) print(b)
o3_不可变和可变参数.py
1 """ 2 3 函数内部修改参数的数值,最终不会影响外部的实参变量 4 5 例如 函数外部定义变量,通过参数传递给函数内部,但是在函数内部通过赋值更改参数的值 6 修改的是参数的值,不会修改到外部变量的值 7 8 9 """ 10 # 全局变量100 11 gl_num =100 12 list = [1,2,3] 13 # 函数带参数num 14 def demo(num,list): 15 # 此时修改参数实际上是修改函数内部定义的局部变量,不会修改外部变量 16 num = 50 17 print(num) 18 print('函数内部的参数num',num) 19 # 函数内部**赋值**修改参数(变量) 不影响函数外部的数值, *********使用方法会改变外部数据 20 list = [4,5,6] 21 print('函数内部的list',list) 22 demo(gl_num,list) 23 24 print('函数外部的gl_num',gl_num) 25 print('函数外部的list',list) 26 """ 27 函数外部定义的可变,不可变类型的数据,无论函数内将参数如何进行修改,不会影响函数外部的数据 28 29 """
o4_可变类型数据在函数内修改.py
1,注意,开发中,若在函数内部通过方法对列表进行修改时候,会对外部数据产生影响!
2,***注意,列表,字典在函数内部使用 +=(list+=list)时候,本质是调用extend方法,也就是说是调用方法,会造成函数外部数值的变化
1 """" 2 可变类型的数据,作为参数传递给函数时候,若使用赋值语句在函数内修改参数(实际上是修改局部变量),不会影响函数外部数据 3 但 使用方法修改时候,会影响外部数据 4 5 6 """ 7 8 # 可变类型的数据list 9 list = [1,2,3] 10 # 将list作为参数传递给函数内部 11 def demo(list): 12 # 函数内部使用方法修改参数的值,会影响函数外部 13 list.append(9) 14 print('函数内部的list使用append方法修改',list) 15 demo(list) 16 print('函数外部的最终list的值',list) 17 """ 18 函数外部定义的可变类型,不可变类型,函数内部使用赋值'='语句修改时,对外部数据没有影响 19 但是函数内部使用方法修改时候,会影响外部数据 20 21 *** 22 最终输出-函数内部的list使用append方法修改 [1, 2, 3, 9] 23 最终输出-函数外部的最终list的值 [1, 2, 3, 9] 24 ***注意,列表,字典在函数内部使用 +=(list+=list)时候,本质是调用extend方法,也就是说是调用方法,会造成函数外部数值的变化 25 26 27 """
浙公网安备 33010602011771号