Python7--局部變量、全局變量、缺省參數、不定長參數、遞歸
局部變量:
函數內部定義的變量,只能在函數內部使用
全局變量:
函數外部定義的變量,在哪都可以調用
1
'''
2
def get_wendu():
3
wendu = 33
4
return wendu
5
6
def print_wendu(wendu):
7
print('溫度:%d'%wendu)
8
9
result = get_wendu()#函數返回值,在沒有調用函數之前,用變量保存的話,沒有意義
10
print_wendu(result)
11
'''
12
13
#定義一個全局變量:wendu
14
wendu =
0
15 def
get_wendu():
16
#這個wendu只是與全局變量wendu同名,不可對全局變量進行修改
17
#wendu = 30
18
#使用global用來對全局變量的聲明
19
global wendu
20
wendu =
20
21
22 def
print_wendu():
23
print('溫度:%d'%wendu)
24
25
get_wendu()
26
print_wendu()
全局變量在函數內修改時應該先進行聲明(golbal),否則默認爲定義一個局部變量
缺省參數
#定義形參時,b給了默認的值,當不傳值時,使用默認值,這就是缺省參數,缺省參數,要放在最後
def test(a,d,b = 1,c = 2):
result = a+b
test(10,1,2,3)
test(20,12)
test(2,4,c=5)
不定長參數
1 def
sum_nums(a,b,*args):
#形參前加* ,不定長參數必須放在最後(以元組的方式保存)
2
print(a)
3
print(b)
4
print(args)
5
result = a+b
6
for num
in args:
7
result += num
8
print('和:%d'%result)
9
print('='*40)
10
11
sum_nums(12,13,14,15,16)
12
13
sum_nums(12,13,14)
14
15
sum_nums(12,13)
16
17
#sum_nums(12) #錯誤,形參中至少要有2個實參
18
19 def
test(a,b,c =
12,*args,**kwargs):
#形參前加** ,以字典方式保存
20
print(a)
21
print(b)
22
print(c)
23
print(args)
24
print(kwargs)
25
print('-'*50)
26
27
test(12,13,14,15,16,weight
= 17,age =
18,high =
19)
28
29
A = (1,2,3)
30
B = {'name':'jack','age':18}
31
test(12,13,14,A,B)
32
test(12,13,14,*A,**B)
#拆包
引用
查詢內存地址
In [1]:
a =
11
In [2]:
b = a
In [3]:
id(a)
Out[3]:
4297641408
In [4]:
id(b)
Out[4]:
4297641408
階乘
1
#階乘
2
i =
1
3
result =
1
4
5 while i<=5:
6
result *= i
7
i +=1
8
print(result)
9
10 def
jc(num):
11
# 加判斷限制函數,return返回值纔可以繼續乘下去
12
if num >1:
13
return num *jc(num-1)
14
else:
15
return num
16
result = jc(6)
17
print(result)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.