最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【整整600集】頂級(jí)大學(xué)196小時(shí)講完的Python教程(數(shù)據(jù)分析)全程干貨無(wú)廢

2023-07-29 23:26 作者:丷啾啾  | 我要投稿

P9-P91

常用快捷鍵:1.多行注釋?zhuān)哼x中多行,Ctrl+/,已有注釋則取消注釋?zhuān)?.撤回上一步:Ctrl+Z;3.還原上一步:Ctrl+Shift+Z

其他:可以自設(shè)pycharm語(yǔ)言;可以設(shè)置輸入法中文時(shí)使用英文字符;字符串和代表其的變量是等效的;字符:str??{字典}:dict??{元組}:tuple??[列表]:list??整數(shù):int??小數(shù):float;現(xiàn)代計(jì)算機(jī)中,一般“定點(diǎn)數(shù)”就是整數(shù),“浮點(diǎn)數(shù)”含小數(shù)部分

?

P9基礎(chǔ)語(yǔ)法1

1.縮進(jìn):四個(gè)空格/一個(gè)tab

2.單行語(yǔ)句變多行語(yǔ)句,句末會(huì)多“/”;但是括號(hào)內(nèi)的多行語(yǔ)句不需要

?

P10基礎(chǔ)語(yǔ)法2

1.?雙引號(hào)/單引號(hào)內(nèi)存放字符串,三對(duì)雙引號(hào)內(nèi)存放多行字符串

2.?#注釋?zhuān)粫?huì)被運(yùn)行

3.?空格和空行不是必須存在,是為了美化

?

P12轉(zhuǎn)義符

轉(zhuǎn)義符:\+特異功能的首字母

1.?\n:換行

2.?\t:制表符,代表四個(gè)空格的位置(4個(gè)4個(gè)一節(jié),若前面是五個(gè)字符,則補(bǔ)齊三個(gè)空格)

3.?\r覆蓋,后面的字符覆蓋前面的字符

4.?\b刪除(bckspace)刪除前一個(gè)字

5.?\:兩個(gè)反斜線(xiàn)表示一個(gè)\

6.?原字符:使轉(zhuǎn)義字符不起作用,寫(xiě)在整個(gè)字符串前面,用r或R

?

P13變量

1.?變量命名規(guī)則:

*變量名只能是字母,數(shù)字和下劃線(xiàn)的任意組合

*變量名第一個(gè)字符不能是數(shù)字

*變量名區(qū)分大小寫(xiě),大小寫(xiě)字幕被認(rèn)為是兩個(gè)不同的字符

*特殊關(guān)鍵字不能命名為變量名

2.?變量賦值

3.?多個(gè)變量賦值

4.?常量,用大寫(xiě)命名

?

P14數(shù)據(jù)類(lèi)型-數(shù)字

1.?Python3的六個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型:Number數(shù)字,String字符串,Tuple元組,List列表,Set集合,Dictionary字典;其中前三個(gè)為不可變數(shù)據(jù),后三個(gè)為可變數(shù)據(jù)

2.?Python3支持的數(shù)字有int,float和bool

3.?整型int-整數(shù),可正可負(fù)

4.?浮點(diǎn)型float-有整數(shù)部分和小數(shù)部分

5.?布爾型bool - True False,大小寫(xiě)固定

?

P15數(shù)值運(yùn)算

1.?// 除法運(yùn)算后向下取整

2.?% 取模,得到兩數(shù)相除的余數(shù)

3.?** 冪運(yùn)算,例子:2**3=8

?

P16常見(jiàn)比較運(yùn)算符

1.?常見(jiàn)的比較運(yùn)算符號(hào):

大于等于:>=

小于等于:<=

不等于:!=

等于:==,單個(gè)=是賦值操作

