精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
UC頭條:清華畢業大佬整理的Python基礎22大知識點, 自備熱水, 這貨有點干

最近整理了一些Python基礎教程,像數據分析、數據類型、字符串、正則表達式以及最新版Python3.8安裝程序,很多小伙伴都反映不錯,也都領取了相應學習資料。今天咱們就來整理一些干貨,帶大家由淺及深的剖析一下最近的學習教程。

1、Python的兩種編程方式:交互式(隨輸隨運行)和文件式(主要方式;批量運行出結果)

2、一切皆對象,每個對象由標識(id)、類型(type)和值(print)標識。

3、Python采用基于值的內存管理,不同變量賦值為同一個值,ID一樣,但是只適用范圍在-5至256的整數和短字符串。

4、內置函數(BIF),68個,查看方式:dir(builtins)

分類:

數值數據類型:int,float,complex,bool,decimal,fractions

序列數據類型:字符串(string)、列表(list)、元祖(tuple)、bytes、bytearray

集合數據類型:set、frozenset

字典數據類型:dict

不可變的數據類型:數值Number、字符串String、元祖Tuple

可變的數據類型:列表List、字典Dict、集合Set

5.

二進制:0b/0B開頭

八進制:0o/0O開頭

十六進制;0x/0X開頭

6、

數值運算函數:

abs(x):絕對值 ;divmod(x,y):商余 ;pow(x,y,z):冪余((x**y)%z) ;round(x,d):四舍五入d位 ;max/min ; int(x) /float(x) /complex(x)

7、

math庫:

常數:math.pi ;math.fabs(x):絕對值 ;math.fmod(x,y):x%y ;math.ceil(x):向上取整,返回不小于x的最小整數 ;math.floor(x):向下取整,返回不大于x的最大整數 ;math.modf(x):返回x的小數和整數部分 ;math.trunc(x):返回x的整數部分

8、

浮點數類型:0.1 + 0.2不等于 0.3 ,浮點數有小尾數。看是否等于可以用round函數幫助去小尾數。

9、類型間混合運算:

整數 -> 浮點數 -> 復數

10、布爾數據類型(bool)包含兩個值->True(真–1)或假(False–0)。

如果表達式的結果為數值類型的0、空字符串(“”)、空元祖、空列表[]、空字典{},則其布爾值為false(假),否則為true(真)。

11、邏輯運算符:and、or、not

a and b等于a if not a else b ; a or b 等于a if a else b。

not一定會返回true或false;and和or不一定。

12、運算優先級(由高到低)

**(指數)> +x.-x(正負號)> *./.%(乘。除。取余)> +. -(加。減)> &(與)> ^(或)> \(非)>比較大小> not(非)> and(與)>or(或)> lambda表達式

13、序列型數據

(1)序列的索引s[i]:如果索引下標越界,導致IndexError;如果索引下標不是整數,導致TypeError。

(2)序列的切片(截取序列s的一部分):顧頭不顧尾。

(3)序列的加:x + y:連接兩個序列; 序列的乘(復制):x * n:復制n次序列x ;

(4)判斷子串:x in s :返回True/False ; s.count(x):返回x在s中出現的次數 ; s.index(x,i,j):返回x在s(范圍[i,j])中第一次出現的索引位置。

(5)序列的排序:sorted(s, key=None,reverse=False)。reverse為false是為升序,為true時為倒序。返回結果為一個列表。

(6)序列的拆封賦值:當變量個數和序列長度相等時,一一對應賦值。如a,b = (1,2)即a = 1,b = 2。不等則導致ValueError。或使用變量(將多個值作為整體賦給變量)或使用臨時變量‘_’

14、字符串類型

比較字符ASCII碼值的大小:空格<數字<大寫字母<小寫字母

Unicode變字符:chr(u) ;字符變Unicode:ord(x)

format方法的格式控制:

(1)槽{序號}的使用

