形式如下:
def 函式名(引數):
函式體
傳遞實參
位置實參:基於形參的順序指定實參值
關鍵字實參:無需考慮函式呼叫中的實參順序,按形參名指定對應的實參值)
1、傳遞預設值:要指定預設值的形參需要放在後面
def 函式名(引數1, 引數2, 引數3=預設值):
函式體2、傳遞任意數量的實參:使用 *引數名 來對應任意數量的實參
def 函式名(引數1, 引數2, *引數3):
函式體3、傳遞任意數量的關鍵字實參:使用 **引數名 來對應任意數量的關鍵字實參
def 函式名(引數1, 引數2, **引數3):
函式體
>>
>
defsay_welcome
(location,
*names)
:print
('welcome to '
+ location, end='')
for i in
range
(len
(names)):
if i ==
len(names)-1
:print
(' and '
+ names[i]
+'!'
)else
:print
(', '
+ names[i]
, end='')
>>
> say_welcome(
'china'
,'tom'
,'mary'
,'herry'
)welcome to china, tom, mary and herry!
>>
>
defprint_info
(name,
**info)
: profile =
profile[
'name'
]= name
for key, value in info.items():
profile[key]
= value
print
(profile)
>>
> print_info(
'tom'
, location =
'henan'
, fields =
'math & computer'
, age =
'23'
)
python中函式的返回值可以是任意型別
如數字、字串、列表、元組、字典、集合等等等等
使用return語句將值返回到呼叫函式的**行
>>
>
defbuild_info
(name,
**info)
: profile =
profile[
'name'
]= name
for key, value in info.items():
profile[key]
= value
return profile
# 使用info來接收build_info函式返回的值
>>
> info = build_info(
'tom'
, location =
'henan'
, fields =
'math & computer'
, age =
'23'
)>>
> info
使用global關鍵字指明變數是全域性變數
# 內嵌函式
>>
>
deffuna
(x):
z =1def
funb
(y):
return x*y+z
return funb
>>
> fun = funa(5)
>>
> a = fun(6)
>>
> b = funa(5)
(6)>>
>
print
(a, b)
3131
# 全域性變數
>>
> x =
1>>
>
deffun()
:global x
x =10>>
> fun(
)>>
> x
10
常用格式
匯入模組:import module
import package.module
from package import module
匯入函式:from module import *
from module import function
from package.module import function
設定別名:from module import function as name
import package.module as name
注意:給函式設定別名時使用如下語句是錯誤的
import module.function as name
python學習之路 函式
args位置引數不能寫在 kwargs關鍵字引數後面 kwargs 接受n個關鍵字引數,把關鍵字引數轉化為字典。def test kwargs print kwargs test name age age 22 列印結果為 args 接受n個位置引數,把引數轉化為元組形式def test args ...
Python學習之路 函式
函式 降低程式設計難度和 復用 一 函式的定義 函式是一段 的表示 def 函式 引數 零個或多個 函式return 返回 計算 x deffunction x 定義乙個函式 function s 1for i in range 1 x 1 for迴圈計算階乘 s i return s a func...
python學習(11) 函式
函式 1 定義函式 1.1 函式的定義 定義函式是使用def關鍵字來定義的 呼叫函式,可指定函式名以及用括號括起的引數資訊 def say hello 定義乙個函式 print hello world say hello 呼叫函式 1.2 向函式傳遞資訊 可以在函式定義的函式名括號中定義引數資訊,引...