2.?直接print則自動(dòng)返回布爾值 ?例:print(4>=3 返回True

3.?True=1 False=0,布爾值可以轉(zhuǎn)化為數(shù)字并用于運(yùn)算,例如1+True的形式

?

P17運(yùn)算符與或非

and 與,兩者都為T(mén)rue才輸出True,否則False

or 或,有至少一個(gè)True,則輸出True,否則False

not 非運(yùn)算,取反

?

P18空值和內(nèi)置函數(shù)的返回值

1.?python的空值 -- None 什么都沒(méi)有,不能進(jìn)行運(yùn)算,不能和字符串進(jìn)行拼接

2.?內(nèi)置函數(shù)的返回值

內(nèi)置函數(shù)即print(),可以用變量進(jìn)行接收,沒(méi)有返回值則print該變量得到None;之后學(xué)習(xí)中通過(guò)自己的設(shè)置可以使函數(shù)運(yùn)行之后有返回值

?

P19字符串-切片-1

字符串的下標(biāo)是從零開(kāi)始的

*切片

[開(kāi)始:結(jié)尾] 取左不取右

例:

a = "12345"

print(a[0:3])

>>>123

省略冒號(hào)前,則自動(dòng)從頭開(kāi)始;省略冒號(hào)后,則取到末尾

倒著取則用負(fù)數(shù),例如[-3:-1]

?

P20字符串-切片-2

*切片

[開(kāi)始:結(jié)尾:步長(zhǎng)] 取左不取右

步長(zhǎng):n ,跨n步,即n個(gè)一組,每組取第一個(gè)

[結(jié)尾:開(kāi)始:-步長(zhǎng)]即可實(shí)現(xiàn)倒序,例子[8:2:-2]

?

P21字符串-下標(biāo)取值

字符串索引/下標(biāo)

[ ]中輸入對(duì)應(yīng)字符串下標(biāo)即可取得該字符,負(fù)數(shù)則倒著取,*空格也算字符

?

P22字符串拼接

方法一:兩個(gè)字符串之間使用“+ ”,則兩個(gè)字符串合并為一個(gè)

方法爾:需要在字符之間加入諸如標(biāo)點(diǎn)符號(hào)時(shí),先定義一個(gè)字符串 “?, ”(引號(hào)內(nèi)內(nèi)容根據(jù)想要插入的內(nèi)容而定),然后“ .join((字符串0, 字符串1, 字符串2))”

?

P23字符串的格式化

在字符串內(nèi)需要添加信息的地方插入{ }(一個(gè)字符串內(nèi)可插入多個(gè)),在字符串后使用“.format(需要加入的字符串0, 需要加入的字符串1, 需要加入的字符串2)”,運(yùn)行結(jié)果默認(rèn)按順序填入

改變填入順序:加入的字符串也有下標(biāo),默認(rèn)從0開(kāi)始,在{ }內(nèi)填入相應(yīng)下標(biāo),就可以自定義插入的順序

?

P24字符串的常用方法find&count

find:查找元素位置

查找字符串片段在字符串中的下標(biāo)位置,從前往后找,返回的是第一個(gè)被找到字符串片段起始位置

字符串.find(“要查找的字符串片段”, “查找范圍起始點(diǎn)”, “查找范圍終止位置+1”) *可以只要第一個(gè)參數(shù)

*如果查找的字符串存在多個(gè),查找結(jié)果是第一個(gè)出現(xiàn)的字符串下標(biāo),找不到就返回-1

count:統(tǒng)計(jì)字符串片段,在字符串中出現(xiàn)的次數(shù),找不到返回0

字符串.count(“要統(tǒng)計(jì)的字符串片段”, “查找范圍起始點(diǎn)”, “查找范圍終止位置+1”) *可以只要第一個(gè)參數(shù)

?

P25 字符串replace&upper%lower

1.replace:替換指定的字符串片段

參數(shù)一:要替換的字符串片段

參數(shù)二:替換之后的字符串片段

參數(shù)三:替換的次數(shù),從前往后替換(默認(rèn)替換所有的)

字符串.replace( ‘?’?, ‘?’?, n )

2.upper:將小寫(xiě)字母轉(zhuǎn)為大寫(xiě)

字符串.upper( )

3.lower:將大寫(xiě)字母轉(zhuǎn)為小寫(xiě)

字符串.lower( )

?

P26 字符串split&strip

1.split:指定分割點(diǎn)對(duì)字符串進(jìn)行分割

參數(shù)一:分割點(diǎn)

參數(shù)二:分割的次數(shù),從前往后(默認(rèn)找到所有分割點(diǎn)進(jìn)行分割)

字符串.split( “分割點(diǎn)”?, “分割次數(shù)”?)

運(yùn)行結(jié)果→ ‘字符串片段1’?, ‘字符串片段2’?, ‘字符串片段3’?......列表中不含分割點(diǎn)

2.strip:去除字符串首尾的空格/字符 *該字符只在首/尾亦可使用

字符串.strip( 空格或 ‘需要去除的首尾字符’?)

*strip只能去除首尾字符串,如果想要將中間一同去除,可以使用replace( ‘想要去除的字符’?, ‘’)?????#第二個(gè)引號(hào)內(nèi)不留空格

?

P27 傳統(tǒng)的格式化輸出&F表達(dá)式

傳統(tǒng)的格式化輸出方法:%

%s:為字符占位,任意類(lèi)型都可以

%d:為數(shù)值類(lèi)型占位(如果輸入浮點(diǎn)數(shù),會(huì)自動(dòng)取整)

%f:為浮點(diǎn)數(shù)占位(定點(diǎn)數(shù)亦可),保留到小數(shù)點(diǎn)后六位

‘xxxx%sxxxx’?%(y) #新版本中不再需要括號(hào)

F表達(dá)式(f亦可)

用字符串前的f代替字符串后的format

例: ‘我的名字叫{ } , 我的年齡是{ }’.format(name , age)

→??F ‘我的名字叫{name} , 我的年齡是{age}’

?

P28 字符串format的進(jìn)階用法

len( ):計(jì)算字符串的長(zhǎng)度?#空格也占字符

format:格式化輸出(進(jìn)階)

1.?格式化小數(shù)長(zhǎng)度(會(huì)四舍五入)?:.nf?#小數(shù)點(diǎn)后n位 #如果不加f則從前往后保留n位

“字符串{對(duì)應(yīng)的字符串下標(biāo):.nf}字符串”.format(s,x)

2.?將小數(shù)按百分比的形式顯示?????:.n%?#n為百分比形式下小數(shù)點(diǎn)后n位

?

P29 定義列表

列表是寫(xiě)在[]之間、用逗號(hào)分隔開(kāi)的元素列表,列表可以完成大多數(shù)集合類(lèi)的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。列表中元素的類(lèi)型可以不相同,它支持?jǐn)?shù)字,字符串甚至可以包含列表(所謂嵌套),列表中的元素是可以改變的。

