Python最核心基礎(chǔ)知識點锹安,看這一篇就夠了



數(shù)據(jù)轉(zhuǎn)換 :str、int倚舀、float叹哭、tuple、list痕貌,dict

1. List 列表??

支持字符风罩、數(shù)字、字符串包含在列表中舵稠,用[ ]標(biāo)識超升,是有序?qū)ο?,索引從0開始,有append(),extend()柱查、insert()等方法廓俭,可以切片

2.?Tuple 元組?

用()標(biāo)識,不能二次賦值唉工,可認(rèn)為是不可變的列表研乒,有序?qū)ο螅梢郧衅?/span>

3. dict 字典?

由鍵和值組成淋硝,用{}標(biāo)識雹熬,可以利用鍵對值進(jìn)行索引

① 字典的索引使用相關(guān)的鍵

② 字典和列表結(jié)合(在pandas中經(jīng)常使用)

③ key是不可變的宽菜,但values是可變的(可以以列表的形式存在),即可以為列表竿报,參考pandas

④ 字典的常用操作? update铅乡、in not in(只針對key)

⑤ 字典的其他知識點

字典的元素訪問只能使用鍵,而不是使用索引烈菌,因為字典是無序的

對于嵌套字典阵幸,輸出嵌套內(nèi)容,通過重復(fù)指向來輸出

.get(key)方法:直接查看key的value芽世,如果沒有相應(yīng)key則返回None挚赊,添加print參數(shù)可以多返回一個值

.keys()方法:輸出字典所有key,注意這里的輸出內(nèi)容格式是視圖济瓢,可以用list()得到key的列表荠割,類似range()

.values()方法:輸出字典所有values,原理同.keys()方法

.items()方法:輸出字典所有items(元素)旺矾,原理同.keys()方法

⑥??字典的遍歷(使用keys蔑鹦、values、items)

4. 字符串

① 字符串引號

''? ?""? ? ''' ''' 三種引號靈活使用箕宙,前兩種用在字符串中嚎朽,三引號用來直接換行

② 轉(zhuǎn)義字符? ?\

注:"/"左傾斜是正斜杠,"\"右傾斜是反斜杠,可以記為:除號是正斜杠一般來說對于目錄分隔符,Windows用反斜杠

③?字符串常用功能:replace 扒吁、split火鼻、join、stipestartswith雕崩、endswith等

st = 'aBDEAjc kLM'print(st.upper()) # 全部大寫print(st.lower()) # 全部小寫print(st.swapcase()) # 大小寫互換print(st.capitalize()) # 首字母大寫
st = '1234567'print(st.isnumeric()) # 如果 string 只包含數(shù)字則返回 True,否則返回 False.
st = 'DNVAK'print(st.isalpha()) # 如果 string 至少有一個字符并且所有字符都是字母則返回 True,否則返回 False
st = 'avd 'print(st.strip()) # 刪除字符末尾的空格

④?格式化字符串? ?

%i為整型魁索,%s為字符串型,%f為浮點型

最強大的格式化盼铁,也是使用最多的就是format


二.?變量粗蔚、運算符與序列

1. 變量

用 = 連接 ,=左邊為變量名饶火,=代表賦值鹏控,=右邊代表對給變量賦的值? ?

變量首字符必須是字母或者下劃線_ ,不能是數(shù)字? ??

可以進(jìn)行多變量賦值和動態(tài)賦值

2.?運算符

算術(shù)運算符 + - * /? %? **?//???>=? <=? ==?

3.?序列

可變序列:列表List ???

不可變序列:元組tuple,字符串str ??

*生成器 range

① 判斷元素是否在序列中? in 肤寝、not in

② 序列相加與相乘

③ 下標(biāo)索引当辐,從0開始,從最右邊開始索引的話鲤看,是從-1開始

切片 通過索引范圍取得缘揪,左閉右開,最右端索引無法取得,使用[:]可以全部取得

⑤ 步長?

⑥ 序列的內(nèi)置全局函數(shù)? len()、 max()找筝、 min()蹈垢、 sum()、 index()袖裕、count()

⑦ 生成器 range()? 依然是左閉右開曹抬,不包含右邊元素,可以使用步長


三. 語句

最基本的語句:賦值語句? ??

同樣比較基本的語句:運行函數(shù)/方法? ??

條件語句:if ???

循環(huán)語句:for/while循環(huán)急鳄,循環(huán)遍歷序列/字典等

函數(shù)語句:def

模塊語句: import

1.?條件語句 if

① 基本條件判斷

② 多重條件判斷

2. 循環(huán)語句 for? while

① for?語句

②?while語句

③?循環(huán)控制語句

break:在語句塊執(zhí)行過程中終止循環(huán)谤民,并且跳出整個循環(huán)

continue:在語句塊執(zhí)行過程中跳出該次循環(huán),執(zhí)行下一次循環(huán)

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


