溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

完美Python入門基礎知識點總結,看完你的Python就完全入門了!

發(fā)布時間:2020-08-05 00:04:53 來源:ITPUB博客 閱讀:175 作者:程序員啟航 欄目:編程語言

完美Python入門基礎知識點總結,看完你的Python就完全入門了!

Python標識符

在 Python 里,標識符有字母、數(shù)字、下劃線組成。

在 Python 中,所有標識符可以包括英文、數(shù)字以及下劃線(_),但不能以數(shù)字開頭。

Python 中的標識符是區(qū)分大小寫的。

以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用 from xxx import * 而導入;

以雙下劃線開頭的 foo 代表類的私有成員;以雙下劃線開頭和結尾的 foo 代表 Python 里特殊方法專用的標識,如 init__() 代表類的構造函數(shù)。

Python有五個標準的數(shù)據類型

Numbers(數(shù)字)

String(字符串)

List(列表)

Tuple(元組)

Dictionary(字典)

Python支持四種不同的數(shù)字類型

int(有符號整型)

long(長整型[也可以代表八進制和十六進制])

float(浮點型)

complex(復數(shù))

python的字串列表有2種取值順序

從左到右索引默認0開始的,最大范圍是字符串長度少1

從右到左索引默認-1開始的,最大范圍是字符串開頭

List(列表) 是 Python 中使用最頻繁的數(shù)據類型

列表可以完成大多數(shù)集合類的數(shù)據結構實現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。

如果你依然在編程的世界里迷茫,可以加入我們的Python學習扣qun:784758214,看看前輩們是如何學習的。交流經驗。從基礎的python腳本到web開發(fā)、爬蟲、django、數(shù)據挖掘等,零基礎到項目實戰(zhàn)的資料都有整理。送給每一位python的小伙伴!分享一些學習的方法和需要注意的小細節(jié),點擊加入我們的 python學習者聚集地

列表用 [ ] 標識,是 python 最通用的復合數(shù)據類型。

列表中值的切割也可以用到變量 [頭下標:尾下標] ,就可以截取相應的列表,從左到右索引默認 0 開始,從右到左索引默認 -1 開始,下標可以為空表示取到頭或尾。

加號 + 是列表連接運算符,星號 * 是重復操作。

元組是另一個數(shù)據類型,類似于List(列表)

元組用”()”標識。內部元素用逗號隔開。但是元組不能二次賦值,相當于只讀列表。

字典(dictionary)是除列表以外python之中最靈活的內置數(shù)據結構類型

列表是有序的對象結合,字典是無序的對象集合。兩者之間的區(qū)別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典用”{ }”標識。字典由索引(key)和它對應的值value組成。

Python數(shù)據類型轉換

有時候,我們需要對數(shù)據內置的類型進行轉換,數(shù)據類型的轉換,你只需要將數(shù)據類型作為函數(shù)名即可。

以下幾個內置的函數(shù)可以執(zhí)行數(shù)據類型之間的轉換。這些函數(shù)返回一個新的對象,表示轉換的值。

函數(shù)描述

int(x [,base])將x轉換為一個整數(shù)

long(x [,base] )將x轉換為一個長整數(shù)

float(x)將x轉換到一個浮點數(shù)

complex(real [,imag])創(chuàng)建一個復數(shù)

str(x)將對象 x 轉換為字符串

repr(x)將對象 x 轉換為表達式字符串

eval(str)用來計算在字符串中的有效Python表達式,并返回一個對象

tuple(s)將序列 s 轉換為一個元組

list(s)將序列 s 轉換為一個列表

set(s)轉換為可變集合

dict(d)創(chuàng)建一個字典。d 必須是一個序列 (key,value)元組。

frozenset(s)轉換為不可變集合

chr(x)將一個整數(shù)轉換為一個字符

unichr(x)將一個整數(shù)轉換為Unicode字符

ord(x)將一個字符轉換為它的整數(shù)值

hex(x)將一個整數(shù)轉換為一個十六進制字符串

oct(x)將一個整數(shù)轉換為一個八進制字符串

Python 運算符

算術運算符

比較(關系)運算符

賦值運算符

邏輯運算符

位運算符

成員運算符

身份運算符

運算符優(yōu)先級

python算術運算符

運算符描述實例

+加 - 兩個對象相加a + b 輸出結果 30

-減 - 得到負數(shù)或是一個數(shù)減去另一個數(shù)a - b 輸出結果 -10

乘 - 兩個數(shù)相乘或是返回一個被重復若干次的字符串a b 輸出結果 200