1.?定義列表

2.?列表的下標(biāo) #從0開(kāi)始

3.?列表取值??#如果想要取得列表中的列表中的某一個(gè)值,可以連續(xù)用兩個(gè)[外層下標(biāo)1][內(nèi)層下標(biāo)2] ,Ex:print(list1[5][1])

?

P30列表的長(zhǎng)度和更新列表

1.?列表的長(zhǎng)度 len( )??#獲得的是列表中元素?cái)?shù)量

2.?更新列表中的值???#直接給對(duì)應(yīng)下標(biāo)重新賦值 例:list[2]=99

?

P31 列表的加法和乘法操作

列表的加法:list1+list2 → 兩個(gè)列表元素首尾相接,合為一個(gè)列表

列表的乘法:list*n → 該列表內(nèi)元素重復(fù)n遍

#字符串*n則該字符串被重復(fù)n遍

?

P32 列表的切片取值

原理同字符串的切片(P19&20)

?

P33 列表的操作方法del&append

1.?del關(guān)鍵字?刪除

??可以刪除整個(gè)列表,也可以刪除中的指定值

??例:del a??del a[2]

2.?append方法?用于向列表末尾添加元素

??#不可以直接在print處使用,要先寫(xiě)列表a.append( ),再print列表a

?

P34列表的操作方法insert&clear

1.?insert用于向列表中插入元素

???#第一個(gè)參數(shù)是插入的位置,第二個(gè)參數(shù)是要插入的對(duì)象

2.?clear函數(shù)用于將列表清空??list.clear()?→ []?#列表括號(hào)會(huì)保留

?

P35 列表操作方法remove&pop

1.?remove函數(shù)-從列表移除元素 #參數(shù)為要移除的元素

???*執(zhí)行結(jié)果中,若列表有重復(fù)元素,則只移除第一個(gè)

2.?pop函數(shù)-移除列表中指定位置的元素,并返回要移除的元素(直接print則執(zhí)行結(jié)果為要移除的元素) #參數(shù)為要移除的元素下標(biāo)

???#默認(rèn)情況下,移除列表中的最后一個(gè)元素

?

P36 列表操作方法index&reverse

1.?index函數(shù)-用于返回所匹配的元素的索引。該函數(shù)的第一個(gè)參數(shù)是待查找的對(duì)象,第二個(gè)參數(shù)是查找的起始范圍,第三個(gè)參數(shù)是查找的結(jié)束范圍?

2.?reverse函數(shù)-用于將列表反向排列???list.reverse()和[::-1]等效

?

P37 列表操作方法extend

用于在列表的末尾添加另一個(gè)列表,與append相比,extend可以一次性添加多個(gè)元素(append會(huì)把整個(gè)列表作為一個(gè)元素加入,extend會(huì)將列表中的元素逐一加入)

*extend和加法的結(jié)果是一樣的,但是extend會(huì)將另一個(gè)列表并入當(dāng)前列表,而列表加法是返回新的列表,為節(jié)約內(nèi)存空間,更推薦使用extend來(lái)實(shí)現(xiàn)大列表的連接操作

?

P38 列表的操作方法copy

copy函數(shù)用于創(chuàng)建列表的副本?例:b = a.copy()

#copy得到的b,對(duì)列表a進(jìn)行的操作不會(huì)影響b;賦值b=a,對(duì)a的操作會(huì)影響b

?

P39 列表操作方法sort

1.?sort函數(shù)用于將列表進(jìn)行排序,排序順序遵循ascii碼,默認(rèn)升序排列

???#只有同一類(lèi)型數(shù)據(jù)才能比對(duì),ex.不能字符串和數(shù)字一起比較排序

???#降序: list.sort(reverse=True)

2.?ascii碼科普

???美國(guó)信息交換標(biāo)準(zhǔn)代碼(一種編碼標(biāo)準(zhǔn)),每個(gè)字符都有一個(gè)對(duì)應(yīng)的ascii碼可查詢(xún)

3.?常見(jiàn)ASCII碼的大小規(guī)則:0~9<A~Z<a~z

?

P40 列表操作方法count

count用于統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)

#要定義變量來(lái)接受返回值

?

P41 元組的創(chuàng)建&元組與列表的不同

