小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

山腳知識點(diǎn)復(fù)習(xí)

 cqukelly 2019-10-20

——第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è)變量賦值)

  • 因?yàn)橹淮蛞幌驴赡軙虿凰?/span>
  • 所以上面這句話會重復(fù)出現(xiàn)!

怎 么 辦?

重復(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ù)

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多