/除 - x除以yb / a 輸出結果 2

%取模 - 返回除法的余數(shù)b % a 輸出結果 0

冪 - 返回x的y次冪ab 為10的20次方, 輸出結果 100000000000000000000

//取整除 - 返回商的整數(shù)部分9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0

python比較運算符

以下假設變量a為10,變量b為20:

運算符描述實例

==等于 - 比較對象是否相等(a == b) 返回 False。

!=不等于 - 比較兩個對象是否不相等(a != b) 返回 true.

<>不等于 - 比較兩個對象是否不相等(a <> b) 返回 true。這個運算符類似 != 。

大于 - 返回x是否大于y(a > b) 返回 False。

<小于 - 返回x是否小于y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。(a < b) 返回 true。

=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。

<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 true。

Python賦值運算符

以下假設變量a為10,變量b為20:

運算符描述實例

=簡單的賦值運算符c = a + b 將 a + b 的運算結果賦值為 c

+=加法賦值運算符c += a 等效于 c = c + a

-=減法賦值運算符c -= a 等效于 c = c - a

=乘法賦值運算符c = a 等效于 c = c * a

/=除法賦值運算符c /= a 等效于 c = c / a

%=取模賦值運算符c %= a 等效于 c = c % a

=冪賦值運算符c = a 等效于 c = c ** a

//=取整除賦值運算符c //= a 等效于 c = c // a

Python位運算符

下表中變量 a 為 60,b 為 13,二進制格式如下:

a = 0011 1100b = 0000 1101————————-a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a = 1100 0011

運算符描述實例

&按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0(a & b) 輸出結果 12 ,二進制解釋: 0000 1100

|按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。(a | b) 輸出結果 61 ,二進制解釋: 0011 1101

^按位異或運算符:當兩對應的二進位相異時,結果為1(a ^ b) 輸出結果 49 ,二進制解釋: 0011 0001

~按位取反運算符:對數(shù)據的每個二進制位取反,即把1變?yōu)?,把0變?yōu)?(~a ) 輸出結果 -61 ,二進制解釋: 1100 0011, 在一個有符號二進制數(shù)的補碼形式。

<<左移動運算符:運算數(shù)的各二進位全部左移若干位,由”<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。a << 2 輸出結果 240 ,二進制解釋: 1111 0000

右移動運算符:把”>>”左邊的運算數(shù)的各二進位全部右移若干位,”>>”右邊的數(shù)指定移動的位數(shù)a >> 2 輸出結果 15 ,二進制解釋: 0000 1111

Python邏輯運算符

Python語言支持邏輯運算符,以下假設變量 a 為 10, b為 20:

運算符邏輯表達式描述實例

andx and y布爾”與” - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。(a and b) 返回 20。

orx or y布爾”或” - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。(a or b) 返回 10。

notnot x布爾”非” - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。not(a and b) 返回 False

Python成員運算符

除了以上的一些運算符之外,Python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。

運算符描述實例

in如果在指定的序列中找到值返回 True,否則返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。

not in如果在指定的序列中沒有找到值返回 True,否則返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

Python身份運算符

身份運算符用于比較兩個對象的存儲單元

運算符描述實例

isis 是判斷兩個標識符是不是引用自一個對象x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False

is notis not 是判斷兩個標識符是不是引用自不同對象x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False。

注:is 與 == 區(qū)別:

is 用于判斷兩個變量引用對象是否為同一個, == 用于判斷引用變量的值是否相等。

Python 循環(huán)語句

Python提供了for循環(huán)和while循環(huán)(在Python中沒有do..while循環(huán)):

循環(huán)類型描述

while 循環(huán)在給定的判斷條件為 true 時執(zhí)行循環(huán)體,否則退出循環(huán)體。

for 循環(huán)重復執(zhí)行語句

嵌套循環(huán)你可以在while循環(huán)體中嵌套for循環(huán)

循環(huán)控制語句可以更改語句執(zhí)行的順序。Python支持以下循環(huán)控制語句:

控制語句描述

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

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

pass 語句pass是空語句,是為了保持程序結構的完整性。

Python Number(數(shù)字)

Python 支持四種不同的數(shù)值類型:

整型(Int) - 通常被稱為是整型或整數(shù),是正或負整數(shù),不帶小數(shù)點。

長整型(long integers) - 無限大小的整數(shù),整數(shù)最后是一個大寫或小寫的L。