元組(tuple)與列表類(lèi)似,能使用列表的地方基本上都能使用元組,不同之處在于元組的元素不能修改。元組寫(xiě)在小括號(hào)()里,元素之間用逗號(hào)隔開(kāi),組中的元素類(lèi)型也可以不相同。

?

P42 元組的加法以及元組中列表的數(shù)據(jù)更新

#元組的拼接只能使用加法,不能使用extend

#元組包含的列表中的數(shù)據(jù)可以更改

?

P43 關(guān)于元組列表字符串的一些共同操作

len()?max()?min()?#實(shí)為比較ascii碼大小

?

P44 元組的注意事項(xiàng)以及乘號(hào)的使用

#定義元組時(shí)可以省略小括號(hào),運(yùn)行結(jié)果會(huì)存在小括號(hào)

#元組僅包含單個(gè)數(shù)據(jù)時(shí),需要在其后加上逗號(hào),否則不能作為元組,運(yùn)行結(jié)果不包含小括號(hào)

#元組與數(shù)字相乘,元組內(nèi)元素重復(fù)

?

P45 集合的創(chuàng)建&數(shù)據(jù)的去重

集合:集合是無(wú)序的,集合中的元素是唯一的,集合一般用于元組或列表中的元素去重,集合中默認(rèn)去重。

創(chuàng)建集合:

1.?變量名=set(元素)??字符串/列表/元組/字典

???運(yùn)行結(jié)果:字符串→拆成單個(gè)字符,順序隨機(jī);字典→只保留鍵;列表/元組→元素順序不變

???字典:鍵值對(duì)形式,冒號(hào)前為鍵,冒號(hào)后為值;鍵是描述性質(zhì);

