5.os模組
6.datetime模組
自定義函式:語法:
def 函式名(引數列表):
函式體
引數
1)必需引數
必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。
呼叫printme()函式,必須傳入乙個引數,不然會出現語法錯誤。
2)關鍵字引數
關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值。
使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。
例項:
#!/usr/bin/python3
#可寫函式說明
def printme( str ):
"列印任何傳入的字串"
print (str)
return
#呼叫printme函式
printme( str = "hello")
執行結果:
hello
3)預設引數
呼叫函式時,如果沒有傳遞引數,則會使用預設引數
4)不定長引數
不定長引數宣告時不會命名基本語法如下:
def functionname([formal_args,] *var_args_tuple ):
"函式_文件字串"
function_suite
return [expression]
函式體中 return 語句有指定返回值時返回的就是其值。
函式體中沒有 return 語句時,函式執行結束會隱含返回乙個 none 作為返回值,型別是 nonetype,與 return 、return none 等效,都是返回 none。
指定 return 返回值函式:
def showplus(x):
print(x)
return x + 1
num = showplus(6)
add = num + 2
print(add)
輸出結果:
6
9
隱含 return none :
def showplus(x):
print(x)
num = showplus(6)
print(num)
print(type(num))
輸出結果:
6
none
file方法是open方法的兩個接受引數之一。
open() 方法用於開啟乙個檔案,並返回檔案物件,open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode)。
注意:
使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。
完整的語法格式為:
open(file, mode='r', buffering=-1, encoding=none,
errors=none, newline=none, closefd=true, opener=none)
引數說明:
file: 必需,檔案路徑(相對或者絕對路徑)。
mode: 可選,檔案開啟模式
buffering: 設定緩衝
encoding: 一般使用utf8
errors: 報錯級別
newline: 區分換行符
closefd: 傳入的file引數型別
mode 引數有(預設為文字模式):
引數描述
r以唯讀的方式開啟檔案,檔案的指標將會放在檔案的開頭,為預設模式
rb以二進位制格式開啟乙個檔案用於唯讀,檔案指標會在檔案的開頭
r+開啟乙個檔案用於讀寫,檔案指標將會在檔案的開頭
rb+二進位制格式開啟乙個檔案用於讀寫,檔案指標會放在檔案的開頭
w開啟乙個檔案用於寫入,如果該檔案已存在則將會覆蓋檔案,如果不存在則建立新檔案
wb以二進位制開啟乙個檔案用於寫入
w+開啟乙個檔案用於讀寫
wb+以二進位制格式開啟乙個檔案用於讀寫,如果檔案存在則覆蓋,如果不存在則建立新檔案
a開啟乙個檔案用於追加內容,如果檔案已存在,檔案指標會放在檔案的結尾,如果不存在則建立新檔案進行寫入
ab以二進位制格式開啟乙個檔案用於追加寫入
a+開啟乙個檔案用於讀寫,如果該檔案已存在,檔案指標會放在結尾,檔案開啟時會是追加模式,該檔案不存在則建立新檔案
ab+以二進位制格式開啟乙個檔案用於追加。
file.close()
關閉檔案。關閉後檔案不能再進行讀寫操作。
file.flush()
重新整理檔案內部緩衝,直接把內部緩衝區的資料立刻寫入檔案, 而不是被動的等待輸出緩衝區寫入。
file.fileno()
返回乙個整型的檔案描述符(file descriptor fd 整型), 可以用在如os模組的read方法等一些底層操作上
file.isatty()
如果檔案連線到乙個終端裝置返回 true,否則返回 false。
file.next()
返回檔案下一行。
file.read([size])
從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。
file.readline([size])
讀取整行,包括 「\n」 字元。
file.readlines([sizeint])
讀取所有行並返回列表,若給定sizeint>0,則是設定一次讀多少位元組,這是為了減輕讀取壓力。
file.seek(offset[, whence])
設定檔案當前位置
file.tell()
返回檔案當前位置。
file.truncate([size])
擷取檔案,擷取的位元組通過size指定,預設為當前檔案位置。
file.write(str)
將字串寫入檔案,返回的是寫入的字元長度。
file.writelines(sequence)
向檔案寫入乙個序列字串列表,如果需要換行則要自己加入每行的換行符。
不要這麼懶,自己去練習啦!!!
os 模組提供許多的方法用來處理檔案和目錄。
參考:1、date類
datetime.date(year, month, day)
靜態方法和字段:
date.max、date.min:date物件所能表示的最大、最小日期;
date.resolution:date物件表示日期的最小單位。這裡是天。
date.today():返回乙個表示當前本地日期的date物件;
date.fromtimestamp(timestamp):根據給定的時間戮,返回乙個date物件;
2、time類
datetime.time(hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] )
靜態方法和字段:
time.min、time.max:time類所能表示的最小、最大時間。其中,time.min = time(0, 0, 0, 0), time.max = time(23, 59, 59, 999999);
time.resolution:時間的最小單位,這裡是1微秒;
3、datetime類
datetime相當於date和time結合起來。
datetime.datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
靜態方法和字段:
datetime.today():返回乙個表示當前本地時間的datetime物件;
datetime.now([tz]):返回乙個表示當前本地時間的datetime物件,如果提供了引數tz,則獲取tz引數所指時區的本地時間;
datetime.utcnow():返回乙個當前utc時間的datetime物件;#格林威治時間
datetime.fromtimestamp(timestamp[, tz]):根據時間戮建立乙個datetime物件,引數tz指定時區資訊;
datetime.utcfromtimestamp(timestamp):根據時間戮建立乙個datetime物件;
datetime.combine(date, time):根據date和time,建立乙個datetime物件;
datetime.strptime(date_string, format):將格式字串轉換為datetime物件;
4.timedelta類,時間加減
使用timedelta可以很方便的在日期上做天days,小時hour,分鐘,秒,毫秒,微妙的時間計算,如果要計算月份則需要另外的辦法。
python的包 python的包
1.把解決一類問題的模組放在同乙個資料夾裡,這個資料夾就是包 2.通過import或是from.import匯入時必須遵循乙個原則 a 凡是在匯入時帶點的,點的左邊都必須是乙個包,否則非法 b 匯入後,使用時點的左邊可以是包,模組,類,函式 它們都可以用點的方式調節用自己的屬性 c from.imp...
python的語句 Python的語句
python中的兩種語句 1 if條件控制語句 格式 if a int input 請輸入第乙個數 b int input 請輸入第二個數 if a b print a比b小 if else a int input 請輸入第乙個數 b int input 請輸入第二個數 if a b print a...
Python(四)python的注釋
一 python單行注釋符號 python中單行注釋採用 開頭二 批量 多行注釋符號 多行注釋是用三引號 包含的,例如 三 python中文注釋方法 如果檔案裡有非ascii字元,需要在第一行或第二行指定編碼宣告。把chinesetest.py檔案的編碼重新改為ansi,並加上編碼宣告 一定要在第一...