浮點型(floating point real values) - 浮點型由整數(shù)部分與小數(shù)部分組成,浮點型也可以使用科學計數(shù)法表示(2.5e2 = 2.5 x 102 = 250)

復數(shù)(complex numbers) - 復數(shù)由實數(shù)部分和虛數(shù)部分構成,可以用a + bj,或者complex(a,b)表示, 復數(shù)的實部a和虛部b都是浮點型。

注:長整型也可以使用小寫”L”,但是還是建議您使用大寫”L”,避免與數(shù)字”1”混淆。Python使用”L”來顯示長整型。

Python還支持復數(shù),復數(shù)由實數(shù)部分和虛數(shù)部分構成,可以用a + bj,或者complex(a,b)表示, 復數(shù)的實部a和虛部b都是浮點型

Python Number類型轉換

int(x [,base])將x轉換為一個整數(shù)

long(x [,base])將x轉換為一個長整數(shù)

float(x )將x轉換到一個浮點數(shù)

complex(real [,imag ])創(chuàng)建一個復數(shù)

str(x )將對象 x 轉換為字符串

repr(x )將對象 x 轉換為表達式字符串

eval(str ) 用來計算在字符串中的有效Python表達式,并返回一個對象

tuple(s )將序列 s 轉換為一個元組

list(s )將序列 s 轉換為一個列表

chr(x )將一個整數(shù)轉換為一個字符

unichr(x )將一個整數(shù)轉換為Unicode字符

ord(x )將一個字符轉換為它的整數(shù)值

hex(x )將一個整數(shù)轉換為一個十六進制字符串

oct(x )將一個整數(shù)轉換為一個八進制字符串

python數(shù)學函數(shù)

函數(shù)返回值 ( 描述 )

abs(x)返回數(shù)字的絕對值,如abs(-10) 返回 10

ceil(x)返回數(shù)字的上入整數(shù),如math.ceil(4.1) 返回 5

cmp(x, y)如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

exp(x)返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045

fabs(x)返回數(shù)字的絕對值,如math.fabs(-10) 返回10.0

floor(x)返回數(shù)字的下舍整數(shù),如math.floor(4.9)返回 4

log(x)如math.log(math.e)返回1.0,math.log(100,10)返回2.0

log10(x)返回以10為基數(shù)的x的對數(shù),如math.log10(100)返回 2.0

max(x1, x2,…)返回給定參數(shù)的最大值,參數(shù)可以為序列。

min(x1, x2,…)返回給定參數(shù)的最小值,參數(shù)可以為序列。

modf(x)返回x的整數(shù)部分與小數(shù)部分,兩部分的數(shù)值符號與x相同,整數(shù)部分以浮點型表示。

pow(x, y)x**y 運算后的值。

round(x [,n])返回浮點數(shù)x的四舍五入值,如給出n值,則代表舍入到小數(shù)點后的位數(shù)。

sqrt(x)返回數(shù)字x的平方根,數(shù)字可以為負數(shù),返回類型為實數(shù),如math.sqrt(4)返回 2+0j

Python隨機函數(shù)

隨機數(shù)可以用于數(shù)學,游戲,安全等領域中,還經常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用隨機數(shù)函數(shù)

函數(shù)描述

choice(seq)從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數(shù)。

randrange ([start,] stop [,step])從指定范圍內,按指定基數(shù)遞增的集合中獲取一個隨機數(shù),基數(shù)缺省值為1

random()隨機生成下一個實數(shù),它在[0,1)范圍內。

seed([x])改變隨機數(shù)生成器的種子seed。如果你不了解其原理,你不必特別去設定seed,Python會幫你選擇seed。

shuffle(lst)將序列的所有元素隨機排序

uniform(x, y)隨機生成下一個實數(shù),它在[x,y]范圍內。

Python三角函數(shù)

Python包括以下三角函數(shù)

函數(shù)描述

acos(x)返回x的反余弦弧度值。

asin(x)返回x的反正弦弧度值。

atan(x)返回x的反正切弧度值。

atan2(y, x)返回給定的 X 及 Y 坐標值的反正切值。

cos(x)返回x的弧度的余弦值。

hypot(x, y)返回歐幾里德范數(shù) sqrt(x x + yy)。

sin(x)返回的x弧度的正弦值。

tan(x)返回x弧度的正切值。

degrees(x)將弧度轉換為角度,如degrees(math.pi/2) , 返回90.0

radians(x)將角度轉換為弧度

Python數(shù)學常量

常量描述

pi數(shù)學常量 pi(圓周率,一般以π來表示)