例:d={“AGE”:18, “NAME”: “MUZHOU”

2.?變量名={元素, 元素, , ,}??元組/字符串/數(shù)字???#不能用字典/列表

3.?元素是唯一的,用于列表/元組/字典的鍵/字符串的去重(用set)

?

P46 集合添加元素的方法&合并集合

1.?add() 往集合中添加元素??數(shù)字/字符串/元組

2.?update 可以將集合合并???#如果a.update(b)則b并入a,b不變

?

P47 集合刪除元素的方法

1.?remove 如果有直接刪除,如果沒(méi)有程序報(bào)錯(cuò)

2.?pop 隨機(jī)刪除集合中的元素,如果集合沒(méi)有元素程序報(bào)錯(cuò)

3.?discard如果元素存在直接刪除,如果元素不存在不做任何操作

?

P48 集合的交集和并集

1.?交集 使用&符號(hào)連接多個(gè)集合,得到相同的元素

2.?并集 使用|符號(hào)連接多個(gè)集合,得到集合中的全部數(shù)據(jù)

?

P49 創(chuàng)建字典&空字典

字典是一種映射類(lèi)型,它的元素是鍵值對(duì),字典的關(guān)鍵字必須為不可變類(lèi)型,且不能重復(fù);鍵可以是任意不可變類(lèi)型(元組/字符串/數(shù)字)。創(chuàng)建空字典使用{}

1.?字典的創(chuàng)建方式

1.1?直接使用{}

1.2?使用dict(),元組結(jié)構(gòu)中嵌套列表 ex. b = dict(([“年齡”, “18”], [“名字”, “慕洲”]))

2.?空字典 直接寫(xiě){}表示空字典??#空集合為a = set()

?

P50 字典的增刪改查的操作

1.?增加 d[新的鍵]=值

2.?刪除 del d[鍵]

3.?修改 d[原有的鍵]=要改為的值

4.?查找(獲取) d[鍵]

?

P51 字典的操作方法get&keys

1.?get函數(shù) 用于從字典獲取指定鍵的值,在get函數(shù)中可以設(shè)置默認(rèn)值,當(dāng)get函數(shù)沒(méi)有獲取到對(duì)應(yīng)鍵時(shí),get函數(shù)會(huì)將默認(rèn)值返回

??r = d.get(鍵) ; r=d.get(不存在的鍵, 返回值) 則print后返回設(shè)定的值,不設(shè)定默認(rèn)值則返回None

2.?keys函數(shù) keys函數(shù)將以列表的形式返回字典中的所有鍵??#如果字典中嵌套了字典,不會(huì)返回里層的鍵

?Ex. print(d.keys()) → dict_keys([鍵1, 鍵2, 鍵3])

?

P52 字典操作方法items&values

1.?items函數(shù) 將以列表的形式返回字典中所有鍵值對(duì)

???print(d.items()) → dict_items([(鍵1, 值1), (鍵2, 值2), (鍵3, 值3)])

2.?values函數(shù) 將以列表的形式返回字典中的所有值

???print(d.values()) → dict_values([值1, 值2, 值3])

?

P53 字典的操作方法clear?

1.?clear函數(shù) 用于將字典清空

2.?copy函數(shù) 用于創(chuàng)建字典的副本,修改原字典對(duì)象,不會(huì)影響其副本

?

P54 字典的操作方法fromkeys&pop

1.?fromkeys函數(shù) 用于創(chuàng)建一個(gè)新的字典 #需要先建一個(gè)空字典 #用變量接收返回值

???第一個(gè)參數(shù)時(shí)一個(gè)序列(列表/元組/集合),用于作為字典的鍵

???第二個(gè)參數(shù)可以是任何數(shù)據(jù)類(lèi)型,作為每個(gè)鍵的值

???d.fromkeys((鍵1,鍵2), 值)

2.?pop函數(shù) 用于從字典中移除指定鍵,并返回該鍵所對(duì)應(yīng)的值??#用變量接收返回值

???

P55 字典的操作方法popitem&setdefault

1.?popitem函數(shù) 用于從字典中刪除最后一項(xiàng),并以元組形式返回該項(xiàng)所對(duì)應(yīng)的鍵和值

2.?setdefault函數(shù) 用于設(shè)置鍵的默認(rèn)值,若在字典中該鍵已存在,則忽略設(shè)置;若不存在,則添加該鍵和值??#約等于低優(yōu)先級(jí)的賦值操作 #一個(gè)字典中若有多個(gè)相同的鍵,則只保留最后一個(gè)的值

???d.setdefault(鍵,值)

?

P56 字典的操作方法update函數(shù)

update函數(shù) 用于將字典2的值更新到字典1。若字典2的鍵在字典1已經(jīng)存在,則對(duì)字典1進(jìn)行修改;若不存在,則對(duì)字典1進(jìn)行添加。

?

P57 成員檢測(cè)in? in

成員檢測(cè)與標(biāo)識(shí)號(hào)檢測(cè)

使用in和not in運(yùn)算符來(lái)判斷某個(gè)對(duì)象是否為序列的成員

in:判斷對(duì)象是否在序列(列表/字符串/元組/字典)中,如果是則返回True

not in:判斷對(duì)象是否不在序列中,如果是則返回True

Ex. print(1 in (1,2,3)) → True???print(1 not in [1,2,3]) → False

#只能判斷鍵,無(wú)法判斷值是否在字典中

?

P58 判斷某兩個(gè)對(duì)象是否相同is&is not

is判斷對(duì)象是否相同

is not判斷對(duì)象是否不相同

print(a is b)??print(a is not b)

#兩對(duì)象必須完全一樣,包括前后的空格等

#數(shù)字/字符串/元組表面一樣就完全一樣,列表/字典/集合表面一樣,其實(shí)不一樣,不是同一個(gè)對(duì)象

?

P59/60同P70/71

?

P61 python數(shù)據(jù)檢測(cè)方法type()

print(type(a)) → 返回a的數(shù)據(jù)類(lèi)型,ex. <class ‘str’>

#str字符串;int整型;list列表;tuple元組;set集合;dict字典;bool-bool值;float浮點(diǎn)數(shù)值

?

P62 python的強(qiáng)制數(shù)據(jù)類(lèi)型轉(zhuǎn)換str()

str() 可以把其他類(lèi)型數(shù)據(jù)轉(zhuǎn)化為字符串類(lèi)型??#所有類(lèi)型都可以轉(zhuǎn)化為字符串類(lèi)型

?

P63 python的數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換int()&float()

int() 可以把其他類(lèi)型數(shù)據(jù)轉(zhuǎn)化為整型

float() 可以把其他類(lèi)型數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn)型

#數(shù)字類(lèi)型之間可以相互轉(zhuǎn)化

#只有字符串可以轉(zhuǎn)換為數(shù)字類(lèi)型

#并且字符串中的元素必須為純數(shù)字,否則無(wú)法轉(zhuǎn)換(可以在最前方帶負(fù)號(hào));帶小數(shù)點(diǎn)的字符串只能轉(zhuǎn)化為float,不能轉(zhuǎn)化為int

#浮點(diǎn)型轉(zhuǎn)整型,自動(dòng)取整,去掉小數(shù)點(diǎn)后部分,不遵循四舍五入

#布爾值也是數(shù)字類(lèi)型,True1,F(xiàn)alse0

?

P64 python的數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換bool()

其他類(lèi)型轉(zhuǎn)數(shù)字類(lèi)型中有一個(gè)特殊情況,就是其他類(lèi)型轉(zhuǎn)布爾類(lèi)型

bool() 可以把其他類(lèi)型轉(zhuǎn)為T(mén)rue或False

1.?容器類(lèi)型轉(zhuǎn)布爾類(lèi)型

???容器類(lèi)型數(shù)據(jù):字符串,列表,元組,字典,集合

???非容器類(lèi)型數(shù)據(jù):數(shù)字類(lèi)型,布爾類(lèi)型

???容器中為空---False

???容器中有元素---True

2.?數(shù)字類(lèi)型轉(zhuǎn)布爾類(lèi)型

???int類(lèi)型中,0為False,其他為T(mén)rue

???float類(lèi)型中,0.0為False,其他為T(mén)rue

?

