1 #定义函数 2 def 求平方(a,b): 3 '''求a,b的平方数''' 4 a = a**2 5 b = b**2 6 c = a + b 7 return c #执行函数返回c 8 print(求平方(3,5)) #打印34 9 10 #调用函数 11 #例子1: 12 x = 求平方(5,8) 13 print(x) #打印89 14 #列子2: 15 a = 5 16 b = 9 17 x = 求平方(a,b) 18 print(x) #打印106 19 20 #函数文档 21 #列子1: 22 x = max(1,4,15,8) #取列表最大值 23 print(x) #打印15 24 help(max) #利用help()查看max的说明文档 25 26 #列子2: 27 def 求平方(a,b): 28 '''求a,b的平方数''' #为函数添加说明文档 29 a = a**2 30 b = b**2 31 c = a + b 32 return c #执行函数返回c 33 34 help(求平方) #查看函数的说明文档 35 36 #参数传递 37 38 #1基本传参 39 40 def 打印列表(a,b,c): 41 '''打印参数列表''' 42 print(a,b,c) 43 44 打印列表(1,3,5) #打印1,3,5 45 打印列表(5,3,1) #打印5,3,1 46 打印列表(3,5,1) #打印3,5,1 47 48 #2关键字传参: 49 打印列表(c = 5,b = 3,a = 1)#打印1,3,5 50 打印列表(1,c = 5,b =3)#打印1,3,5 51 #打印列表(c = 5,1,b =3)#程序报错,关键字传参第一位可以不定义 52 #3定义形参 53 def 列表(a,b,c=10): 54 return a + b + c 55 56 print(列表(3,2,1))#参数c取传人的1,结果打印6 57 print(列表(3,2))#参数c取默认值10.结果打印15 58 59 #包裹传参 60 61 #包裹位置传参 62 #列子1: 63 def 包裹位置传参(*所有参数):#包裹位置传参必需在参数的元组名(*所有参数)前加*号 64 print(type(所有参数)) #打印类型 65 print(所有参数) 66 67 包裹位置传参(1,4,6) #输出为元组(1,4,6) 68 包裹位置传参(5,6,7,1,2,3) #输出为(5,6,7,1,2,3) 69 70 #包裹关键字传参 71 #列子2: 72 def 包裹关键字传参(**所有参数):#包裹关键字传参必需在参数的元组名(**所有参数)前加**号 73 print(type(所有参数)) #打印类型 74 print(所有参数) 75 76 包裹关键字传参(a = 1,b = 9) #输出为字典{'b':9,'a':1} 77 包裹关键字传参(m = 2,n = 1,c = 11)#输出为字典{'m':2,'c':11,'n':1} 78 79 #解包裹 80 def 包裹(a,b,c): 81 print(a,b,c) 82 #元组解包裹 83 元组 =(1,3,4) 84 包裹(*元组)#输出1 3 4函数参数*加变量,称为解包裹 85 #字典解包裹 86 字典 = {'a':1,'b':2,'c':3} 87 包裹(**字典) #打印字典的值 1,2,3 88 89 #递归 90 91 def 高斯求和(n): 92 if n == 1: #递归终止条件 93 return 1 94 else: 95 return n+高斯求和(n-1) 96 97 print(高斯求和(100)) #结果为5050 98 99 #变量的作用域 100 #列子1 101 def 列表(a,b): 102 c = a + b 103 return c 104 print(列表(2,3)) #结果为5,列表使用内部变量 105 106 #列子2 107 #定义2个相同变量名的字符串 108 def 调用外部变量(): 109 字符串 = ('你好,世界') 110 print(字符串) #结果为'你好,世界' 111 112 字符串 = ('嗨,调用全局变量我喽') 113 调用外部变量() 114 print(字符串) #结果为'嗨,调用全局变量我喽' 115 116 #参数调用外部变量 117 b = [1,2,3] 118 def 列表(b): 119 b[0] = b[0] + 5 120 return b[0] 121 122 print(列表(b))#打印6