e數(shù)學常量 e,e即自然常數(shù)(自然常數(shù))。

Python字符串

Python轉義字符

在需要在字符中使用特殊字符時,python用反斜杠()轉義字符。

如下表:

轉義字符描述

(在行尾時)續(xù)行符

\反斜杠符號

‘單引號

“雙引號

a響鈴

退格(Backspace)

e轉義

換行

縱向制表符

橫向制表符

回車

換頁

oyy八進制數(shù),yy代表的字符,例如:o12代表換行

\xyy十六進制數(shù),yy代表的字符,例如:\x0a代表換行

other其它的字符以普通格式輸出

Python字符串運算符

下表實例變量 a 值為字符串 “Hello”,b 變量值為 “Python”

操作符描述實例

+字符串連接>>>a + b’HelloPython’

重復輸出字符串>>>a 2’HelloHello’

[]通過索引獲取字符串中字符>>>a[1]’e’

[ : ]截取字符串中的一部分>>>a[1:4]’ell’

in成員運算符 - 如果字符串中包含給定的字符返回 True>>>”H”inaTrue

not in成員運算符 - 如果字符串中不包含給定的字符返回 True>>>”M”notinaTrue

r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思來使用,沒有轉義特殊或不能打印的字符。 原始字符串除在字符串的第一個引號前加上字母”r”(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法。>>>printr’ ‘ >>> printR’ ‘

%格式字符串請看下一章節(jié)

Python字符串格式化

Python 支持格式化字符串的輸出 。盡管這樣可能會用到非常復雜的表達式,但最基本的用法是將一個值插入到一個有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用與 C 中 sprintf 函數(shù)一樣的語法。

如下實例:

!/usr/bin/pythonprint “My name is %s and weight is %d kg!” % (‘Zara’, 21)

以上實例輸出結果:

My name is Zara and weight is 21 kg!

python字符串格式化符號:

符號描述

%c 格式化字符及其ASCII碼

%s 格式化字符串

%d 格式化整數(shù)

%u 格式化無符號整型

%o 格式化無符號八進制數(shù)

%x 格式化無符號十六進制數(shù)

%X 格式化無符號十六進制數(shù)(大寫)

%f 格式化浮點數(shù)字,可指定小數(shù)點后的精度

%e 用科學計數(shù)法格式化浮點數(shù)

%E 作用同%e,用科學計數(shù)法格式化浮點數(shù)

%g %f和%e的簡寫

%G %f 和 %E 的簡寫

%p 用十六進制數(shù)格式化變量的地址

Python列表

Python包含以下函數(shù):

序號函數(shù)

1cmp(list1, list2)

比較兩個列表的元素

2len(list)

列表元素個數(shù)

3max(list)

返回列表元素最大值

4min(list)

返回列表元素最小值

5list(seq)

將元組轉換為列表

Python包含以下方法

序號方法

1list.append(obj)

在列表末尾添加新的對象

2list.count(obj)

統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)

3list.extend(seq)

在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)

4list.index(obj)

從列表中找出某個值第一個匹配項的索引位置

5list.insert(index, obj)

將對象插入列表

6list.pop(obj=list[-1])

移除列表中的一個元素(默認最后一個元素),并且返回該元素的值

7list.remove(obj)

移除列表中某個值的第一個匹配項

8list.reverse()

反向列表中元素

9list.sort([func])

對原列表進行排序

Python元組

Python的元組(tuple)與列表類似,不同之處在于元組的元素不能修改。

元組使用小括號,列表使用方括號。

元組內置函數(shù):

Python元組包含了以下內置函數(shù)

序號方法及描述

1cmp(tuple1, tuple2)

比較兩個元組元素。

2len(tuple)

計算元組元素個數(shù)。

3max(tuple)

返回元組中元素最大值。

4min(tuple)

返回元組中元素最小值。

5tuple(seq)

將列表轉換為元組。

Python字典(dictionary)

字典是另一種可變容器模型,且可存儲任意類型對象。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中

字典內置函數(shù)及方法:

Python字典包含了以下內置函數(shù):

序號函數(shù)及描述

1cmp(dict1, dict2)

比較兩個字典元素。

2len(dict)

計算字典元素個數(shù),即鍵的總數(shù)。

3str(dict)

輸出字典可打印的字符串表示。

4type(variable)

返回輸入的變量類型,如果變量是字典就返回字典類型。

Python字典包含了以下內置方法:

序號函數(shù)及描述

1dict.clear()

刪除字典內所有元素

2dict.copy()

返回一個字典的淺復制

