Python的函數(二)
一、函數相關概念
1.全局變量:在函數外,上方定義的變量就是全局變量
2.局部變量:在函數裏定義的,出了函數後就不能使用了,如果想在函數裏修改全局變量的值,則需要在函數裏變量前加關鍵字global,但是字典跟list這個可變變量,不需要用
global來聲明,直接就可以改了。
3.參數的幾個例子:
a.可變參數,參數組-元組形式:
def send_mail(*args):
print(args)
send_mail(‘[email protected]‘,‘[email protected]‘,‘[email protected]‘)
b.可變參數,參數組-字典形式:
def send_mail(**kwargs):
print(kwargs)
send_mail(k1=‘v1‘,k2=‘v2‘)
二、函數的遞歸
1.函數自己調用自己,最多循環999次
2.用遞歸的話,必須得有一個明確的結束條件
3.例子:
def my2():
num = input(‘輸入一個數字:‘)
num = int(num)
if num%2 !=0:
print(‘請輸入偶數‘)
return my2()
my2()
三、列表推導式、列表生成式
1.例子:
import random
res = [26, 7, 18, 27, 32, 28]
for i in range(len(res)):
res[i] = str(res[i]).zfill(2)
#列表推導式,列表生成式
res1 = [ str(i).zfill(2) for i in res]--等同於上面的for循環
print(res1)
res2 = [ i+10 for i in res ]
print(res2)
hh = [ i for i in range(0,1001,2)]
print(hh)
四、內置函數
1.max(range(1,28)) --最大值,運行結果:27
2.min(range(28)) --最小值,運行結果:0
3.sum(range(1,101)) --求和,運行結果:5050
4.res = sorted([2,3,1,2,3],reverse=True) --排序,加上reverse=True就是降序排列了
5.res = eval(‘1+1‘) --eval,執行python代碼,只能執行簡單的python代碼
6.f = open(‘code‘,encoding=‘utf-8‘) code = f.read() exec(code) ---exec,可執行在文件裏的python代碼
7.sql = ‘insert into my_user value ({id},{name},{addr},{sex},{phone}) ‘
sql.format(name=‘aaa‘,addr=‘sdfsfd‘,sex=‘xxx‘,id=11) --format函數是格式化字符串的函數
8. for index,s in enumerate(stus): print(index,s) --enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中,返回 enumerate(枚舉) 對象,如果下標起始位置寫為1,就返回的是從序號1開始枚舉對象。
9.for name,se,ag in zip(stus,sex,age):print(name,se,ag) --多個list壓縮到一起
Python的函數(二)