P65 python的數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換list()

1.?數(shù)字類(lèi)型是非容器類(lèi)型,不能轉(zhuǎn)換為列表

2.?字符串轉(zhuǎn)列表時(shí),會(huì)把字符串中的每一個(gè)字符當(dāng)作列表的元素

3.?元組轉(zhuǎn)列表時(shí),會(huì)把元組中的每一個(gè)元素當(dāng)作列表的元素

4.?字典轉(zhuǎn)列表時(shí),只保留字典中的鍵

5.?集合轉(zhuǎn)列表時(shí),結(jié)果是無(wú)序的,因?yàn)榧媳旧砭褪菬o(wú)序的

?

P66 python的數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換tuple()

轉(zhuǎn)元組與轉(zhuǎn)列表的規(guī)則相同

?

P67 python的數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換set()

1.?數(shù)字類(lèi)型是非容器類(lèi)型,不能轉(zhuǎn)換為集合

2.?其他數(shù)據(jù)類(lèi)型轉(zhuǎn)集合時(shí),結(jié)果是無(wú)序的

3.?字典轉(zhuǎn)集合時(shí),只保留鍵

?

P68 python的數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換dict()

1.?數(shù)字類(lèi)型是非容器類(lèi)型,不能轉(zhuǎn)換為字典

2.?字符串不能轉(zhuǎn)字典類(lèi)型,因?yàn)樽址荒苌啥?jí)容器

3.?列表/元組類(lèi)型轉(zhuǎn)字符類(lèi)型,列表/元組必須為等長(zhǎng)二級(jí)容器,子容器中的元素個(gè)數(shù)必須為2

#可以元組里嵌列表/列表里嵌元組,一部分列表一部分元組也可以

4.?集合不能轉(zhuǎn)字典類(lèi)型?#集合中使用元組作為二級(jí)容器可以轉(zhuǎn)字典,集合/列表不可以

?

P69 python判斷一個(gè)對(duì)象是否是一個(gè)已知的類(lèi)型isinstance()

???isinstance()函數(shù)的返回值是布爾型,

???若對(duì)象的類(lèi)型是已知的類(lèi)型,那么就返回True,否則返回False

???語(yǔ)法:isinstance(對(duì)象,對(duì)象類(lèi)型)

?

P70/71 python的條件語(yǔ)句if

if...elif...else...分支語(yǔ)句

#必須有縮進(jìn),一般為四個(gè)空格,即一個(gè)tab

#條件是真值才會(huì)運(yùn)行,也可以直接用if True→運(yùn)行,if False→不運(yùn)行

#滿(mǎn)足前面的條件后,不運(yùn)行后面的

#if語(yǔ)句可以單獨(dú)存在,elif/else不可以

?

P72 python的for循環(huán)

for循環(huán)用來(lái)遍歷序列,

通過(guò)不使用下標(biāo)的方式來(lái)實(shí)現(xiàn)對(duì)序列中每一個(gè)元素的訪問(wèn)

列表/元組/字符串/字典(只訪問(wèn)鍵)/集合

遍歷數(shù)字range()??ex. for i in range (1,10):?#i是自命名的變量 #區(qū)間取左不取右,只取整數(shù)

?

P73 python的for循環(huán)操作-2

1.?遍歷字典的鍵和值 .items()

2.?函數(shù)的步長(zhǎng)range(開(kāi)始, 結(jié)束, 步長(zhǎng))

?

P74 python雙層for循環(huán)提取嵌套列表中的元素

案例

?

P75 python的while循環(huán)

while后必須輸入真條件

#a+=1即每次自我增加1

#while可以配合else使用

?

P76/77 python關(guān)鍵字break和continue在for/while循環(huán)中的使用

break語(yǔ)句可以跳出for和while的循環(huán)體

continue語(yǔ)句被用來(lái)跳過(guò)當(dāng)前循環(huán)塊中的剩余語(yǔ)句,然后繼續(xù)進(jìn)行下一輪循環(huán)

?

P78 python的pass語(yǔ)句

pass語(yǔ)句是空語(yǔ)句,是為了保持程序結(jié)構(gòu)的完整性。

它用于那些語(yǔ)法上必須要有什么語(yǔ)句,但程序什么也不做的場(chǎng)合。#比如還沒(méi)想好這部分,先用pass占位,保持代碼結(jié)構(gòu)的完整性,不會(huì)報(bào)錯(cuò)

?

P79 python函數(shù)的創(chuàng)建和調(diào)用以及參數(shù)傳遞

創(chuàng)建函數(shù)的目的是封裝業(yè)務(wù)邏輯,實(shí)現(xiàn)代碼的重復(fù)使用。

1.?創(chuàng)建函數(shù)的關(guān)鍵字:def???

#def,空格,函數(shù)名字(和變量命名規(guī)則一樣),括號(hào),冒號(hào) -- def a():

2.?調(diào)用函數(shù):a() → 運(yùn)行

