3 python的傳入引數

2022-08-09 14:51:19 字數 1669 閱讀 5884

**:

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.記錄工作日誌,方便資訊查詢 語法錯誤 文字底部紅色波浪...