四.?函數(shù)

函數(shù)組成

函數(shù)名稱?

函數(shù)參數(shù)

函數(shù)內(nèi)的算法赖临,內(nèi)置函數(shù)可以通過help()查看,自定義函數(shù)自己定義算法

1. 常用內(nèi)置函數(shù)

- abs

- sorted? ?

- max

- min

- sum

- len

- divmod(a,b) →獲取商和余數(shù) divmod(5,2) >>(2,1)

- pow(a,b)? 獲取乘方數(shù)灾锯。pow(2,3)>>>8

- round(a,b) 獲取指定位數(shù)的小數(shù)? round(3.1415,2)→3.14

- range()

?2. 常用類型轉(zhuǎn)換函數(shù)

- int()

- float()

- str()

- bool()

- list()

- iter()

- dict()

- enumerate() 返回枚舉對象

- tuple()?

- set() 集合{}

- hex() 轉(zhuǎn)換為16進(jìn)制的

- oct() 轉(zhuǎn)換為8進(jìn)制的

- bin() 轉(zhuǎn)換為2進(jìn)制的

- chr() 轉(zhuǎn)換為相應(yīng)ASCI碼

- ord() 轉(zhuǎn)換ASCI字符為相應(yīng)的數(shù)字

3.?相關(guān)操作函數(shù)

- eval():執(zhí)行一個表達(dá)式,或字符串作為運算嗅榕。eval('1'+'1')>>>2

- exec():執(zhí)行python語句

- type():返回一個對象的類型

- id():返回一個對象的唯一標(biāo)識符

- help():調(diào)用系統(tǒng)內(nèi)置的幫助系統(tǒng)

- global():返回當(dāng)前全局變量的字典

- reversed(sequence):返回一個反轉(zhuǎn)序列的迭代器顺饮。reversed('a','c','b')>>>['b','c','a']

4.?自定義函數(shù)

def 定義函數(shù)? ??

return 賦予該函數(shù)的返回值? ??

在調(diào)用時常常對其進(jìn)賦值

①?局部變量與全局變量

定義在函數(shù)內(nèi)部的變量擁有一個局部作用域,定義在函數(shù)外的擁有全局作用域凌那。

局部變量只能在其被聲明的函數(shù)內(nèi)部訪問兼雄,而全局變量可以在整個程序范圍內(nèi)訪問。調(diào)用函數(shù)時帽蝶,所有在函數(shù)內(nèi)聲明的變量名稱都將被加入到作用域中? ? ??

global語句 → 把局部變量變?yōu)槿肿兞?/span>

?定義一個函數(shù)赦肋,可統(tǒng)計出輸入任意的字符中英文字母、空格励稳、數(shù)字和其它字符的個數(shù)

st.isalpha()? ?判斷字母

st.isspace()? 判斷空格

st.isdigit()? ? 判斷數(shù)字

5. 匿名函數(shù)

格式:f = lambda a,b,c:a+b+c ?? ??

? ? ? ? ? f(1,2,3)>>>6


五.?模塊與包

模塊類似于通過不同的代碼功能佃乘,組合成一個腳本文件,變成一個可重復(fù)利用的獨立功能模塊驹尼,可以封裝調(diào)用

1. 模塊路徑問題

import pandas

print(pandas.__file__)

# 查看現(xiàn)有包所在路徑趣避,將自己創(chuàng)建的包存入該路徑

import sys

sys.path.append('C:/Users/Hjx/Desktop/')

# 加載sys包,把自己創(chuàng)建的包的所在路徑添加上

2. 模塊調(diào)用方式

- import pandas

- From pandas import DataFrame

- import pandas as pd

3.?常用模塊? random新翎、time

①?import random? ? ?

常用:random()程帕、randit()、choice()地啰、sample()愁拭、shuffle()

② import time? ? ?

常用:sleep()、ctime()


注:

%y 兩位數(shù)的年份表示(00-99)

%Y 四位數(shù)的年份表示(000-9999)

%m 月份(01-12)

%d 月內(nèi)中的一天(0-31)

%H 24小時制小時數(shù)(0-23)

%I 12小時制小時數(shù)(01-12)

%M 分鐘數(shù)(00=59)

%S 秒(00-59)

%a 本地簡化星期名稱

%A 本地完整星期名稱

%b 本地簡化的月份名稱

%B 本地完整的月份名稱

%c 本地相應(yīng)的日期表示和時間表示

%j 年內(nèi)的一天(001-366)

%p 本地A.M.或P.M.的等價符

%U 一年中的星期數(shù)(00-53)星期天為星期的開始

%w 星期(0-6)亏吝,星期天為星期的開始

%W 一年中的星期數(shù)(00-53)星期一為星期的開始

%x 本地相應(yīng)的日期表示

%X 本地相應(yīng)的時間表示