(2){參數序號:格式控制標記},格式控制標記包括:填充、對齊(分別用<、>、^表示左、 右和居中對齊)、寬度、精度、類型(b=二進制,c=Unicode,d=十進制,o=八進制,xX=十六 進制)。

字符串的類型判斷:

str.isdigit是否全為數字(0-9);str.isalpha是否全為字母;str.isal num是否全為數字或字母;str.isspace是否是空白(空格、制表符、換行符等);str.isprintable是否可打印(空格和沒有東西是可以被打印的);str.isidentifier是否滿足標識符定義規則(字母或下劃線開頭,只含數字、字母和下劃線)

大小寫轉換:str.capitaiize:轉換為首字母大寫,其余小寫;str.title各單詞首字母大寫。

對齊:居中str.center(長度,填充物) ;左對齊:ljust ;右對齊:rjust。

填充:str.zfill(長度)相當于右對齊,前方補0。如果str前有正負號,則正負號也算長度,在正負號之后填充。

移除:左右兩邊:str.strip(字符chars) ; 左邊:str.lstrip ;右邊;rstrip

字符串的查找:find和index

str.find(s):從左至右查找str中是否含s,有則返回第一次出現s的索引位置,否則返回-1

str.index(x):從左至右查找是否含有x,有則返回第一次出現的索引位置,沒有則拋出ValueError

str.rfind和str.rindex就是從右至左查找。

字符串的替換:S.replace(old,new,count)。將S中的old替換為new,如果給定count,則只替換前count個old子串。

拆分/分割:

S.split(分隔符sep,分割次數maxsplit), maxsplit = -1或不指定時,會從左向右搜索完整個字符串。S.rsplit是從右往左。生成列表。

S.partition(sep),S.rpartition(sep)(從右往左搜索)。搜索S中的子串sep,并從第一個sep處分割,返回一個包含三個元素的元組 -->(sep左邊的部分,sep,sep右邊的部分)。如果搜索不到sep,則返回中有兩個元素為空,partition是后兩個元素為空,rpartition是前兩個為空。

連接組合:S.join(字符串對象)。 當對象為字符串字典時,結果是鍵的連接。

15、列表類型

列表list是可變對象,則對其增刪改查不會改變其的id。除了list.copy.

方法:

(1)添加:

list.appand(x):將元素x添加到列表的尾部;

list.extend(L):將列表L中所有元素添加到列表的尾部;

list.insert(index,x):在列表指定位置index處添加元素x;

(2)刪除:

list.remove(x):刪除列表中首次出現的元素x;

list.pop(kediedai[index]):刪除并返回指定位置的元素(可以理解為挖取出),list為空就拋IndexError異常;

list.clear:刪除列表中所有元素,但保留列表對象。

(3)排序:

list.reverse:倒序;

list.sort:排序(正或倒);

(4)其他:

list.index(x):返回值為x首次出現的下標;

list.count(x):返回x的出現總次數;

list.copy :返回列表對象的淺拷貝。很厲害!!它可以改變列表的ID!

**淺拷貝——只拷貝一層。**如果拷貝對象只有一層,那么同b = a[:],兩個變量相互獨立的。但如果拷貝對象只有一層,就會有影響,會跟著改變。

!!列表推導式:

[新元素表達式 for 臨時變量 in 可迭代對象 if 條件表達式]

16、集合類型

集合中的元素沒有順序,且不重復。集合set是可變的,用大括號表示。

但是{}表示空字典;set表示空集合,用set創建集合時,會將元素一個一個拆開,如’hello’變成’h’,‘e’,‘l’,‘l’,‘o’。

集合中元素要是固定數據類型:整數、浮點數、字符串、元組等。不可為可變的列表、字典、集合。

利用集合過濾掉重復的元素。

4種基本操作:交(&)、并(|)、差(-)、補(^)

S.add ;S.clear ;S.copy ; S.remove ;len(S) ;x (not)in S ;

**S.pop:隨機返回S中的一個元素,如果S為空,產生KeyError.(區分list.pop([index]))

