日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

Python中方法的缺省參數(shù)問題解讀_python

作者:bladestone ? 更新時(shí)間: 2023-01-19 編程語言

Python 中方法的缺省參數(shù)問題

在Python中可以缺省給方法制定缺省值,但是這個(gè)缺省值在某些情況下確是和我們預(yù)期不太一致的…..。 這個(gè)詭異的問題,曾經(jīng)困然了我?guī)滋鞎r(shí)間,才最終定位出來…..

測試代碼

from datetime import datetime
import time
def test(curdate=datetime.now()):
print(“The current Time:%s” % curdate.strftime(“%Y-%m-%d %H:%M:%S”))

for i in range(0,10):
time.sleep(2)
test()

預(yù)期代碼分析

第一次預(yù)計(jì)其應(yīng)該打印出不同的時(shí)間戳,因?yàn)閐atetime.now()每次的調(diào)用都會(huì)生成當(dāng)前的時(shí)間點(diǎn)。 但是實(shí)際情況確實(shí)和這個(gè)不一樣的….

直接上結(jié)果:

從輸出的結(jié)果信息來看,每一次都是輸出了相同的時(shí)間戳……..

小結(jié):從結(jié)果來看,函數(shù)的反復(fù)調(diào)用中,只會(huì)反復(fù)使用第一次調(diào)用之時(shí)生成的那個(gè)缺省值,這個(gè)是我們在使用方法的缺省值之時(shí)需要注意的問題。

Python 缺省參數(shù) 不定長參數(shù)

python 缺省參數(shù)

# 缺省參數(shù)
# 1. 在定義函數(shù)的時(shí)候,給我們形參一個(gè)默認(rèn)的數(shù)據(jù),那這個(gè)形參就是缺省參數(shù)
# 2. 調(diào)用的時(shí)候,給缺省參傳遞參數(shù)默認(rèn)值,使用的是傳遞的值
# 3. 在調(diào)用的時(shí)候,可以不傳遞數(shù)據(jù)值,那么使用的為默認(rèn)值

def show_info(name="我家小丁永遠(yuǎn)",age= 18)
?? ? print(name,age)
# 如果不給缺省參數(shù)賦值,那么輸出的值就為"我家小丁永遠(yuǎn) 18"


show_info()
# 如果給缺省參數(shù)賦值,那么輸入的結(jié)果為你所賦的值
show_info("我今年馬上",20)

不定長參數(shù)

# 不定長參數(shù) ?(*args ? *kwargs)
# ?*args ?,args可以寫成其他變量如:a, b, c.但是建議使用args?
# *args是元祖類型(a, b, c), 最直接的特點(diǎn)就是: 可以使用 for in 遍歷
# *args 不定長參數(shù),可以接受位置傳參

def show_info(*args)
?? ? for i in args:
?? ? ?? ?print(i, "人生苦短,我用python", end=" ")
?? ? print()

show_info(2)
# 接上 ?另外一種寫法
def show_info(*args)
?? ?print("人生苦短,我用Python", *args)

show_info("好好學(xué)習(xí)")
show_info("天天向上")

總結(jié)

原文鏈接:https://blade.blog.csdn.net/article/details/75103335

欄目分類
最近更新