收集引數:把沒有位置,不能和定義時的引數位置相對應的引數,放入乙個特定的資料結構中
- 語法
def func(*args):
func_body
- 按照list使用方式訪問args得到傳入的引數
呼叫:func(p1, p2, p3, .....)
- 收集引數可以不帶任何實參呼叫,此時收集引數為空tuple
- 引數名args不是必須這麼寫,但是,我們推薦直接用args,約定俗成
- 引數名args前需要由星號
- 收集引數可以和其他引數共存
def stu( *args):print("")
(type(args))
for item in
args:
(item)
stu(
"liuying
", 18, "
北京大通州區
", "
wangxiaojing
", "
single")
stu(
"周大神
")
關鍵字收集引數:把關鍵字引數按字典格式存入收集引數
- 語法:
def func( **kwargs):
func_body
# 呼叫:
func(p1=v1, p2=v2, p3=v3........)
- 關鍵字收集引數可以不帶任何實參呼叫,此時收集引數為空dict
- kwargs一般約定俗成
- 呼叫的時候,把多餘的關鍵字引數放入kwargs
- 訪問kwargs需要按字典格式訪問
def stu( **kwargs):#在函式體內對於kwargs的使用不用帶星號
print("")
(type(kwargs))
for k,v in
kwargs.items():
print(k, "
---"
, v)
stu(name="
liuying
", age=19, addr="
北京大通州區
", lover="
王曉靜", work="
teacher")
print("
*" * 50)
stu(name="
周大神")
收集引數的解包:直接把list/dict中的值放入收集引數中
def stu(*args):for i in
args:
(i)l = ["
liuying
", 19, 23, "
wangxiaojing"]
#stu(l),此時,arg = (["liuying", 19, 23, "wangxiaojing"],),會直接把整個列表輸出
#要把列表中的元素單個輸出,就需要解包符號,即呼叫的時候前面加乙個星號,**kwargs則需要兩個星號
stu(*l)
各種引數的混用:位置引數第一,收集引數第二,預設引數第三,關鍵字收集引數第四
def func(x,*args,y = 1,**kwargs):(x)
(y)
(args)
print(kwargs)
文件的寫法:
- 在函式內部開始的第一行使用三引號字串定義符
- 一般具有特定格式
文件的檢視:
- 使用help函式,形如 help(func)
- 使用__doc__(左右各兩個短下劃線)
def stu(name, age, *args):'''這是第一行
這是第二行
這是第三行
'''pass
help(stu)
stu.
__doc__
函式名可以當做變數使用:
defsayhello(name):
print("
你好嗎?
".format(name))
sayhello("月月
")liumang =sayhello
liumang(
"yueyue")
#月月你好嗎?
#yueyue你好嗎?
6 函式引數和文件
一 四類引數 普通引數 預設引數 關鍵字引數 收集引數 關鍵字引數開始 語法 def func p1 v1,p2 v2.func body 呼叫函式 func p1 value1,p2 value2.比較麻煩,但也有好處 不容易混淆,一般實參和形參只是按照位置一一對應即可,容易出錯 使用關鍵字引數,...
文件模式和文件型別
文件模式和文件型別 1 2doctype html public w3c dtd html 4.01 en 3 html lang en 4 head 5 meta charset utf 8 6 title 文件模式和文件型別 title 7 style 8.code 13style 14head...
文件模式和文件型別
文件模式和文件型別 1 2doctype html public w3c dtd html 4.01 en 3 html lang en 4 head 5 meta charset utf 8 6 title 文件模式和文件型別 title 7 style 8.code 13style 14head...