特有的:S.discard(X);如果x在S中,移除x,不在,不報錯。

主要三大用途:成員關系測試、元素去重、刪除數據項。

17、字典類型(映射)

{建(key):值(value)}。鍵不能重復,且是不可變對象。值可變。元素沒有順序。

創建一個空字典:dict ;創建字典:dict(‘a’=1,‘b’=2)/dict(‘a’:1,‘b’:2)/dict((‘a’,1),(‘b’,2))

查找值:Dict[key] ;修改鍵值:dict[key] = new_value ;增添新鍵值:dict[new_key] = new_value .

D.keys:返回所有鍵的列表,如dict_keys([‘a’, ‘b’, ‘c’]);

D.values:返回所有值的列表,如dict_values([1, 2, 3]);

D.items:返回所有的鍵值對的列表,如dict_items([(‘a’, 1), (‘b’, 2), (‘c’, 3)]);

D.get(key,v):鍵存在則返回相應值,否則返回None(自定義了v時,返回v的內容);

D.pop(key.value):鍵存在則返回相應值,同時刪除鍵值對,否則返回None;

D.popitem:隨機取出一個鍵值對,以元組(key,value)形式返回;

D.setdefault(k,v):如果鍵k存在,返回對應值,否則添加項目k = v,v默認為None;

D.update(dict):更新或添加鍵值對;

D.clear:刪除所有的鍵值對;

del.D[key]:刪除key對應的鍵值對。如果key不存在,則拋出KeyError。 遍歷:

for 變量名 in 字典名:

18、可變與不可變(關于值)

可變:列表(有序)、集合(無序)、字典(無序)

不可變:字符串(有序)、元組(有序)

Python是基于值的內存管理方式,舉例:a=[1,2,3],b=[1,2,3],a==b成立。 但是id(a)與id(b)不相等,id(a[0])==id(b[0])成立。總結就是關乎值的就相等

什么叫可變?即值是可變的,但id是固定不變的。例如可變的列表,修改列表L中的一個元素的值,列表L的id是不變的。

不管是可變還是不可變的序列類型:

(1)分片必定產生新的序列;

(2)“+”號在等號右邊(L=L+[i]),必定產生新的序列。然后將新的序列地址賦予給等號左邊的變量。(每一次執行時都會將原列表復制一次,L指向新列表,并在新列表中加入新元素)

對三種列表添加方法進行總結:

(1)L=L+[i]在每一次執行時都會將原列表復制一次,L指向新列表,并在新列表中加入新元素。

(2)L.append(i)只是將新元素直接添加到原列表中,不會產生新列表。

(3)L+=[i]的執行效果和L.append(i)類似,也是在原列表中直接添加元素,不會復制原列表。

b = a時,b就是跟著a變化,并且a與b的id一樣。b = a[:]時,b與a是獨立的整體,id就不同,只不過指向了同一個值。對a做修改(增刪改查),對b沒有影響。

19、程序的三種基本結構:

順序結構、·分支結構(if-else、elif)、·循環結構(遍歷:for…in、條件:while。循環控制:break/continue)。

異常值處理:try-except。

二分支結構簡單語法:表達式1 if 條件 else 表達式2

循環結構分遍歷循環(for)和無限循環(while):

遍歷循環:for 循環變量 in 遍歷結構:語句塊(從遍歷結構逐一提取元素,放在循環變量中,對每一個提取出的元素執行一次語句塊。)

無限循環:while 條件:語句塊。判斷條件為True就一直循環,為false時魂環結束,執行與while同級別縮進的后續語句。

break用于結束當前循環,如果有兩層循環,break用于跳出最內層for或while循環,脫離該循環后程序從循環后代碼繼續執行;

continue用來結束當前循環的當次循環過程,即跳出循環體中下面尚未執行的語句,但不跳出當前循環。

當有輸入要求時,可運用異常值處理try:except:

20、函數

(1)形參與實參:定義函數時的參數是形參,調用函數時的參數是實參。

