Python入門 第8章 函式

2021-10-24 14:44:26 字數 2586 閱讀 8897

此系列文章的創作初衷是作為讀書過程中的筆記,而非教程類文章。

def

greet()

:print

("hello!"

)def

greetuser

(name)

:print

("hello, "

+ name.title()+

"!")

def

greet()

:"""顯示簡單的問候語"""

print

("hello!"

)

乙個良好的**編寫習慣是,在每個函式頭後都用文件字串的形式說明此函式的功能,就像上面的**一樣。

def

printbookinfo

(bookname, rate)

:print

("book "

+bookname+

" has a rate of "

+rate+

".")

printbookinfo(

"python crash course",4

)

printbookinfo(rate =

4, bookname =

"python crash course"

)

def

printbookinfo

(bookname, rate =4)

:print

("book "

+bookname+

" has a rate of "

+rate+

".")

printbookinfo(

"python crash course"

)

類似於c++,在形參表中必須先列出沒有預設值的形參,再列出有預設值的形參。

f(

list[:

])

deff(

*parameters)

:# do something

這種定義方式會將所有傳入的實參封裝到乙個名為parameters的元組中,即使只有乙個引數時也是如此。注意,不可以增加、刪除或是替換元組中的元素。

def

buildprofile

(first, last,

**otherinfo)

: profile =

profile[

"firstname"

]= first

profile[

"lastname"

]= last

for key, value in otherinfo.items():

profile[key]

= value

print

(profile)

buildprofile(

"albert"

,"einstein"

, field=

"physics"

)

這種方式將所有傳入的鍵-值對封裝到字典中。

存在多種匯入模組的方法:

import module_name
python在執行此行**時,將module_name.py中的所有函式複製到此檔案中。在呼叫函式時,採取 模組.函式名 的方式加以呼叫,具體為:

module_name.function_name(

)

import module_name as m
模組中的函式名並未改變,此時要呼叫module_name中的function_name函式,可以像下面這樣編寫:

m.function_name(

)

from module_name import function_0, function_1, function_2
呼叫模組中的函式時,無需再指定模組名:

function_name(

)

注意:由於無法再使用模組名區分具體函式,當匯入的模組與本檔案中存在同名函式時,本檔案中的函式將會覆蓋模組中的函式(這是因為匯入語句總是在乙個原始檔的開頭部分,這也意味著模組中的函式定義將會位於本檔案的函式定義之前),即便在形參表不同時也是如此。這也說明了python不支援過載函式。

from module_name import function_name as f
from module_name import

*

在使用別人編寫的庫時,不建議採用此做法。這樣做可能導致**長度過長,更重要的是,可能導致函式之間發生覆蓋。推薦的做法是只匯入需要的函式,或者匯入整個模組,然後用模組名指明需要呼叫的函式。

python入門 第8章 切片

1 對list進行切片 小結如下 切面最多可以有三個引數,引數之間使用 來分開,如果第乙個引數不寫,表示從第乙個元素開始,如果第二個引數不寫,表示到最後乙個元素 如果第乙個引數和第二個引數都寫了,那麼取值的時候從索引為第乙個引數開始,到第二個引數索引之間取值,不包含第二個索引對應的值 如果第三個引數...

python入門 第10章 列表生成式

1 生成列表 要生成list 1,2,3,4,5,6,7,8,9,10 我們可以用range 1,11 range 1,11 1,2,3,4,5,6,7,8,9,10 但如果要生成 1x1,2x2,3x3,10x10 怎麼做?方法一是迴圈 l for x in range 1,11 l 1,4,9,...

python入門 第10章 列表生成式

1 生成列表 要生成list 1,2,3,4,5,6,7,8,9,10 我們可以用range 1,11 range 1,11 1,2,3,4,5,6,7,8,9,10 但如果要生成 1x1,2x2,3x3,10x10 怎麼做?方法一是迴圈 l for x in range 1,11 l 1,4,9,...