3.?函數(shù)的參數(shù):()是用來(lái)傳遞參數(shù)的--- def a():的括號(hào)內(nèi)用變量接收a()的括號(hào)傳遞的內(nèi)容

#可以一次傳遞多個(gè)參數(shù)

# 先前使用的都是python的內(nèi)建函數(shù),實(shí)際中自定義函數(shù)使用更多

?

P80 python函數(shù)的位置參數(shù)

函數(shù)的參數(shù):

Python函數(shù)的參數(shù)具有靈活性,其定義的方法可以接受各種形式的參數(shù),也可以簡(jiǎn)化函數(shù)調(diào)用方法的代碼

0.?函數(shù)中的pass關(guān)鍵字

1.?位置參數(shù)

2.?默認(rèn)參數(shù)

3.?可選參數(shù)

4.?可變參數(shù)與關(guān)鍵字參數(shù)

位置參數(shù):在對(duì)函數(shù)進(jìn)行調(diào)用的時(shí)候,有幾個(gè)位置參數(shù)就需要傳遞幾個(gè)參數(shù),否則會(huì)觸發(fā)異常。并且,傳入?yún)?shù)與函數(shù)參數(shù)列表是一一對(duì)應(yīng)的,數(shù)量不對(duì)應(yīng)則會(huì)報(bào)錯(cuò)

?

P81 python函數(shù)的默認(rèn)參數(shù)

默認(rèn)參數(shù)是指帶有默認(rèn)值的參數(shù),在對(duì)該函數(shù)進(jìn)行調(diào)用的時(shí)候,可以不必顯示傳遞給該函數(shù)。當(dāng)不傳遞值的時(shí)候,函數(shù)將使用默認(rèn)值

*默認(rèn)值只會(huì)執(zhí)行一次,這條規(guī)則在默認(rèn)值為可變對(duì)象(列表、字典以及大多數(shù)類(lèi)的實(shí)例)時(shí)非常重要

*官方建議默認(rèn)參數(shù)盡量使用不可變對(duì)象!??!因?yàn)榭勺儗?duì)象會(huì)存儲(chǔ)在后續(xù)調(diào)用中傳遞給它的參數(shù)

設(shè)置默認(rèn)值:在def后括號(hào)內(nèi)給變量定義?ex. def abc(a=300, b=400):

調(diào)用:括號(hào)內(nèi)不傳入?yún)?shù),就會(huì)使用默認(rèn)值;若傳入?yún)?shù),依次以此替代默認(rèn)值

??????Ex.?def abc(a=300, b=400):???;調(diào)用時(shí) abc(600) →600會(huì)且只替代300

#可以指定默認(rèn)參數(shù)進(jìn)行傳值:ex. abc(b=1000)

?

P82 python的關(guān)鍵字參數(shù)

函數(shù)調(diào)用時(shí),指定參數(shù)名稱(chēng),稱(chēng)為關(guān)鍵字參數(shù)(不要和默認(rèn)參數(shù)混淆,這里是函數(shù)調(diào)用)

Ex. 調(diào)用時(shí) abc(a=200,b=600)

注意:函數(shù)調(diào)用時(shí),關(guān)鍵字參數(shù)必須在普通參數(shù)后面,否則會(huì)報(bào)錯(cuò)

??ex.?abc(100,a=200,b=600)

?

P83 python命名關(guān)鍵字參數(shù)

限定關(guān)鍵字形參(命名關(guān)鍵字參數(shù))

特點(diǎn):必須使用關(guān)鍵字方式傳遞參數(shù)

限定關(guān)鍵字形參,是為了限制后面幾個(gè)參數(shù)只能按關(guān)鍵字傳遞,往往是因?yàn)楹竺鎺讉€(gè)形參名具有十分明顯的含義,顯式寫(xiě)出有利于可讀性;或者后面幾個(gè)形參隨著版本更迭很可能發(fā)生變化,強(qiáng)制關(guān)鍵字形式有利于保證跨版本兼容性

#默認(rèn)參數(shù)后面必須也是默認(rèn)參數(shù)(即普通參數(shù)必須在前,默認(rèn)參數(shù)必須在后)

限定關(guān)鍵字形參的方法:使用*占位,其后的參數(shù)必須用關(guān)鍵字傳遞

ex. def abc(a, *, c, d) 則c和d只能接收關(guān)鍵字傳遞

?

P84 python的可變參數(shù)星號(hào)加參數(shù)名

可變參數(shù):傳遞參數(shù)就接受,沒(méi)有傳遞參數(shù)也不會(huì)報(bào)錯(cuò)

*參數(shù):最常見(jiàn)的變量名是args(也可以另外命名),看到該變量名,就知道它指向一個(gè)tuple對(duì)象

自動(dòng)收集所有未匹配的位置參數(shù)到一個(gè)tuple對(duì)象中,變量名args指向了此tuple對(duì)象

# 元組至少有一個(gè)逗號(hào)

Ex.?def abc(a, *args):

abc(100,200,300,400) → a接收100,*args接收200,300,400并指向元組形式,即為(200,300,400)

