python 中函式引數的一點理解

2021-10-09 02:10:41 字數 2766 閱讀 7901

1.函式引數帶預設值

def helloworld(hello="hello", name="world"):

print("{}, {} !".format(hello, name))

呼叫:

import funciton as fun
#以下三種呼叫都可以。

fun.helloworld()

fun.helloworld("hi")

fun.helloworld("hi","zhangjing")

輸出:

hello, world !

hi, world !

hi, zhangjing !

2.帶乙個型號(*),表示收集引數。按元組收集引數

def printparameter(title, *param):

print(title)

if param:

print(param)

else:

print("null")

呼叫:

import funciton as fun
fun.printparameter("aaa")

fun.printparameter("aaa", 123, "abc")

輸出:

aaanull

aaa(123, 'abc')  #這是乙個元組

3.帶兩個型號(**),表示收集引數。按字典收集引數

def printparameter1(title, **param):

print(title)

if param:

print(param)

else:

print("null")

呼叫:

fun.printparameter("aaa")

fun.printparameter1("aaa", a=123, b=456, c="zhangjing")

輸出:

aaanull

aaa#這是乙個字典

以上都可以在寫函式時用到,注意第2和第3個方法的寫法,特別是函式呼叫時的寫法。

在python中定義函式,可以用必選引數、預設引數、可變引數和關鍵字引數,這4種引數都可以一起使用,或者只用其中某些,但是請注意,引數定義的順序必須是:必選引數、預設引數、可變引數和關鍵字引數。

python中函式定義主要包含4類引數: 

(1)必選引數; 

(2)預設引數; 

(3)可變引數; 

(4)關鍵字引數;

def power(x):

"""x: 必選引數

""" return x ** 2

def power(x, n=2):

"""n: 預設引數

""" return x ** n

即傳入的引數個數是可變的。

def calc(*numbers):

"""numbers: 可變引數

""" print numbers

sum = 0

for n in numbers:

sum = sum + n * n

return sum

呼叫方式: 

(1) calc(1, 2, 3) 

(2) aa = [1, 2, 3] 

calc(*aa) 

引數numbers接收到的是乙個tuple: (1, 2, 3)

關鍵字引數允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個dict。

def person(name, age, **kw):

"""kw: 關鍵字引數

""" print 'name:', name, 'age:', age, 'other:', kw

呼叫方式: 

(1)person(『adam』, 45, gender=』m』, job=』engineer』) 

(2)kw =  

person(『jack』, 24, **kw)

def printparameter2(title, name="abc", *param1, **param2):

print(title)

print(name)

if param1:

print(param1)

else:

print("可變引數為空。")

if param2:

print(param2)

else:

print("關鍵字引數為空。")

呼叫:

t = (1, 3, 4)

v =

fun.printparameter2("zhangjing", "love you.", *t, **v) #注意呼叫時 實參 t 和 實參 v 之前要加 * 和 **  。

如果不定義 t 和 v ,可直接 按照下面的寫。

fun.printparameter2("zhangjing", "love you.", 1, 3, 4, a=1, b=2)

兩個輸出的結果是一樣的。

C C 中System函式的一點說明

使用system函式時,當將包含路徑部分用雙引號引起來 例如 c盤的program files資料夾中建了乙個a.txt檔案 可以使用這種形式開啟 system c program files a.txt 注意 每個雙引號前要有轉義字元 字首 注意 system是呼叫dos控制台命令 c abc d...

Python一點注意

pickle模組中的兩個主要函式是dump 和load dump 函式接受乙個檔案控制代碼和乙個資料物件作為引數,把資料物件以特定的格式儲存到給定的檔案中。當我們使用load 函式從檔案中取出已儲存的物件時,pickle知道如何恢復這些物件到它們本來的格式。這兩個函式均能接收 字串 但 raw in...

理邦公益 點亮繁星 永遠不止一點 永遠多做一點

11 月的深圳仍是溫暖的,除了晴朗的天氣以外,也因著 11 月是感恩的時節。值此感恩節之際,理邦聯合深圳市寶安人民醫院 深圳慈海醫院以及大鵬新區婦幼保健院在深圳聚龍山公園舉辦了一vseiugfku場愛心義診活動,惠及了 20 餘名周邊居民。本次義診最大的亮點是心電篩查專案,通過se 301 多道心電...