pass=\'3\'
十多年的江津網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整江津建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“江津網(wǎng)站設(shè)計(jì)”,“江津網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
#同時(shí)輸出多個(gè)變量和字符串
print(“pass:”,pass,)
1.在python中要輸出內(nèi)容時(shí),可以使用輸出語句print。print() 函數(shù)的詳細(xì)語法格式如下:
princ(value,...,sep=\'\',end=\'\\n\',file=sys.stdout,flush=false))
2.從上面的語法格式可以看出value 參數(shù)可以接受任意多個(gè)變量或值,因此 print() 函數(shù)完全可以輸出多個(gè)值,例如如下代碼:
user_name=\'Charlie\'
user_age=8
#同時(shí)輸出多個(gè)變量和字符串
print(“讀者名:”,user_name,“年齡:”,user_age)
3.運(yùn)行上面代碼,可以看到輸出結(jié)果,如下所示:
讀者名:Charlie,年齡:8
4.從輸出結(jié)果來看,使用 print() 函數(shù)輸出多個(gè)變量時(shí),print() 函數(shù)默認(rèn)以空格隔開多個(gè)變量,如果讀者希望改變默認(rèn)的分隔符,可通過 sep 參數(shù)進(jìn)行設(shè)置。
print() 方法用于打印輸出,是python中最常見的一個(gè)函數(shù)。
該函數(shù)的語法如下:
參數(shù)的具體含義如下:
objects --表示輸出的對象。輸出多個(gè)對象時(shí),需要用 , (逗號)分隔。
sep -- 用來間隔多個(gè)對象。
end -- 用來設(shè)定以什么結(jié)尾。默認(rèn)值是換行符 \n,我們可以換成其他字符。
file -- 要寫入的文件對象。
無論什么類型的數(shù)據(jù),包括但不局限于:數(shù)值型,布爾型,列表變量,字典變量...都可以直接輸出。
在C語言中,我們可以使用printf("%-.4f",a)之類的形式,實(shí)現(xiàn)數(shù)據(jù)的的格式化輸出。
在python中,我們同樣可以實(shí)現(xiàn)數(shù)據(jù)的格式化輸出。我們可以先看一個(gè)簡單的例子:
和C語言的區(qū)別在于,Python中格式控制符和轉(zhuǎn)換說明符用%分隔,C語言中用逗號。
接下來我們仔細(xì)探討一下格式化輸出
(1).%字符:標(biāo)記轉(zhuǎn)換說明符的開始。
%字符的用法可參考上例,不再贅述。
最小字段寬度:轉(zhuǎn)換后的字符串至少應(yīng)該具有該值指定的寬度。如果是*(星號),則寬度會從值元組中讀出。
點(diǎn)(.)后跟精度值:如果需要輸出實(shí)數(shù),精度值表示出現(xiàn)在小數(shù)點(diǎn)后的位數(shù)。如果需要輸出字符串,那么該數(shù)字就表示最大字段寬度。如果是*,那么精度將從元組中讀出。
可參考C語言的實(shí)現(xiàn)方式。
注:字段寬度中,小數(shù)點(diǎn)也占一位。
轉(zhuǎn)換標(biāo)志:-表示左對齊;+表示在數(shù)值前要加上正負(fù)號;" "(空白字符)表示正數(shù)之前保留空格();0表示轉(zhuǎn)換值若位數(shù)不夠則用0填充。
具體的我們可以看一下例子:
格式字符 說明 格式字符 說明
%s 字符串采用str()的顯示 %x 十六進(jìn)制整數(shù)
%r 字符串(repr())的顯示 %e 指數(shù)(基底寫e)
%c 單個(gè)字符 %E 指數(shù)(基底寫E)
%b 二進(jìn)制整數(shù) %f,%F 浮點(diǎn)數(shù)
%d 十進(jìn)制整數(shù) %g 指數(shù)(e)或浮點(diǎn)數(shù)(根據(jù)顯示長度)
%i 十進(jìn)制整數(shù) %G 指數(shù)(E)或浮點(diǎn)數(shù)(根據(jù)顯示長度)
%o 八進(jìn)制整數(shù) %% 字符%
在python中,輸出函數(shù)總是默認(rèn)換行,比如說:
而顯然,這種輸出太占“空間”,我們可以進(jìn)行如下改造:
參考文本第一部分對end參數(shù)的描述:end -- 用來設(shè)定以什么結(jié)尾。默認(rèn)值是換行符 \n,我們可以換成其他字符。
Python兩種輸出值的方式: 表達(dá)式語句和 print() 函數(shù)。第三種方式是使用文件對象的 write() 方法,標(biāo)準(zhǔn)輸出文件可以用 sys.stdout 引用。
如果你希望輸出的形式更加多樣,可以使用 str.format() 函數(shù)來格式化輸出值。如果你希望將輸出的值轉(zhuǎn)成字符串,可以使用 repr() 或 str() 函數(shù)來實(shí)現(xiàn)。
str(): 函數(shù)返回一個(gè)用戶易讀的表達(dá)形式。
repr(): 產(chǎn)生一個(gè)解釋器易讀的表達(dá)形式。
str.format() 的使用
讀取鍵盤輸入
Python 提供了 input() 內(nèi)置函數(shù),從標(biāo)準(zhǔn)輸入讀入一行文本,默認(rèn)的標(biāo)準(zhǔn)輸入是鍵盤。
open() 用于打開一個(gè)文件,并返回文件對象,基本語法格式如下:
open(filename, mode='r')
完整的語法格式為:
open(filename, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
參數(shù)說明:
filename: 必需,文件路徑+文件名稱(相對或者絕對路徑)
mode: 可選,文件打開模式:只讀,寫入,追加等,默認(rèn)模式為只讀(r)
buffering: 設(shè)置緩沖
encoding: 一般使用utf8
errors: 報(bào)錯(cuò)級別
newline: 區(qū)分換行符
closefd: 傳入的file參數(shù)類型
opener: 設(shè)置自定義開啟器,開啟器的返回值必須是一個(gè)打開的文件描述符。
不同模式mode打開文件的說明:
t 文本模式 (默認(rèn)的模式)
b 二進(jìn)制模式,一般用于非文本文件如圖片等
x 寫模式,新建一個(gè)文件,如果該文件已存在則會報(bào)錯(cuò)
+ 打開一個(gè)文件進(jìn)行更新(可讀可寫)
r 以只讀方式打開文件。文件的指針將會放在文件的開頭。是默認(rèn)模式。
rb 以二進(jìn)制格式打開一個(gè)文件用于只讀。文件指針將會放在文件的開頭。
r+ 打開一個(gè)文件用于讀寫。文件指針將會放在文件的開頭。
rb+ 以二進(jìn)制格式打開一個(gè)文件用于讀寫。文件指針將會放在文件的開頭。
w 打開一個(gè)文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。
wb 以二進(jìn)制格式打開一個(gè)文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。
w+ 打開一個(gè)文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。
wb+ 以二進(jìn)制格式打開一個(gè)文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會被刪除。如果該文件不存在,創(chuàng)建新文件。
a 打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
ab 以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
a+ 打開一個(gè)文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結(jié)尾。文件打開時(shí)會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。
ab+ 以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。
f.write(string) 將 string 寫入到文件中, 然后返回寫入的字符數(shù)
f.writelines(sequence) 向文件寫入一個(gè)序列字符串列表,如果需要換行則要自己加入每行的換行符。
f.read(size) 讀取一定數(shù)目的數(shù)據(jù), 然后作為字符串或字節(jié)對象返回。size 是一個(gè)可選參數(shù)。當(dāng) size 參數(shù)忽略或者為負(fù), 那么該文件的所有內(nèi)容都將被讀取并且返回。
f.readline() 從文件中讀取單獨(dú)的一行。換行符為 '\n'。讀取整行,包括 "\n" 字符。f.readline() 如果返回一個(gè)空字符串, 說明已經(jīng)讀取到最后一行。
f.readlines([sizeint])] 讀取所有行并返回列表類型,若給定sizeint0,返回總和大約為sizeint字節(jié)的行, 并且將這些字節(jié)按行分割。實(shí)際讀取值可能比 sizeint 較大, 因?yàn)樾枰畛渚彌_區(qū)。
f.tell() 返回文件對象當(dāng)前所處的位置, 它是從文件開頭開始算起的字節(jié)數(shù)。
f.seek() 移動文件讀取指針到指定位置,如果要改變文件當(dāng)前的位置, 可以使用f.seek(offset, from_what) 函數(shù)。from_what 的值(默認(rèn)為0), 如果是 0 表示開頭, 如果是 1 表示當(dāng)前位置, 2 表示文件的結(jié)尾,例如:
seek(x,0) : 從起始位置即文件首行首字符開始移動 x 個(gè)字符
seek(x,1) : 表示從當(dāng)前位置往后移動x個(gè)字符
seek(-x,2):表示從文件的結(jié)尾往前移動x個(gè)字符
file.flush() 刷新文件內(nèi)部緩沖,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫入文件, 而不是被動的等待輸出緩沖區(qū)寫入
file.fileno() 返回一個(gè)整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上
file.isatty() 如果文件連接到一個(gè)終端設(shè)備返回 True,否則返回 False
file.truncate([size]) 從文件的首行首字符開始截?cái)?,截?cái)辔募?size 個(gè)字符,無 size 表示從當(dāng)前位置截?cái)?;截?cái)嘀蠛竺娴乃凶址粍h除,其中 windows 系統(tǒng)下的換行代表2個(gè)字符大小。
f.close() 關(guān)閉文件并釋放系統(tǒng)的資源。關(guān)閉后文件不能再進(jìn)行讀寫操作,否則會拋出異常
當(dāng)處理一個(gè)文件對象時(shí), 使用 with 關(guān)鍵字是非常好的方式。在結(jié)束后, 它會幫你正確的關(guān)閉文件。 而且寫起來也比 try - finally 語句塊要簡短:
python的pickle模塊實(shí)現(xiàn)了基本的數(shù)據(jù)序列和反序列化。通過pickle模塊的序列化操作能夠?qū)⒊绦蛑羞\(yùn)行的對象信息保存到文件中去,永久存儲。通過pickle模塊的反序列化操作能夠從文件中創(chuàng)建上一次程序保存的對象。
基本接口:
pickle.dump(obj, file, [,protocol])
有了 pickle 對象, 就能對 file 以讀取的形式打開:
x = pickle.load(file)
從 file 中讀取一個(gè)字符串,并將它重構(gòu)為原來的python對象。
示例:使用pickle模塊將數(shù)據(jù)對象保存到文件
示例:使用pickle模塊從文件中重構(gòu)python對象