08-for循環(huán)、函數(shù)及參數(shù)

循環(huán)

for...in...循環(huán)

語法:for 變量 in 容器: for循環(huán)也可以稱之為遍歷

str = "這周末母親節(jié)別再問你媽需要什么了,她可能需要的是像我這樣的女婿"
for var in str:
    print(var)

# for循環(huán)列表
list1 = ["魯智深","孫悟空","唐僧","沙和尚","八戒"]
for var in list1:
    print(var)

# for循環(huán)元組
tuple1 = ("魯智深","孫悟空","唐僧","沙和尚","八戒")
for var in tuple1:
    print(var)

# for循環(huán)集合
set1 = {"魯智深","孫悟空","唐僧","沙和尚","八戒"}
for var in tuple1:
    print(var)

# for循環(huán)字典
dict = {"斗戰(zhàn)勝佛":"孫悟空","凈壇使者":"八戒","金身羅漢":"沙和尚","功德佛":"唐僧"}
for key in dict:
    print(key)

for value in dict:
    print(dict[value])

for value in dict.values():
    print(value)

for key,value in dict.items():
    print(key,value)

# 二級嵌套的循環(huán)
list1 = [
    ["a","b","c"],
    ["1","2","3"],
    ["A","B","C"]
        ]
for a,b,c in list1:
    print(a,b,c)


tuple1 = (
    ("a","b","c"),
    ("1","2","3"),
    ("A","B","C")
        )
for a,b,c in tuple1:
    print(a)
    
for var in tuple1:
    print(var)

for var in range(100):
    if var == 33:
        pass
    elif var == 55:
        pass
    elif var == 77:
        pass
    else:
        print(var)

函數(shù)

語法

def 函數(shù)名(參數(shù)1,參數(shù)2逞力,參數(shù)3...參數(shù)n):

? 功能語句

? return 表達式

函數(shù)名(參數(shù)1,參數(shù)2糠爬,參數(shù)3...參數(shù)n)

  • def 這個是定義函數(shù)的關(guān)鍵字寇荧,當Python檢測到你的代碼里邊有def這三個字母,那么Python就認為你要定義函數(shù)
  • 函數(shù)名:要遵循變量的定義規(guī)則
  • ():括號是用來傳遞參數(shù)的秩铆,括號內(nèi)的參數(shù)必須用逗號分開砚亭,在定義函數(shù)的時候傳遞的參數(shù)叫做形式參數(shù)(形參),調(diào)用函數(shù)時傳遞的參數(shù)是實際參數(shù)(實參)
  • 功能語句:需要函數(shù)打包的功能
  • return:返回值殴玛,返回給函數(shù)調(diào)用者的值捅膘,如果沒有返回值,函數(shù)無意義
  • 表達式:返回給函數(shù)調(diào)用者的信息滚粟, 表達式可以為空寻仗,如果為空,默認返回一個None
  • 函數(shù)調(diào)用:函數(shù)名()凡壤,注意:括號不要丟掉署尤,不帶括號表示函數(shù)對象
def name():
    print("周瑜打黃蓋,看誰跑得快亚侠!") 
name()

# 函數(shù)的執(zhí)行順序曹体,當不調(diào)用函數(shù)時不會執(zhí)行,當調(diào)用時按內(nèi)部代碼順序執(zhí)行
def foo():
    m = 1
    def foo1():
        m = 2
        print(m)
    print(m)
    foo1()
    print(m)
foo()

def mut99():
    #打印九九乘法表
    i = 1
    while i < 10:
        j = 1
        while j <= i:
            print("%sx%s=%s"%(i,j,i*j),end=" ")
            j += 1
        print()
        i += 1
# 調(diào)用函數(shù)
mut99()

# 我們在定義函數(shù)的時候傳遞的參數(shù)叫做形參
def name(user):
    print("hello ",user)
name("jack")
# 在調(diào)用函數(shù)的時候傳遞的參數(shù)叫做實參
name("rose")
  • 多個參數(shù):
    • 位置參數(shù):我們傳遞的實參是和形參一一對應(yīng)關(guān)系
    • 關(guān)鍵字參數(shù):我們傳遞的實參如果和形參順序不一致硝烂,那么我們的實參需要添加關(guān)鍵字來調(diào)整形參的值的順序
    • 默認值參數(shù):我們在定義函數(shù)的時候可以給形參一個默認值箕别,但是,默認值參數(shù)必須放到參數(shù)列表的最后,如果帶默認值的參數(shù)在函數(shù)調(diào)用的時候又一次被賦值串稀,那么就會覆蓋掉默認值參數(shù)的值
def name(f_name, l_name="rose"):
    print(f_name + " " + l_name)
name("ada")

def operation(a,b,c,d):
    sum1 = a+b+c+d
    return sum1
op = operation(1,2,3,4)
print(op)

全局變量和局部變量

  • global 關(guān)鍵字
    • global 關(guān)鍵字后面的變量會被提升為全局變量
    • 函數(shù)內(nèi)的局部變量無法在函數(shù)外單獨調(diào)用
A = "我是全局變量A"
def name():
    global B
    B = "我是局部變量B"
    print(A)
    print(B)
name()
print(A)
print(B)

A = "我是全局變量A"
def name():
    A = "我是局部變量A"
    print(A)
name()