# print時(shí)不要帶*,直接print(args)

?

P85 python的可變參數(shù)兩個(gè)星號(hào)加參數(shù)名

**參數(shù):最常見(jiàn)的變量名是kwargs,看到該變量名,就知道變量kwargs指向一個(gè)dict對(duì)象

自動(dòng)收集所有未匹配的關(guān)鍵字參數(shù)到一個(gè)dict對(duì)象中,變量名kwargs指向了此dict對(duì)象

# 由于kwargs是字典,向其傳值要用鍵值對(duì)的方式,以鍵=值的形式輸入 ex. x=200

# 其他基本同上節(jié)課

?

P86 python參數(shù)解包(拆包)

參數(shù)數(shù)據(jù)類(lèi)型是:字符串/列表/元組/集合/字典的時(shí)候可以解包

傳遞實(shí)參時(shí),可以在序列類(lèi)型的參數(shù)前添加星號(hào),這樣他會(huì)自動(dòng)將序列中的元素依次作為參數(shù)傳遞

Ex. s= “123”

???def abc(a,b,c):

???abc(*s) →字符串s會(huì)被拆成1、2、3分別傳遞給a、b、c

#如果無(wú)法一一對(duì)應(yīng)則會(huì)報(bào)錯(cuò),ex.四個(gè)字符不能對(duì)應(yīng)三個(gè)參數(shù)

#字典解包只傳輸鍵,如果想拿到值,用兩個(gè)星號(hào)**,并且鍵名必須與函數(shù)的參數(shù)一致

?Ex. d={“年齡”:19} 那么函數(shù)應(yīng)為abc(“年齡”)

???

P87 參數(shù)的解包

對(duì)上節(jié)課的糾錯(cuò)

一個(gè)*不需要鍵和參數(shù)對(duì)應(yīng),兩個(gè)**需要

?

P88 參數(shù)解包和可變參數(shù)配合使用

注意:**參數(shù)只收集未匹配的關(guān)鍵字參數(shù)

#在調(diào)用時(shí)用*解包,列表中的元素會(huì)被拆出,逐一傳遞到函數(shù)參數(shù)

ex.?def abc(a,b,*args):

abc(100,*[200,300,400]) → a接收100,b接收200,args指向(300,400)

#在調(diào)用時(shí)用**解包與*效果類(lèi)似,但是解包后所有元素都傳遞到kwargs,不能分給其他參數(shù)如上例的b

?

P89 python函數(shù)中各種參數(shù)排列的注意事項(xiàng)

1.?可變參數(shù),必須定義在普通參數(shù)以及默認(rèn)值參數(shù)的后面

2.?函數(shù)定義時(shí),二者同時(shí)存在,一定需要將*args放在**kwargs之前

# 格式應(yīng)為 def abc(普通參數(shù),默認(rèn)值參數(shù),*參數(shù),**參數(shù)):

?

P90 python的return關(guān)鍵字

函數(shù)的返回值:python中的函數(shù)可以使用return返回?cái)?shù)據(jù),也可以不用return返回,則默認(rèn)返回None

# 函數(shù)調(diào)用的返回值可以用變量接收,默認(rèn)print該變量會(huì)返回None

return關(guān)鍵字:用來(lái)在函數(shù)執(zhí)行時(shí),幫助返回處理好的結(jié)果,返回值是一個(gè)元組數(shù)據(jù)類(lèi)型

# return關(guān)鍵字一次可以返回多個(gè)數(shù)據(jù)

???Ex.?def abc(a,b,c):

???????????return a+100,b+200,c+300

r = abc(100,200,300)

print(r)???→??(200,400,600)

# 接上,元組解包的另一種方法:x,y,z=r 然后分別打印x,y,z

?

P91 函數(shù)返回函數(shù)

1.?函數(shù)里面嵌套函數(shù)

??*注意縮進(jìn)

2.?函數(shù)返回函數(shù)

Ex.?def abc():

????????def xyz():

????????return [1,2,3]

????return xyz?#如果此處改為xyz(),則print(r)就可以得到相同結(jié)果

r = abc() #此時(shí)r接收的是xyz函數(shù)

r2 = r()

print(r2)?→?[1, 2, 3]


【整整600集】頂級(jí)大學(xué)196小時(shí)講完的Python教程(數(shù)據(jù)分析)全程干貨無(wú)廢的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
荔波县| 阳新县| 绩溪县| 合水县| 浦北县| 金塔县| 大厂| 贡山| 蒙城县| 三门峡市| 昌平区| 克什克腾旗| 左贡县| 综艺| 泊头市| 维西| 缙云县| 吕梁市| 长子县| 治多县| 犍为县| 亳州市| 阳东县| 大同市| 小金县| 诏安县| 高州市| 景洪市| 汤阴县| 福清市| 榆中县| 龙海市| 资兴市| 内黄县| 洪湖市| 舞阳县| 荆门市| 多伦县| 恩施市| 平顶山市| 茌平县|