**:
def func(a, b):
print(a+b)
func(1, 2) #3
def jia(a,b=6):
print(a+b)
jia(4)##10
#傳入乙個列表,嚴格地說這不是可變引數
def calc(l):
sum = 0
for n in l:
sum += n
return sum
calc([1,2,3]) ##7
#這才是可變引數,雖然在使用上和列表沒有區別,但是引數nums接收到的是乙個tuple(這些引數在傳入時被自動組組裝為乙個元祖)
def calc(*nums):
sum = 0
for n in nums:
sum += n
return sum
calc([1,2,3]) ##7
可變引數允許傳入0個~多個引數,而關鍵字引數允許在呼叫時以字典形式傳入0個或多個引數(注意區別,乙個是字典乙個是列表);在傳遞引數時用等號(=)連線鍵和值
#用兩個星號表示關鍵字引數
def person_info(name, age, **kw):
print("name", name, "age", age, "other", kw)
>>> person_info("xiaoming", 12)
name xiaoming age 12 other{}
>>> person_info("dahuang", 35, city = "beijing")
name dahuang age 35 other
總結一下,在python中一種可以使用5中傳遞引數的方式(位置引數、預設引數、變長引數、關鍵字引數、命名關鍵字引數)
注意,這些引數在書寫時要遵循一定的順序即:位置引數、預設引數、變長引數、關鍵字引數、命名關鍵字引數(和本文的行文順序一致)
這裡簡單舉兩個栗子
def f1(a, b, c=0, *args, **kw):
print("a = ", a, "b = ", b, "args = ", args, "kw = ",kw)
def f2(a, b, c=0, *, d, **kw):
print("a = ", a, "b = ", b, "c = ", c, "d = ", d, "kw = ", kw)
>>> f1(1, 2)
a = 1 b = 2 c = 0 args =() kw = {}
>>> f1(1, 2, c=3)
a = 1 b = 2 c = 3 args = () kw = {}
>>> f1(1, 2, 3, 'a', 'b')
a = 1 b = 2 c = 3 args = ('a', 'b') kw = {}
>>> f1(1, 2, 3, 'a', 'b', x = 99)
a = 1 b = 2 c = 3 args = ('a', 'b') kw =
>>> f2(1, 2, d = 99, ext = none)
a = 1 b =2 c = 0 d = 99 kw =
Python3 函式引數的傳入
在運維過程中,有些時候需要向main函式中傳遞引數,以方便運維與測試,那麼怎麼向main函式中傳入多個引數呢,下面以python3中的main函式為例,簡單講一下。首先我們需要import sys,sys是python3的乙個標準庫,也就是乙個官方的模組。封裝了一些系統的資訊和介面,然後再說說ar ...
3,Python中的序列
2 元組 字典列表屬於可變序列,可以任意改變其中的元素。a 19.8,5 jacub true,5 列表可以包含各種型別的元素 b len a b的值是列表a的長度 元素的數量 print a 2 列印列表a中索引為2的元素 print a.index 19.8 列印列表a中 19.8 這個元素的索...
3 Python基礎語法
語法格式 空格 說明性文字資訊 新增快捷鍵 ctrl 取消快捷鍵 ctrl 語法格式 說明性文字資訊 快捷鍵 無 語法格式 todo 說明文字 快捷鍵 無 訪問方式 1.新增說明性的文字 2.除錯程式,將指定 行的功能取消,使其在 中不生效 3.記錄工作日誌,方便資訊查詢 語法錯誤 文字底部紅色波浪...