python基礎 任務4

2021-09-16 20:00:56 字數 3547 閱讀 6011

函式關鍵字

python 定義函式使用 def 關鍵字,

函式的定義

python 定義函式的一般格式如下:

def 函式名(引數列表):

函式體

函式引數與作用域

以下是呼叫函式時可使用的正式引數型別:

1.必需引數

必需引數須以正確的順序傳入函式,呼叫時的數量必須和宣告時的一樣。

2.關鍵字引數

關鍵字引數和函式呼叫關係緊密,函式呼叫使用關鍵字引數來確定傳入的引數值。

使用關鍵字引數允許函式呼叫時引數的順序與宣告時不一致,因為 python 直譯器能夠用引數名匹配引數值。

3.預設引數

呼叫函式時,如果沒有傳遞引數,則會使用預設引數。

4.不定長引數

你可能需要乙個函式能處理比當初宣告時更多的引數。這些引數叫做不定長引數。

加了星號 * 的引數會以元組(tuple)的形式匯入,存放所有未命名的變數引數:

def

printinfo

( arg1,

*vartuple )

:"列印任何傳入的引數"

print

("輸出: "

)print

(arg1)

print

(vartuple)

# 呼叫printinfo 函式

printinfo(70,

60,50)

輸出為:

70(60

,50)

加了兩個星號 ** 的引數會以字典的形式匯入:

def

printinfo

( arg1,

**vardict )

:# "列印任何傳入的引數"

print

("輸出: "

)print

(arg1)

print

(vardict)

# 呼叫printinfo 函式

printinfo(

1, a=

2,b=

3)

輸出為:

1

宣告函式時,引數中星號 * 可以單獨出現,但星號 * 後的引數必須用關鍵字傳入:

>>

>

deff

(a,b,

*,c):.

..return a+b+c..

.>>

> f(1,

2,3)

# 報錯

traceback (most recent call last)

: file ""

, line 1,in

typeerror: f(

) takes 2 positional arguments but 3 were given

>>

> f(1,

2,c=3)

# 正常

6>>

>

python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在**賦值的。

變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python的作用域一共有4種,分別是:

l (local) 區域性作用域

e (enclosing) 閉包函式外的函式中

g (global) 全域性作用域

b (built-in) 內建作用域(內建函式所在模組的範圍)

4. 函式返回值

函式體中 return 語句的結果就是返回值。如果乙個函式沒有 reutrn 語句,其實它有乙個隱含的 return 語句,返回值是 none,型別也是 『nonetype』。

1.指定 return 返回值函式舉例:

def

showplus

(x):

print

(x)return x +

1

num = showplus(6)

add = num +

2print

(add)

輸出結果:

69

2.隱含 return none 舉例:

def

showplus

(x):

print

(x)

num = showplus(6)

print

(num)

print

(type

(num))

輸出結果:

6none

<

class

'nonetype'

>

無論定義的是返回什麼型別,return 只能返回單值,但值可以存在多個元素。

return [1,3,5] 是指返回乙個列表,是乙個列表物件,1,3,5 分別是這個列表的元素。return 1,3,5 看似返回多個值,隱式地被python封裝成了乙個元組返回。

deffn(

):return

3#單值時,返回的是什麼型別

print

(fn())

print

(type

(fn())

)輸出結果:

3<

class

'int'

>

#int 整數型別

def

showlist()

:return[1

,3,5

]#多元素,返回的是什麼型別

print

(type

(showlist())

)print

(showlist())

輸出結果:

<

class

'list'

>[1

,3,5

]#列表型別

def

showlist()

:return(2

,4,6

)#多元素,返回的是什麼型別

print

(type

(showlist())

)print

(showlist())

輸出結果:

<

class

'tuple'

>

#元組型別(2

,4,6

)

def

showlist()

:return2,

4,6#多值時,不指定型別

print

(type

(showlist())

)print

(showlist())

輸出結果:

<

class

'tuple'

>

#預設封裝成元組型別

參考:菜鳥教程,

python基礎 任務4

1 關鍵字 是python內建的 具有特殊意義的表示符 2 使用時關鍵字後面不需要括號 3 及結果 help keywords 檢視python系統關鍵字 1 定義函式 def 函式名 引數值 函式體 定義函式 def my abs x if x 0 return x else return x p...

Python基礎任務一

1.任務摘要 環境搭建 a anaconda環境配置 b 直譯器 python初體驗 a print and input python基礎講解 a python變數特性 命名規則 b 注釋方法 c python中 作用 d 學會使用dir 及和help e import使用 f pep8介紹 pyt...

python基礎任務1

環境搭建 a anaconda環境配置 b 直譯器 在編寫 時會得到乙個.py結尾的檔案,要想執行執行此檔案就需要python直譯器。python有多種版本的直譯器 cpython 官方版本的直譯器。這個直譯器是用c語言開發的,所以叫cpython,是使用最廣的python直譯器。ipython 基...