1. 程式人生 > >Python的函數(二)

Python的函數(二)

推導 -exec 遍歷 一起 相關 元組 返回 pen 列表

一、函數相關概念

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的函數(二)