3dict.fromkeys(seq[, val]))

創(chuàng)建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值

4dict.get(key, default=None)

返回指定鍵的值,如果值不在字典中返回default值

5dict.has_key(key)

如果鍵在字典dict里返回true,否則返回false

6dict.items()

以列表返回可遍歷的(鍵, 值) 元組數(shù)組

7dict.keys()

以列表返回一個字典所有的鍵

8dict.setdefault(key, default=None)

和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設為default

9dict.update(dict2)

把字典dict2的鍵/值對更新到dict里

10dict.values()

以列表返回字典中的所有值

11pop(key[,default])

刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。

12popitem()

隨機返回并刪除字典中的一對鍵和值。

匿名函數(shù)lambda

python 使用 lambda 來創(chuàng)建匿名函數(shù)。

lambda只是一個表達式,函數(shù)體比def簡單很多。

lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。

lambda函數(shù)擁有自己的命名空間,且不能訪問自有參數(shù)列表之外或全局命名空間里的參數(shù)。

雖然lambda函數(shù)看起來只能寫一行,卻不等同于C或C++的內聯(lián)函數(shù),后者的目的是調用小函數(shù)時不占用棧內存從而增加運行效率。

如:

sum =lambda arg1, arg2: arg1 + arg2;print”相加后的值為 : “, sum(10,20) //輸出30

python import語句

From…import語句

Python 的 from 語句讓你從模塊中導入一個指定的部分到當前命名空間中。語法如下:

from modname import name1[, name2[, … nameN]]

例如,要導入模塊 fib 的 fibonacci 函數(shù),使用如下語句:

from fib import fibonacci

這個聲明不會把整個 fib 模塊導入到當前的命名空間中,它只會將 fib 里的 fibonacci 單個引入到執(zhí)行這個聲明的模塊的全局符號表。

From…import*語句

把一個模塊的所有內容全都導入到當前的命名空間也是可行的,只需使用如下聲明:

from modname import *

這提供了一個簡單的方法來導入一個模塊中的所有項目。然而這種聲明不該被過多地使用。

例如我們想一次性引入 math 模塊中所有的東西,語句如下:

from math import*

Python文件操作

打開和關閉文件

現(xiàn)在,您已經可以向標準輸入和輸出進行讀寫?,F(xiàn)在,來看看怎么讀寫實際的數(shù)據文件。

Python 提供了必要的函數(shù)和方法進行默認情況下的文件基本操作。你可以用 file 對象做大部分的文件操作。

open函數(shù)

你必須先用Python內置的open()函數(shù)打開一個文件,創(chuàng)建一個file對象,相關的方法才可以調用它進行讀寫。

語法:

file object = open(file_name [, access_mode][, buffering])

各個參數(shù)的細節(jié)如下:

file_name:file_name變量是一個包含了你要訪問的文件名稱的字符串值。

access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數(shù)是非強制的,默認文件訪問模式為只讀(r)。

buffering:如果buffering的值被設為0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負值,寄存區(qū)的緩沖大小則為系統(tǒng)默認。

不同模式打開文件的完全列表:

模式描述

r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。

rb以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認模式。

r+打開一個文件用于讀寫。文件指針將會放在文件的開頭。

rb+以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。

w打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

wb以二進制格式打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

w+打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

wb+以二進制格式打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。

a打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創(chuàng)建新文件進行寫入。

ab以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創(chuàng)建新文件進行寫入。

a+打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。

ab+以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。

File對象的屬性

一個文件被打開后,你有一個file對象,你可以得到有關該文件的各種信息。

以下是和file對象相關的所有屬性的列表:

屬性描述

file.closed返回true如果文件已被關閉,否則返回false。

file.mode返回被打開文件的訪問模式。

file.name返回文件的名稱。

file.softspace如果用print輸出后,必須跟一個空格符,則返回false。否則返回true。

close()方法

File 對象的 close()方法刷新緩沖區(qū)里任何還沒寫入的信息,并關閉該文件,這之后便不能再進行寫入。

當一個文件對象的引用被重新指定給另一個文件時,Python 會關閉之前的文件。用 close()方法關閉文件是一個很好的習慣。

語法:

fileObject.close();

write()方法

write()方法可將任何字符串寫入一個打開的文件。需要重點注意的是,Python字符串可以是二進制數(shù)據,而不是僅僅是文字。

write()方法不會在字符串的結尾添加換行符(‘ ‘):

語法:

fileObject.write(string);

read()方法