不定長參數(shù)

  • 普通參數(shù):
    • 可以接收關(guān)鍵字
    • 順序是一一對應(yīng)的
    • 帶默認值的參數(shù)要放到最后
def operation(a,b,c,d,e):
    sum1 = a + b + c + d + e
    return sum1
op = operation(1,2,3,4,5)
print(op)
  • 不定長參數(shù):
    • 可以接收多個沒人接收的參數(shù)
    • 不能接收關(guān)鍵字參數(shù)
    • 以元組的形式接收
# 不定長參數(shù)(參數(shù)收集)
def operation(*args):
    sum1 = 0
    for var in args:
        sum1 += var
    return sum1
op = operation(1,2,3,4,5,6,7,8,9)
print(op)

# *args   垃圾回收站  不能接收關(guān)鍵字參數(shù)
# def operation(a,b,c,d,*args):
#     print(a)
#     print(b)
#     print(c)
#     print(d)
#     print(args)
# operation(1,2,3,4,5,6,7,8,9)
  • 不定長關(guān)鍵字參數(shù):
    • 可以接受關(guān)鍵字參數(shù)除抛,以字典的形式接收
    • 注意:三種參數(shù)盡量避免一起使用
# 接收不定長關(guān)鍵字參數(shù)
def operation(**kwargs):
    print(kwargs)
operation(a=1,b=2,c=3)

# 傳遞參數(shù)順序:普通參數(shù),不定長參數(shù)母截,不定長關(guān)鍵字參數(shù)
def operation(A,B,C,D,*args,**kwargs):
    print(A,B,C,D)
    print(args)
    print(kwargs)
operation(1,2,3,4,5,6,7,a=1,b=2,c=3)

list1 = ["1","2","3","4","5"]
for i in list1:
    for j in list1:
        for k in list1:
            if i != j and i != k and j != k:
                print(i+j+k)

函數(shù)嵌套和閉包

  • 閉包:內(nèi)部函數(shù)使用外部函數(shù)的局部變量到忽,那么我們就稱內(nèi)部函數(shù)為閉包
  • 閉包就是調(diào)用一個函數(shù),它返回了另一個函數(shù)給你 那么返回的這個函數(shù)就叫做閉包
def outer(num):
    def inner(val):
        return num + val
    return inner
res = outer(10)  #outer(10) ===> inner   res = inner
result = res(10)   #res(10) == inner(10)
print(result)

# 閉包引用外部函數(shù)的局部變量的前提是:內(nèi)部沒有這個變量
def outer():
    a = [1]
    def inner():
        a[0] = a[0] + 1
        return a[0]
    return inner
res = outer()()  # outer() == inner    outer()() == inner()
print(res)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末清寇,一起剝皮案震驚了整個濱河市喘漏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌华烟,老刑警劉巖陷遮,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異垦江,居然都是意外死亡,警方通過查閱死者的電腦和手機搅方,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門比吭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人姨涡,你說我怎么就攤上這事衩藤。” “怎么了涛漂?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵赏表,是天一觀的道長。 經(jīng)常有香客問我匈仗,道長瓢剿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任悠轩,我火速辦了婚禮间狂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘火架。我一直安慰自己鉴象,他們只是感情好,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布何鸡。 她就那樣靜靜地躺著纺弊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪骡男。 梳的紋絲不亂的頭發(fā)上淆游,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機與錄音,去河邊找鬼稽犁。 笑死焰望,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的已亥。 我是一名探鬼主播熊赖,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼虑椎!你這毒婦竟也來了震鹉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤捆姜,失蹤者是張志新(化名)和其女友劉穎传趾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泥技,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡浆兰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了珊豹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片簸呈。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖店茶,靈堂內(nèi)的尸體忽然破棺而出蜕便,到底是詐尸還是另有隱情,我是刑警寧澤贩幻,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布轿腺,位于F島的核電站,受9級特大地震影響丛楚,放射性物質(zhì)發(fā)生泄漏族壳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一趣些、第九天 我趴在偏房一處隱蔽的房頂上張望决侈。 院中可真熱鬧,春花似錦喧务、人聲如沸赖歌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽庐冯。三九已至,卻和暖如春坎穿,著一層夾襖步出監(jiān)牢的瞬間展父,已是汗流浹背返劲。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留栖茉,地道東北人篮绿。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像吕漂,于是被迫代替她去往敵國和親亲配。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔惶凝,今天18年5月份再次想寫文章吼虎,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 2,752評論 2 9
  • 函數(shù)和對象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念苍鲜。通過函數(shù)可以封裝任意多條語句思灰,而且...
    道無虛閱讀 4,560評論 0 5
  • 每一對情侶都想在一條河流上航行的兩艘小舟。我們航行的長度和速度混滔,在什么位置停留和沉沒洒疚,我們自己都猶未可知,小舟在一...
    愛上蘇打水閱讀 224評論 0 0
  • 愛情,大多發(fā)生在少男少女之間——因為人成長后愿伴,到了社會上,經(jīng)過耳濡目染电湘,會現(xiàn)實很多隔节,最終,大部分人在二十剛出頭的時...
    錫安之光閱讀 348評論 0 0
  • 大一第一個寒假寂呛,為了省錢怎诫,跟著一大幫寧夏的老鄉(xiāng),從廈門一路輾轉(zhuǎn)3站回家贷痪。 途中在福州留宿一晚幻妓,另幾個女生合住一間屋...
    小努力粑粑閱讀 201評論 0 0