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