函式引數和文件

2022-05-21 17:54:13 字數 2322 閱讀 8750

收集引數:把沒有位置,不能和定義時的引數位置相對應的引數,放入乙個特定的資料結構中

- 語法

def func(*args):

func_body

- 按照list使用方式訪問args得到傳入的引數

呼叫:func(p1, p2, p3, .....)

- 收集引數可以不帶任何實參呼叫,此時收集引數為空tuple

- 引數名args不是必須這麼寫,但是,我們推薦直接用args,約定俗成

- 引數名args前需要由星號

- 收集引數可以和其他引數共存

def stu( *args):

print("")

print

(type(args))

for item in

args:

print

(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("")

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:

print

(i)l = ["

liuying

", 19, 23, "

wangxiaojing"]

#stu(l),此時,arg = (["liuying", 19, 23, "wangxiaojing"],),會直接把整個列表輸出

#要把列表中的元素單個輸出,就需要解包符號,即呼叫的時候前面加乙個星號,**kwargs則需要兩個星號

stu(*l)

各種引數的混用:位置引數第一,收集引數第二,預設引數第三,關鍵字收集引數第四

def func(x,*args,y = 1,**kwargs):

print

(x)

print

(y)

print

(args)

print(kwargs)

文件的寫法:

- 在函式內部開始的第一行使用三引號字串定義符

- 一般具有特定格式

文件的檢視:

- 使用help函式,形如 help(func)

- 使用__doc__(左右各兩個短下劃線)

def stu(name, age, *args):

'''這是第一行

這是第二行

這是第三行

'''pass

help(stu)

stu.

__doc__

函式名可以當做變數使用:

def

sayhello(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...