(2)參數傳遞的方法:位置參數、默認值參數、關鍵字參數、命名關鍵字參數。。。

位置參數:按位置順序傳遞參數值,位置參數要在所有參數之前,是第一個參數;

關鍵字參數:關鍵字參數就是在調用函數,傳入實參時指定形參的變量名。關鍵字不用遵守位置的對應關系。參數之間的順序可以任意調整。關鍵字傳遞可以和位置傳遞混用。但位置參數要在關鍵字參數之前。舉例:def hello(name,age = 11,gender = ‘F’):(age = 11,gender = 'F’就是關鍵字參數)

。舉例:def hello(name,age = 11,gender = ‘F’):(age = 11,gender = 'F’就是關鍵字參數)

默認值參數:定義參數時已經給定值,一般參數為不可變對象,(如果為可變的空列表,可用于裝位置參數);

可變數量參數:*args、**kw

帶有星號*的可變參數只能出現在參數列表的后面。調用時,*參數被當作元組類型傳遞到函數中。(如: def func(*args): -> func(10,20))

帶雙星號(**)的參數,在使用時必須指定參數值,使用key=value這種形式,只能出現在參數列表的最后。調用時,**kw后的那些參數被當作字典類型傳遞到函數中。(如:def func(**kw): -> func(a=10,b=20))

強制命名參數:參數帶星號或者就是一個星號(def f(*c或*,a,b,c)),強制命令參數*c的含義是它后面的參數必須用實名調用,即必須用 a = … , b = … 來調用,不能只寫值。

Python中只有函數,函數是有返回值的,**如果沒有return,默認返回None。**return返回多個值時,多個值以元組形式保存。

21、比較

(1)list.sort與全局sorted

list.sort(key = None,reverse = False)是列表內置排序方法。但其返回值為None(x.sort的結果、print(x.sort)、x = x.sort后x的結果都是None),只有當文字說“執行語句x.sort,x的值為”,x.sort作用的結果,需要通過打印被作用的列表才可以查看結果。true是倒序,false是正序。

sorted:Python內置方法。返回新的列表。

(2)list.reverse和reversed

list.reverse返回的是None,其作用的結果,需要通過打印被作用的列表才可以查看結果。

reversed:內置方法。經過reversed作用之后,返回的是一個吧序列值經過倒序的迭代器,所以,需要通過遍歷或list、tuple或next方法,才能獲得作用后的值。

(3)字符串的查找:find和index

str.find(s):從左至右查找str中是否含s,有則返回第一次出現s的索引位置,否則返回-1

str.index(x):從左至右查找是否含有x,有則返回第一次出現的索引位置,沒有則拋出ValueError

str.rfind和str.rindex就是從右至左查找。

22、函數變量的作用域

(1)局部變量、全局變量、global

global:用于在函數中直接修改全局變量的值。

(2)內嵌函數

內嵌函數的作用域僅限其所在的函數體內。如果要在內部函數中修改外部函數中的局部變量的值,使用nonlocal關鍵字。

這些常見知識點,你都掌握了嗎?

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python知識點大全(非常詳細)
Python面試真實筆試題總結(附加實現答案)
聊一聊|如何準備python程序設計計算機二級考試
山腳知識點復習
你必須知道的常用的足夠簡練的 11 個 Python代碼
Python語法大全
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 靖江市| 介休市| 东丰县| 黄梅县| 隆子县| 桑日县| 慈利县| 徐闻县| 静乐县| 武夷山市| 许昌县| 柳林县| 永川市| 丹凤县| 阿拉善右旗| 古丈县| 红原县| 溆浦县| 芦溪县| 萍乡市| 扎赉特旗| 辽阳县| 白水县| 固原市| 许昌市| 和顺县| 定安县| 临邑县| 山阴县| 邯郸县| 梁河县| 恩施市| 黔西县| 巴彦淖尔市| 石嘴山市| 潮州市| 青河县| 长葛市| 清丰县| 公主岭市| 临清市|