%Z 當(dāng)前時區(qū)的名稱


包都可以通過pip進(jìn)行下載安裝? ? ??

- pip list查看當(dāng)前安裝好的包


六. 文件

1.?文件路徑

使用/? 或者 \\ \或者r'',不是可以直接從電腦文件路徑中粘貼過來的

2. 打開文件 open()

f = open(r'C:\Users\Desktop\hello.txt',encoding='utf-8') f.read()print('讀取完畢')# open('路徑', '模式', enconding = '編碼' )# 模式:r:讀取文件岭埠,默認(rèn);w:寫入;rw:讀取+寫入枫攀;a:追加# 簡答的讀取方法:.read() → 讀取后括饶,光標(biāo)將會留在讀取末尾
# 另外一種打開文件的方式,就不需要f.close()with open(r'C:\Users\Desktop\hello.txt',encoding='utf-8') as f:
print(f.read()) print('讀取為空')# 運行第一次.read()之后,光標(biāo)位于末尾来涨,再次讀取輸出為空
f.seek(0) # 將光標(biāo)重新移到開始print(f.read()) print('第二次讀取')# 所以現(xiàn)在用 f.seek(0) 來移動光標(biāo)
f.close()# print(f.read()) # 關(guān)閉后無法讀取# 關(guān)閉文件鏈接 f.close()图焰,養(yǎng)成一個好習(xí)慣

3. 系統(tǒng)模塊下的路徑操作? os

import os

① os.name??# 可以顯示正在使用的平臺,如果是windows蹦掐,則用‘nt’表示技羔,對Linux/Unix用戶,則是'posix'

② os.getcwd()? # 顯示當(dāng)前腳本的文件路徑

③ os.listdir()? ?# 顯示當(dāng)前文件夾下的所有文件

④ os.chdir('C:/Users/Desktop')? # 更改文件路徑卧抗,常用在爬蟲保存文件中

⑤?os.remove(***) # 刪除某某文件

⑥ os.path.split()? # 將文件的路徑以及相應(yīng)文件名分開? ? ?

⑦ os.path.exists() #判斷文件是否存在

⑧絕對路徑與相對路徑

#相對路徑與絕對路徑? ??

f1 = open('C:/Users/Desktop/hello.txt',encoding='utf-8')? ??

os.chdir('C:/Users/Desktop/')? ?

f2 = open('hello.txt',encoding='utf-8') #這種方式打開文件都會在該文件夾下 (在爬蟲的保存文件中非常常用)

4.? 讀取文件 read()藤滥、readline()、readlines()

5.?寫入文件 write()

6. pickle模塊的使用

pickle提供了一個簡單的持久化功能社裆∽景恚可以將對象以文件的形式存放在磁盤上。

python的pickle模塊實現(xiàn)了基本的數(shù)據(jù)序列和反序列化

通過pickle模塊的序列化操作我們能夠?qū)⒊绦蛑羞\行的對象信息保存到文件中去泳秀,永久存儲

通過pickle模塊的反序列化操作标沪,我們能夠從文件中創(chuàng)建上一次程序保存的對象。

pickle.dump() / pickle.load()? ? ? ??文件后綴為pkl


-?END?-


讀書嗜傅、觀影
分享生活的碎片
? ? ? ?? ? 有理想的人不會傷心
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末金句,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吕嘀,更是在濱河造成了極大的恐慌违寞,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偶房,死亡現(xiàn)場離奇詭異趁曼,居然都是意外死亡,警方通過查閱死者的電腦和手機蝴悉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門彰阴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拍冠,你說我怎么就攤上這事尿这。” “怎么了庆杜?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵射众,是天一觀的道長。 經(jīng)常有香客問我晃财,道長叨橱,這世上最難降的妖魔是什么典蜕? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮罗洗,結(jié)果婚禮上愉舔,老公的妹妹穿的比我還像新娘。我一直安慰自己伙菜,他們只是感情好轩缤,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贩绕,像睡著了一般火的。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上淑倾,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天馏鹤,我揣著相機與錄音,去河邊找鬼娇哆。 笑死湃累,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碍讨。 我是一名探鬼主播脱茉,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼垄开!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起税肪,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤溉躲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后益兄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锻梳,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年净捅,在試婚紗的時候發(fā)現(xiàn)自己被綠了疑枯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡蛔六,死狀恐怖荆永,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情国章,我是刑警寧澤具钥,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站液兽,受9級特大地震影響骂删,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一宁玫、第九天 我趴在偏房一處隱蔽的房頂上張望粗恢。 院中可真熱鬧,春花似錦欧瘪、人聲如沸眷射。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凭迹。三九已至,卻和暖如春苦囱,著一層夾襖步出監(jiān)牢的瞬間嗅绸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工撕彤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鱼鸠,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓羹铅,卻偏偏與公主長得像蚀狰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子职员,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355