wind boss的Python基礎第四課

2021-09-22 21:37:39 字數 4576 閱讀 8606

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,並加上編碼宣告 一定要在第一...