Python程式設計基礎 函式的引數型別使用介紹

2021-09-14 07:04:02 字數 3159 閱讀 6484

python函式的寫法,有無引數,也有分有參,引數又分:預設引數、位置引數、動態引數、關鍵字引數:

# 函式引數:position_parameter  位置引數/形參

# 函式新增引數,使之程式完成更多的功能;

def print_sms(a, b):

"""傳入引數,輸出資訊到控制台

:return:

"""print(a)

print(b)

# 呼叫函式,引數以逗號隔開

print_sms("hello", "world") # 實參

# 注意:

# 1、函式有多少引數,呼叫時就需要傳遞多少個引數;

# 2、按順序賦值,常規用法

# 3、傳遞的引數,不一定按順序使用

# 4、引數不一定都會被使用

# 5、強制指定引數賦值,通過關鍵字指定使用

# 示例:

def add_sum(num,non_param):

count=0

for i in range(num):

count+=i

# print("1-100之間的整數求和:",count)

return count

# 函式必傳的引數個數,使用順序可以指定,引數不一定都被使用

print("使用關鍵字return返回函式的結果:",add_sum(non_param=1,num=101))

# 函式引數:default parameter 預設引數

# tips:預設引數必須放在位置引數後面,預設引數可以存在多個;

def hello(name,context="你好!",text='真好!'):

"""打招呼,問候使用"""

print(name+context+text)

# 函式呼叫,預設引數可以不傳

hello("lemon")

# 預設引數可以被覆蓋

hello("lemon","下午好")

# 按順序賦值,可以通過關鍵字指定賦值

hello(context="好",name="python")

# 函式引數:不定長引數/動態引數

# 引數前乙個*號,函式會把傳入的引數轉成乙個元組

def display(*args):

print(args)

print("傳入引數被轉換的型別:",type(args))

sum_num=0

for item in args:

sum_num+=item

print("求和:",sum_num)

display(1,2,3,4,5)

# 使用技巧:當不確定傳入的引數個數時使用

# 動態引數與位置引數的結合使用場景

# 動態引數要放在位置引數後面,不然程式會把所有的引數當作動態引數傳入,而會判斷少了位置引數未傳;

def display(context,*args):

"""給傳入的元組args引數進行迭代"""

name=''

for item in args:

name+=item

name+='、'

print(name,context) # 注意兩個型別不能使用+拼接,不同型別:typeerror: can only concatenate tuple (not "str") to tuple

display("你好","小貓","小狗","大灰狼")

# 預設引數與動態引數的使用

def display(*args,context="晚上好"):

print(args,context)

display("太陽","月亮","十便士",context="good night")

# tips: 預設引數和動態引數其實並沒位置擺放問題,但是預設引數在動態引數前,會被傳入的第乙個引數所覆蓋,因此不生效;所以動態引數最好在預設引數之前

# 函式引數:關鍵字引數:keyword arguments

# 引數前兩個**號,函式會把傳入的引數轉成乙個字典:但是需要指定引數型別:key=value;

def display(**kwargs):

print(kwargs)

print("傳入引數被轉換的型別:",type(kwargs))

display(a=1,b=1)

# 思考,通過傳遞多個數字,求和

# 位置引數結合使用;關鍵字引數必須放在位置引數之後

def display(name,**kwargs):

print(name,kwargs)

print("傳入引數被轉換的型別:",type(kwargs))

display("我是誰",a=1,b=1)

# 預設引數結合使用;關鍵字引數必須放在預設引數之後

def display(name="我在**",**kwargs):

print(name,kwargs)

print("傳入引數被轉換的型別:",type(kwargs))

display(a=1,b=1)

# 因為關鍵字引數的傳參形式是key:value決定它在函式中的位置。

動態引數、關鍵字引數都是不定長引數;

*args乙個*號可以接收元組

**kwargs兩個*號可以接收字典

# # 可變引數:動態引數、關鍵字引數;

# 同乙個函式支援乙個元組打包的引數接收,關鍵字引數

def tuple_old(*params,**kwargs):

print(params,kwargs)

print(type(params))

print(type(kwargs))

# tuple_old("abc",1,a="1",name="十年",age="18")

tuple_1=("abc",1)

dict_1=

# 這樣傳入的位置引數,會把兩個不同型別的引數打包成乙個元組型別的引數給*args引數接收,那麼**kwargs為空字典{}沒有傳任何引數

# params: (('abc', 1), ) kwargs:{}

tuple_old(tuple_1,dict_1)

# 拆解會把一些元素給拆解成函式能接收的型別

tuple_old(*tuple_1,**dict_1)

Python基礎 函式 函式引數

引數就是傳入的值 示例 usr bin env python3 coding utf 8 函式的引數和預設引數 defregist name,age,city shenzhen print name name print age age print city city 執行結果 d pythonpr...

Python基礎(函式引數)

1.必選引數parameter def detail1 name,age,tel print 姓名 name print 年齡 age print tel detail1 qiye 12 123456 2.預設引數parameter value def detail2 name,age,tel,ge...

Python基礎之函式的引數

在學習python過程中感謝廖雪峰的 def 函式名 引數1 引數2 引數3.函式體 returnpython函式的建立非常簡單,但是靈活度卻非常大。因此寫下此篇文章用於鞏固學習。首先我們定義乙個求乙個數的平方 def getresult x return x x此時引數x 即為位置引數,當我們呼叫...