——第0關(guān)—— 第0關(guān)我們學(xué)習(xí)了print函數(shù) print()函數(shù)由兩部分構(gòu)成:1. 指令:print;2. 指令的執(zhí)行對象:在print后面的括號里的內(nèi)容。 我們對電腦下指令——把括號里的內(nèi)容打印給我瞧瞧
另外我們還學(xué)習(xí)了換行 *單引號,雙引號、三引號 1)單引號‘ ‘和雙引號“ “:直接輸出 2)三引號‘‘’ ‘’‘:換行 *轉(zhuǎn)義字符 “換行”的轉(zhuǎn)義字符是\n *變量命名規(guī)范: 2、變量的命名規(guī)范 1.只能用一個(gè)詞 2.只能包含字母、下劃線和數(shù)字 3.不能以數(shù)字開頭 4.盡量描包含的內(nèi)容 轉(zhuǎn)義符號: 1、\n(換行) 例子:print('把我的幻影和夢\n放在狹長的貝殼里\n柳枝編成的船篷\n還旋繞著夏蟬的長鳴\n拉緊桅繩\n風(fēng)吹起晨霧的帆\n我開航了') 以下是拓展:(只做了解,不用掌握使用方法)
——第1關(guān)—— #第1關(guān):主要內(nèi)容是數(shù)據(jù)類型和數(shù)據(jù)拼接 數(shù)據(jù)類型分為;int,str,float 數(shù)據(jù)拼接需要數(shù)據(jù)類型一致(str) 需要注意的是:input默認(rèn)輸出為字符串,在后面與int做條件判斷的時(shí)候,需要先轉(zhuǎn)換數(shù)據(jù)類型為int(input());同時(shí)數(shù)字做數(shù)據(jù)拼接時(shí),需要使用str(number) ——第2關(guān)—— 第2關(guān):主要內(nèi)容是單向判斷,雙向判斷,多項(xiàng)判斷 條件語句可以參考:https://www.runoob.com/python/python-if-statement.html 單向判斷為:if 雙方判斷為:if……else 多項(xiàng)判斷為:if……elif ……elif……else 需要注意的是: if……if……if與if……elif……elif的區(qū)別: if……if是不管前一個(gè)測試是否通過,都會重新進(jìn)行一個(gè)判斷,第二個(gè)if判斷范圍可能包括第一個(gè)if if……elif……elif......else是后面的判斷范圍不包括前面的判斷范圍 比如:
像這樣的,if 會單獨(dú)進(jìn)行判斷,不會說上一個(gè)判斷了,下一個(gè)就不判斷 條件的判斷: and 和 or的使用, and,表示且,滿足a且滿足b條件,則為True,進(jìn)入下一步; or,表示或,表示滿足a或者滿足b,則為True,進(jìn)入下一步: 這里有些同學(xué)有不恰當(dāng)使用and的栗子喲~ 比如: #知識點(diǎn):條件and和or name=input('請給小狗起個(gè)名字:') if name == '小狗' and name =='汪汪': #正確應(yīng)為if name == '小狗' or name =='汪汪': #or表示兩個(gè)條件滿足一個(gè),就執(zhí)行下一步 #and表示兩個(gè)條件同時(shí)滿足,才進(jìn)行下一步 ——第3關(guān)—— #第三關(guān)的重點(diǎn)是input函數(shù),也就是輸入。 1)a=input(),把輸入的值給變量; 2)input是輸入,print是打印,兩個(gè)是不一樣的喲。 舉個(gè)栗子?? ——第4關(guān)—— 列表 #列表:[], 元素:包容多種數(shù)據(jù)類型,列表是有序的。 #列表切片,使用:符號 注意:列表切片得到的還是一個(gè)列表哦 list2 = [5,6,7,8,9] print(list2[:]) #輸出結(jié)果為[5,6,7,8,9],冒號:表示取全部元素 print(list2[2:]) #這里是從偏移量為2的元素算起(左?。疤枺罕硎救『竺嫠?,所以對應(yīng)輸出的為[7,8,9] print(list2[:2]) #這里是到偏移量為2的元素(右不取),冒號:表示取前面所有,所以對應(yīng)輸出為[5,6] print(list2[1:3]) #這里對應(yīng)的為偏移量1的元素(左取)到偏移量為3的元素(右不?。?,所以輸出對應(yīng)為[6,7] print(list2[2:4]) #這里對應(yīng)的為偏移量2的元素(左取)到偏移量為4的元素(右不?。暂敵鰧?yīng)為[7,8] #增加或刪除元素 #增加元素,使用append函數(shù),格式是列表名.append( ):該方法沒有返回值,但會在已存在的列表中添加新的內(nèi)容。 a = [1,2,3] b = [4,5,6] b.append(a) print(b) #輸出:[4, 5, 6, [1, 2, 3]] 【拓展】extend函數(shù) 兩個(gè)列表合并:extend函數(shù) extend() 函數(shù)用于在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表)。 extend()方法語法: list1.extend(list2) 該方法沒有返回值,但會在已存在的列表中添加新的列表內(nèi)容。 Python-append和extend函數(shù):https://blog.csdn.net/gaoyueace/article/details/78731636 兩個(gè)列表合并也可以用:list1+list2這樣的方法合并 #刪除元素 方法一:使用del函數(shù),格式是del 列表名[元素的索引(偏移量)]),可刪除任何位置的列表元素 a=[5,6,7,8] del a[3] print(a) #輸出:[5, 6, 7] 方法二:使用pop函數(shù),將元素從列表刪除,并接著使用他的值 a=[5,6,7,8] a1=a.pop(3) print(a1) #輸出:8 【拓展】列表相關(guān)函數(shù) sort和sorted函數(shù)排序:區(qū)別在于sort為永久性,sorted為臨時(shí)性 詳情請查看鏈接:https://blog.csdn.net/guoyang768/article/details/84428171 字典 #字典:數(shù)據(jù)存在一一對應(yīng)情況;{};鍵具備唯一性,而值可重復(fù),字典是無序的 #新增鍵值對要用到賦值語句:字典名[鍵] = 值 dic={['卡西':180,'Lin':190} dic['班助']=220 print(dic) #輸出結(jié)果為:{'卡西': 180, 'Lin': 190, '班助': 220} #字典增加或刪除元素 dic={'卡西':180,'Lin':190} del dic['Lin'] print(dic) #輸出:{'卡西': 180} 【拓展】items() #方法items()方法:字典里面提取key和value(鍵和值)的方法 items()函數(shù)的用法:https://blog.csdn.net/u011475210/article/details/77770145 A={'綠色':1,'紅色':2,'黃色':3} for key,value in A.items(): print(key) #輸出綠色,紅色,黃色 print(value) #輸出1,2,3 #字典使用keys(方法):字典提取鍵 A={'綠色':1,'紅色':2,'黃色':3} for key in A.keys(): print(key) #輸出:綠色,紅色,黃色 #字典使用values方法:字典提取值 A={'綠色':1,'紅色':2,'黃色':3} for value in A.values(): print(value) #輸出1,2,3
#習(xí)題講解 list1 = [{'嫉妒':'envy'},{'恨':'hatred'},{'愛':'love'}] print(list1[2]['愛'])
# 第一步:取出列表中的第三個(gè)元素(list1[2]),字典{'愛':'love'}; # 第二步:取出list1[2]中鍵'愛'所對應(yīng)的值,即'love’(list1[2]['愛'])。
dict1 = {1:['cake','scone','puff'],2:['London','Bristol','Bath'],3:['love','hatred','envy']} print(dict1[3][0])
# 第一步:取出字典中鍵為3對應(yīng)的值(dict1[3]),即['love','hatred','envy']。 # 第二步:再取出列表['love','hatred','envy']中的第一個(gè)元素(dict1[3][0])。
tuple1 = ('A','B') list2 = [('A','B'),('C','D'),('E','F')]
print(tuple1[0]) print(list2[1][1])
# 從代碼里,也可看出:1.元組內(nèi)數(shù)據(jù)的提取也是用偏移量;2.元組也支持互相嵌套。 townee = [ {'海底王國':['小美人魚''海之王''小美人魚的祖母''五位姐姐'],'上層世界':['王子','鄰國公主']}, '丑小鴨','堅(jiān)定的錫兵','睡美人','青蛙王子', [{'主角':'小紅帽','配角1':'外婆','配角2':'獵人'},{'反面角色':'狼'}] ] print(townee[5][1]['反面角色']) #不清楚的時(shí)候,我們可以用print去嘗試 #首先townee是一個(gè)列表,最外面的[]得知 #其次為列表內(nèi)嵌套了字典和列表,我們分層應(yīng)該為: townee = [ {'海底王國':['小美人魚''海之王''小美人魚的祖母''五位姐姐'],'上層世界':['王子','鄰國公主']}, #偏移量為0 '丑小鴨', #偏移量為1 '堅(jiān)定的錫兵', #偏移量為2 '睡美人', #偏移量為3 '青蛙王子', #偏移量為4 [{'主角':'小紅帽','配角1':'外婆','配角2':'獵人'},{'反面角色':'狼'}] #偏移量為5 ] #print(townee[5]),輸出結(jié)果為[{'主角':'小紅帽','配角1':'外婆','配角2':'獵人'},{'反面角色':'狼'}] #分層為: [{'主角':'小紅帽','配角1':'外婆','配角2':'獵人'},#偏移量為0 {'反面角色':'狼'}] #偏移量為1 #print(townee[5][1]),輸出結(jié)果為{'反面角色':'狼'} #最后就是字典的提取值的方法啦 ——第5關(guān)—— for和while循環(huán) #循環(huán):把一件事執(zhí)行很多遍 #一般由兩種語句,1)for...in...循環(huán)語句;2)另一種是while循環(huán)語句 for循環(huán)
常見用法如下: #1)for in循環(huán)與列表 for i in [1,2]: print(i) #遍歷列表,所以這里的i為依次遍歷的列表元素喲
#2)for in循環(huán)與字典 dict = {'日本':'東京','英國':'倫敦','法國':'巴黎'} for i in dict: print(i) #遍歷字典,這里的i為字典的鍵 print(dict[i]) #dict[i]為字典的值的提取方式,所以這里打印為的字典的值
#3)for i循環(huán)與字符串 #注意這里不可以為浮點(diǎn)或整數(shù) for i in '吳承恩': print(i) #這里的i是字符串里的每一個(gè)字 #4).for和range函數(shù)搭配 # 使用range(x)函數(shù),就可以生成一個(gè)從0到x-1的整數(shù)序列,類似[a,b) #for i in range(0,10,3):,生成從1,10,間隔為3的序列 for i in range(0,10,3) print(i) #所以這里的i輸出為0,3,6,9 while循環(huán) 一般格式為 n=某個(gè)值 while 條件: 執(zhí)行語句
python的 for、while循環(huán)、嵌套循環(huán) https://blog.csdn.net/lqian1993/article/details/80114486
#習(xí)題講解 方法一: man = '' # 注:''代表空字符串,作用是個(gè)變量定義 while man != '有': #注:!=代表不等于 #也就是空字符不等于有,所以滿足條件,進(jìn)入循環(huán),開始input輸入 ? man = input('有沒有愿意為小龍女死的男人?沒有的話就不能出古墓。') print('小龍女可以出古墓門下山啦~')
#方法二: man = '沒有' # 注:''代表空字符串 while man == '沒有': #注:!=代表不等于 #進(jìn)入循環(huán),需要滿足條件,所以最開始的定義,給了'沒有' #滿足條件進(jìn)入循環(huán) ? man = input('有沒有愿意為小龍女死的男人?沒有的話就不能出古墓。') print('小龍女可以出古墓門下山啦~') 這個(gè)很多同學(xué)都會混淆數(shù)據(jù)類型,一定要記住,input函數(shù)返回的是字符串類型哦! password = '' # 變量password用來保存輸入的密碼 while password != '816': password = input('請嘗試輸入密碼:') #因?yàn)閜assword賦值為input時(shí),input默認(rèn)輸出為字符串類型,所以上面條件需要加引號 print('歡迎回家!') 當(dāng)我們【工作量確定】的時(shí)候,我們就可以讓for循環(huán)來完成重復(fù)性工作。 反之,要【工作量不確定時(shí)】可以讓while循環(huán)來工作。
#課后習(xí)題 #方法一:使用for循環(huán)和pop函數(shù) students = ['小明','小紅','小剛'] for i in range(3): student1 = students.pop(0) # 運(yùn)用pop()函數(shù),將偏移量為0的元素賦值給變量student1,也就是,把第一個(gè)座位的同學(xué)提取出來。同時(shí)更新了列表 students.append(student1) #append函數(shù),將元素添加到列表尾,將移除的student1安排到最后一個(gè)座位。 print(students) #打印列表 #方法二:使用while循環(huán)和pop函數(shù) students = ['小明','小紅','小剛'] i=0 while i<3: i=i+1 student1 = students.pop(0) # 運(yùn)用pop()函數(shù),同時(shí)完成提取和刪除。 students.append(student1) # 將移除的student1安排到最后一個(gè)座位。 print(students) ##方法三:for循環(huán)和切片 students = ['小明','小紅','小剛'] for i in range(3): student1 = students[0] students = students[1:] students.append(student1) print(students) #方法四:while循環(huán)和切片 students = ['小明','小紅','小剛'] i=0 while i<3: i=i+1 student1 = students[0] students = students[1:] students.append(student1) print(students) ——第6關(guān)—— 布爾值和四種語句 #第6關(guān)的主要內(nèi)容為:布爾值和四種語句 #布爾值:True和False(一般條件為True則繼續(xù)循環(huán),條件為False則結(jié)束循環(huán)) 布爾值的其他情況
#四種語句 break語句,用法如下
舉個(gè)栗子 i = 0 #給i賦值,定義變量 while i<5: #循環(huán)條件,當(dāng)滿足i小于5時(shí),持續(xù)循環(huán) print('明日復(fù)明日') #滿足條件則進(jìn)行下一步 i = i+1 #更新i的值,以便打破循環(huán)條件 if i==3: # 當(dāng)i等于3的時(shí)候觸發(fā) break # 結(jié)束循環(huán) continue語句:當(dāng)某個(gè)條件被滿足的時(shí)候,觸發(fā)continue語句,將跳過之后的代碼,直接回到循環(huán)的開始。用法如下:
pass語句:跳過,后面什么都不執(zhí)行 else不但可以和if配合使用,它還能跟for循環(huán)和while循環(huán)配合使用
#習(xí)題講解 囚徒困境的練習(xí),同學(xué)們可以分層來實(shí)現(xiàn)功能,首先是輸入回答,所以用input,然后根據(jù)回答來判刑,所以要用判斷,需要尋循環(huán)問一直到得到最佳答復(fù),所以用循環(huán) n = 0 #list_answer = {} list=[] #定義空列表 while True: n += 1 a = input('A,你認(rèn)罪嗎?請回答認(rèn)罪或者不認(rèn):') b = input('B,你認(rèn)罪嗎?請回答認(rèn)罪或者不認(rèn):') #list_answer[n]=[a,b] #字典增加鍵和鍵值的方法 list.append([a,b]) #列表增加元素的方法 if a == '認(rèn)罪' and b == '認(rèn)罪': #對囚犯的選擇進(jìn)行判斷,打印對應(yīng)的刑罰 print('兩人都得判10年,唉') elif a == '不認(rèn)' and b == '認(rèn)罪': print('A判20年,B判1年,唉') elif a == '認(rèn)罪' and b == '不認(rèn)': print('A判1年,B判20年') else: print('都判3年,太棒了') break #print(list_answer) #print('第' + str(n) + '對實(shí)驗(yàn)者選了最優(yōu)解。')
for i in range(n): #for i in range(n),是取出0到n-1的序列 print('第' + str(i+1) + '對實(shí)驗(yàn)者的選擇是:' + str(list[i])) #這里的list_answer[i]根據(jù)偏移量提取列表元素,i是for i in range(n)中i的取值 #print('第' + str(i+1) + '對實(shí)驗(yàn)者的最優(yōu)選擇是:' + str(list[i])) #因?yàn)榍敉嚼Ь常ú┺恼撝R),的最優(yōu)選擇為【不認(rèn),不認(rèn)】,所以輸出列表的最后一次選擇就可以 ——第7關(guān)—— 本節(jié)課利用到的模塊 import random:隨機(jī) 本節(jié)課利用到它的一個(gè)小功能,隨機(jī)整數(shù),比如random.randint(取數(shù)區(qū)間),會隨機(jī)取整 import time: time sleep(間隔時(shí)間/秒),print消息之間的間隔時(shí)間 游戲的基本邏輯 ①兩個(gè)人打架,每個(gè)人有兩個(gè)屬性,攻擊跟血量 第一步生成這四個(gè)屬性,編程里就是定義四個(gè)變量: 隨便叫什么都可以,a 或者 b ,c,d;為了方便區(qū)分我們可以寫a1,a2,b1,b2 數(shù)值怎么取呢,利用剛才的隨機(jī)模塊的功能,不要問為什么,直接記住寫這個(gè)函數(shù)就可以, 這就像我們生活中的工具,你要擰螺絲,就會想到用螺絲刀一樣~慢慢熟悉! ②開始決斗 怎么決斗,血量減去敵人的攻擊力,每一輪都是一人打一下
一方血量小于0他就死啦~!我們只要記住公式: 最新生命 = 生命 - 敵人攻擊 (不斷給生命這個(gè)變量賦值) 怎 么 辦? 重復(fù)出現(xiàn)相同的代碼:用 循環(huán)?。?! 不知道什么循環(huán)次數(shù): 用 while 循環(huán)結(jié)束的條件:有一個(gè)人的生命小于0,游戲結(jié)束! 為了讓游戲顯示結(jié)果,需要用if else條件判斷,根據(jù)不 同情況,顯示不同內(nèi)容。 這是一場游戲的代碼 如果我們要進(jìn)行三場游戲,把上面的結(jié)構(gòu)循環(huán)三次就好啦! 利用for in range(3)循環(huán)三次。 添加三局兩勝的計(jì)數(shù)功能: 在每次游戲內(nèi)容判斷結(jié)果的時(shí)候設(shè)置一個(gè)變量,贏了加1 最后比較大小就可以啦 游戲過程: #隨機(jī)展示敵我雙方角色,生命值和攻擊值(需要注意導(dǎo)入模塊和定義變量)
#展示攻擊過程
#開始判斷敵我雙方的勝利 #將一局判斷循環(huán)3遍,達(dá)到三局兩勝的情況,同時(shí)引入變量,開始積分(類似籃球賽)
引入player_victory記錄分?jǐn)?shù),如果我方勝利,則+1分;如果敵方勝利,則我們-1分;否則平局不扣分,通過最后的分值是否為正,統(tǒng)計(jì)PK結(jié)果 #是否繼續(xù)游戲
*break這樣縮進(jìn)沒有問題,你可以試試哦 新的“格式化字符串”的方法:format()函數(shù) Python format 格式化函數(shù):https://www.runoob.com/python/att-string-format.html # % 格式化:str % () print('%s%d'%('數(shù)字:',0)) print('%d,%d'%(0,1)) print('%d,%d,%d'%(0,1,0))
name1 = 'Python' print('I am learning %s'% name1) # 注:當(dāng)只跟一個(gè)數(shù)據(jù)時(shí),%后可不加括號,format()一定要有。 #輸出: 數(shù)字:0 0,1 0,1,0 I am learning Python輸出 # format()格式化函數(shù):str.format() print('\n{}{}'.format('數(shù)字:',0)) # 優(yōu)勢1:不用擔(dān)心用錯(cuò)類型碼。 print('{},{}'.format(0,1)) # 不設(shè)置指定位置時(shí),默認(rèn)按順序?qū)?yīng)。 print('{1},{0}'.format(7,8)) # 優(yōu)勢2:當(dāng)設(shè)置指定位置時(shí),按指定的對應(yīng)。 print('{0},{1},{0}'.format(5,6)) # 優(yōu)勢3:可多次調(diào)用format后的數(shù)據(jù)。
name2 = 'Python基礎(chǔ)語法' print('我正在學(xué){}'.format(name2)) # format()函數(shù)也接受通過參數(shù)傳入數(shù)據(jù)。 #輸出: 數(shù)字:0 0,1 8,7 5,6,5 我正在學(xué)Python基礎(chǔ)語法 ——第8關(guān)—— 第8關(guān)我們主要是了解一個(gè)學(xué)習(xí)方法
這里同學(xué)們要自己好好應(yīng)用這些方法,去做好筆記。好記性不如爛筆頭,自己梳理筆記,學(xué)習(xí)效果更好哦! 這里面有幾個(gè)比較零散的知識點(diǎn),助教說一下 #### 首先是print函數(shù)的換行原理: 其實(shí)print函數(shù)后面都會默認(rèn)有一個(gè)end=‘\n’ 也就是轉(zhuǎn)義字符換行的意思,如果我們不希望print函數(shù)換行那么手動注明,end=‘’ #### 這樣print函數(shù)就不會換行~其次是課后題里涉及到合并列表,跟列表排序 #### 這里面有兩個(gè)列表的函數(shù),一個(gè)是extend,一個(gè)是sort #### extend函數(shù)是給列表合并,這里需要注意的是這個(gè)函數(shù)也沒有返回值不能夠賦值 sort和sorted函數(shù)排序:區(qū)別在于sort為永久性,sorted為臨時(shí)性 詳情請查看鏈接:https://blog.csdn.net/guoyang768/article/details/84428171 ——第9關(guān)—— 第9關(guān)我們學(xué)習(xí)了函數(shù) 函數(shù):Python3 函數(shù):https://www.runoob.com/python3/python3-function.html 什么是函數(shù)呢?
下面來講講怎樣定義和調(diào)用函數(shù) 定義和調(diào)用函數(shù) 首先我們要定義函數(shù),怎么定義函數(shù)呢? 定義函數(shù)
比如:
第1行:def的意思是定義(define),greet是【函數(shù)名】(自己取的),再搭配一個(gè)括號和冒號,括號里面的name是參數(shù)(參數(shù)名也是自己?。?。 第2行:def下一行開始縮進(jìn)的代碼是函數(shù)要實(shí)現(xiàn)的功能,也叫【函數(shù)體】。這里的函數(shù)體展現(xiàn)出的功能就是:打印出“name+ 早上好”這句話。 第3行:一個(gè)簡單的return。函數(shù)內(nèi)部一旦遇到return語句,就會停止執(zhí)行并返回結(jié)果。
?。?!定義函數(shù)只是將函數(shù)的內(nèi)部功能封裝起來(組織好),運(yùn)行不會輸出任何內(nèi)容?。。?/span> 定義完函數(shù)之后,還需要調(diào)用才會執(zhí)行函數(shù)內(nèi)的語句~下面來講講怎么調(diào)用函數(shù)! 調(diào)用函數(shù) 怎么調(diào)用函數(shù)呢?在Python里,就是輸入函數(shù)名和參數(shù)對應(yīng)的值: def 助教(name): print('我最喜愛的助教是'+name) 助教('卡西') #調(diào)用函數(shù),輸入函數(shù)名助教()并輸入?yún)?shù)'卡西' 助教('七七') #調(diào)用函數(shù),輸入函數(shù)名助教()并輸入?yún)?shù)'七七' 助教('延君') #調(diào)用函數(shù),輸入函數(shù)名助教()并輸入?yún)?shù)'延君' 調(diào)用函數(shù)最關(guān)鍵的是:得弄清楚這個(gè)函數(shù)有多少個(gè)參數(shù),如何給參數(shù)賦值,這個(gè)過程在函數(shù)里叫做參數(shù)的傳遞(傳參)。 有多少個(gè)參數(shù)(沒有默認(rèn)值)就要傳多少個(gè)參數(shù)的值進(jìn)去。 接下來講一下函數(shù)的一些概念:參數(shù)、變量、return 函數(shù)重要概念 參數(shù)類型 主要的參數(shù)類型有:位置參數(shù)、默認(rèn)參數(shù)、不定長參數(shù)。 【位置參數(shù)、默認(rèn)參數(shù)】
參數(shù)可以替換! 【不定長參數(shù)】 不限定死數(shù)量,這時(shí)候【不定長參數(shù)】就能派上用場,即不確定傳遞參數(shù)的數(shù)量。 它的格式比較特殊,是一個(gè)星號*加上參數(shù)名
!??!默認(rèn)參數(shù)也需要放在不定長參數(shù)的后面,即dessert=’綠豆沙'要放在*barbeque后面,否則傳遞的值會對應(yīng)不上?。。?/strong>
1、加了一個(gè)星號 * 的參數(shù)會以元組(tuple)的形式導(dǎo)入,存放所有未命名的變量參數(shù)。 如果在函數(shù)調(diào)用時(shí)沒有指定參數(shù),它就是一個(gè)空元組。我們也可以不向函數(shù)傳遞未命名的變量。 ('烤雞翅', '烤茄子', '烤玉米'),這種數(shù)據(jù)類型叫做元組(tuple) 元組的寫法是把數(shù)據(jù)放在小括號()中,它的用法和列表用法類似,主要區(qū)別在于列表中的元素可以隨時(shí)修改,但元組中的元素不可更改。 2、加了兩個(gè)星號 ** 的參數(shù)會以字典的形式導(dǎo)入。 詳情可以點(diǎn)擊鏈接了解:https://blog.csdn.net/weixin_38280090/article/details/85623286 return語句 return [表達(dá)式] 語句用于退出函數(shù),選擇性地向調(diào)用方返回一個(gè)表達(dá)式。不帶參數(shù)值的return語句返回None。
如:
#最終輸出是“嗯,人生才剛剛開始” main()函數(shù)內(nèi)部分別調(diào)用了face()和body()函數(shù),參數(shù)dream_face和dream_body傳遞給了face()和body()函數(shù)的參數(shù)name,得到返回值,并打印。
Python語言中的函數(shù)返回值可以是多個(gè),而其他語言都不行,這是Python相比其他語言的簡便和靈活之處。一次接受多個(gè)返回值的數(shù)據(jù)類型就是元組。
而元組與列表其實(shí)都是數(shù)據(jù)的“序列”,元組取某個(gè)位置的值的操作,與列表偏移量是一模一樣的,即tuple[]
再來講一下變量 變量作用域 第一點(diǎn):在一個(gè)函數(shù)內(nèi)定義的變量僅能在函數(shù)內(nèi)部使用(局部作用域),它們被稱作【局部變量】。 第二點(diǎn):在所有函數(shù)之外賦值的變量,可以在程序的任何位置使用(全局作用域),它們叫【全局變量】。
?。。∪肿饔糜蛑械拇a中也不能使用任何局部變量?。?! 建議局部變量和全局變量【不要】取相同的名字,以免混淆。 當(dāng)變量在函數(shù)內(nèi)時(shí),就是局部變量,只能在這個(gè)函數(shù)內(nèi)被訪問; 當(dāng)變量在函數(shù)外時(shí),就是全局變量,可以在程序中的任何位置被訪問
也可以用global語句將變量聲明為全局變量?。?!【用global聲明了全局變量,就可以在局部里面修改這個(gè)變量的值】 #課后練習(xí) 定義兩個(gè)函數(shù):第一個(gè)函數(shù)功能為根據(jù)工作月數(shù)返回獎(jiǎng)金額,第二個(gè)函數(shù)功能為打印出'該員工來了XX個(gè)月,獲得獎(jiǎng)金XXX元'。 發(fā)放獎(jiǎng)金的要求如下: 工作時(shí)長不滿六個(gè)月,發(fā)放固定獎(jiǎng)金500元。 工作時(shí)長在六個(gè)月和一年之間(含一年),發(fā)放獎(jiǎng)金120元*月數(shù)(如8個(gè)月為960元) 工作時(shí)長在一年以上,發(fā)放獎(jiǎng)金180元*月數(shù) (如20個(gè)月為3600元) def bonus(month): #定義一個(gè)函數(shù) if month < 6: money = 500 return money #返回 money這個(gè)值 elif 6 <= month <= 12: money = 120 * month return money else: money = 180 * month return money #這里3個(gè)判斷也可以不用每一個(gè)判斷內(nèi)返回money這個(gè)值,只需要在最后一個(gè)判斷后面返回一次即可,效果是一樣的 def info(name, month): #定義另一個(gè)函數(shù) gain = bonus(month) #儲存返回值money,并且是調(diào)用了函數(shù)bonus() print('%s來了%s個(gè)月,獲得獎(jiǎng)金%s元' % (name, month, gain))
info('大聰',14) #調(diào)用函數(shù)
|