read()方法從一個打開的文件中讀取一個字符串。需要重點注意的是,Python字符串可以是二進制數(shù)據,而不是僅僅是文字。

語法:

fileObject.read([count]);

文件定位

tell()方法告訴你文件內的當前位置;換句話說,下一次的讀寫會發(fā)生在文件開頭這么多字節(jié)之后。

seek(offset [,from])方法改變當前文件的位置。Offset變量表示要移動的字節(jié)數(shù)。From變量指定開始移動字節(jié)的參考位置。

如果from被設為0,這意味著將文件的開頭作為移動字節(jié)的參考位置。如果設為1,則使用當前的位置作為參考位置。如果它被設為2,那么該文件的末尾將作為參考位置。

重命名和刪除文件

Python的os模塊提供了幫你執(zhí)行文件處理操作的方法,比如重命名和刪除文件。

要使用這個模塊,你必須先導入它,然后才可以調用相關的各種功能。

remove方法

你可以用remove()方法刪除文件,需要提供要刪除的文件名作為參數(shù)。

Python里的目錄

所有文件都包含在各個不同的目錄下,不過Python也能輕松處理。os模塊有許多方法能幫你創(chuàng)建,刪除和更改目錄。

mkdir()方法

可以使用os模塊的mkdir()方法在當前目錄下創(chuàng)建新的目錄們。你需要提供一個包含了要創(chuàng)建的目錄名稱的參數(shù)。

語法:

os.mkdir(“newdir”)

chdir()方法

可以用chdir()方法來改變當前的目錄。chdir()方法需要的一個參數(shù)是你想設成當前目錄的目錄名稱。

語法:

os.chdir(“newdir”)

rmdir()方法

rmdir()方法刪除目錄,目錄名稱以參數(shù)傳遞。

在刪除這個目錄之前,它的所有內容應該先被清除。

語法:

os.rmdir(‘dirname’)

文件、目錄相關方法

三個重要的方法來源能對Windows和Unix操作系統(tǒng)上的文件及目錄進行一個廣泛且實用的處理及操控,如下:

File 對象方法: file對象提供了操作文件的一系列方法。

OS 對象方法: 提供了處理文件及目錄的一系列方法。

Python File(文件)方法

file 對象使用 open 函數(shù)來創(chuàng)建,下表列出了 file 對象常用的函數(shù):

序號方法及描述

1file.close()

關閉文件。關閉后文件不能再進行讀寫操作。

2file.flush()

刷新文件內部緩沖,直接把內部緩沖區(qū)的數(shù)據立刻寫入文件, 而不是被動的等待輸出緩沖區(qū)寫入。

3file.fileno()

返回一個整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上。

4file.isatty()

如果文件連接到一個終端設備返回 True,否則返回 False。

5file.next()

返回文件下一行。

6file.read([size])

從文件讀取指定的字節(jié)數(shù),如果未給定或為負則讀取所有。

7file.readline([size])

讀取整行,包括 “ “ 字符。

8file.readlines([sizehint])

讀取所有行并返回列表,若給定sizeint>0,返回總和大約為sizeint字節(jié)的行, 實際讀取值可能比sizhint較大, 因為需要填充緩沖區(qū)。

9file.seek(offset[, whence])

設置文件當前位置

10file.tell()

返回文件當前位置。

11file.truncate([size])

截取文件,截取的字節(jié)通過size指定,默認為當前文件位置。

12file.write(str)

將字符串寫入文件,沒有返回值。

13file.writelines(sequence)

向文件寫入一個序列字符串列表,如果需要換行則要自己加入每行的換行符。

在學習過程中有什么不懂得可以加我的
python學習交流扣扣qun,784758214
群里有不錯的學習視頻教程、開發(fā)工具與電子書籍。
與你分享python企業(yè)當下人才需求及怎么從零基礎學習好python,和學習什么內容

Python內置函數(shù)

內置函數(shù)

abs()divmod()input()open()staticmethod()

all()enumerate()int()ord()str()

any()eval()isinstance()pow()sum()

basestring()execfile()issubclass()print()super()

bin()file()iter()property()tuple()

bool()filter()len()range()type()

bytearray()float()list()raw_input()unichr()

callable()format()locals()reduce()unicode()

chr()frozenset()long()reload()vars()

classmethod()getattr()map()repr()xrange()

cmp()globals()max()reversed()zip()

compile()hasattr()memoryview()round() import()

complex()hash()min()set()

delattr()help()next()setattr()

dict()hex()object()slice()

dir()id()oct()sorted()exec 內置表達式

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI