網站首頁 編程語言 正文
Python 中方法的缺省參數問題
在Python中可以缺省給方法制定缺省值,但是這個缺省值在某些情況下確是和我們預期不太一致的…..。 這個詭異的問題,曾經困然了我幾天時間,才最終定位出來…..
測試代碼
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()
預期代碼分析
第一次預計其應該打印出不同的時間戳,因為datetime.now()每次的調用都會生成當前的時間點。 但是實際情況確實和這個不一樣的….
直接上結果:
從輸出的結果信息來看,每一次都是輸出了相同的時間戳……..
小結:從結果來看,函數的反復調用中,只會反復使用第一次調用之時生成的那個缺省值,這個是我們在使用方法的缺省值之時需要注意的問題。
Python 缺省參數 不定長參數
python 缺省參數
# 缺省參數
# 1. 在定義函數的時候,給我們形參一個默認的數據,那這個形參就是缺省參數
# 2. 調用的時候,給缺省參傳遞參數默認值,使用的是傳遞的值
# 3. 在調用的時候,可以不傳遞數據值,那么使用的為默認值
def show_info(name="我家小丁永遠",age= 18)
?? ? print(name,age)
# 如果不給缺省參數賦值,那么輸出的值就為"我家小丁永遠 18"
show_info()
# 如果給缺省參數賦值,那么輸入的結果為你所賦的值
show_info("我今年馬上",20)
不定長參數
# 不定長參數 ?(*args ? *kwargs)
# ?*args ?,args可以寫成其他變量如:a, b, c.但是建議使用args?
# *args是元祖類型(a, b, c), 最直接的特點就是: 可以使用 for in 遍歷
# *args 不定長參數,可以接受位置傳參
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("好好學習")
show_info("天天向上")
總結
原文鏈接:https://blade.blog.csdn.net/article/details/75103335
相關推薦
- 2022-07-12 C語言中常見字符串API詳解
- 2023-03-28 通知監控NotificationListenerService?onNotificationPost
- 2022-04-22 uniapp小程序報錯 TypeError: Cannot read property ‘call‘
- 2022-08-06 詳解Android中motion_toast的使用_Android
- 2022-08-10 Go?modules?replace解決Go依賴引用問題_Golang
- 2022-07-02 ansible模塊之include_tasks:為什么加了tags后導入的任務沒有執行?
- 2022-12-11 Git的代碼合入流程詳解_相關技巧
- 2022-04-10 git push異常整理 error: failed to push some refs to
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支