-
python 中沒有函式過載。
為了考慮為什麼 Python 不提供函式過載,讓我們先看看為什麼我們需要提供函式過載。
函式過載主要是為了解決兩個問題:
可變調型。
變數引數的數量。
此外,乙個基本的設計原則是,只有當兩個函式除了引數型別和引數數量不同之外,功能完全相同時才應該使用函式過載,如果兩個函式的功能實際上不同,那麼就不應該使用過載,而應該使用名稱不同的函式。
那麼對於情況1,函式函式相同,但引數型別不同,python是如何處理的呢?
答案是你根本不需要處理它,因為python可以接受任何型別的引數,如果函式函式在功能上相同,那麼python中不同的引數型別很可能是相同的,沒有必要做兩個不同的函式。
那麼對於情況2,函式函式相同,但引數數量不同,python是如何處理的呢?
答案是預設引數。 將這些缺失的引數設定為預設值將解決問題。 由於您假設函式的功能相同,因此最終將需要缺少的引數。
好吧,鑑於案例 1 和案例 2 都有解決方案,Python 不需要過載函式。
-
說到python過載,如果你學過C語言等其他語言,應該知道有方法過載和運算子過載的概念,但是python過載有其自身的特殊性。 Python 的過載主要包括方法過載和運算元過載。 方法過載:
在其他語言中,同名方法在過載方法時主要通過不同型別或數量的引數來區分。 Python比較特殊,它是一種動態語言,方法的引數不型別化,引數的型別在呼叫值時確定,因此對於不同引數型別的方法,無需考慮過載。 對於具有不同引數數的方法,可以(在大多數情況下)使用引數預設值實現它們。
例如,您可以定義函式的預設值:def info(x,y,z=1): 運算子過載:
在 C 語言中,我們使用關鍵字 operator 定義乙個運算子方法,並定義與其所在的類相關的運算子行為。 在 Python 中,運算子過載要簡單得多——預設情況下,每個類都內建了所有可能的運算子方法,您可以重寫該方法以重寫它。 例如,下面是乙個過載的加法操作:
class info(object): def __init__(self): = 11 = 22 def __add__(self,x):
return *
上面的示例是對 + 操作符號的重寫,您也可以覆蓋其他運算子。 例如,你可以過載乘法運算子,如果你有興趣,你可以編寫自己的運算子。 希望以上兩點能讓你對 python 過載有乙個簡單的了解。
有興趣的可以關注。
但是,如果您是專家,那麼我個人不建議這樣做,因為如果您使用 Bitdefender 掃瞄硬碟,預設設定將無條件刪除所有“定義為惡意軟體”的程式,包括存檔中的檔案。 >>>More
目前,選擇一些專業產品的方法有很多,美國Newlyn McChorland、Ou Biquan、外國人更流行的用來去除腋臭,頂泌腺是產生狐狸味的“病變”,在傳統理論的指導下,**狐狸味,只會破壞其功能,甚至擺脫頂泌腺: 手術切除頂泌腺:切除頂泌腺,切斷狐狸味的根源,可以永遠避免狐狸味。 >>>More
每天都有很多豪車在飛,平民玩家都開不了! 而且也是每次眉毛裡有豪車開,我開的是二手Alto,今天琵琶網仙雲就教你用輔助裝置改裝車** Alto變成豪車教程,你不用羨慕別人,先給你乙個日常速度車刷Rayser教程是鮮雲今天為玩家準備的, Rayser是最近每天上架的新S車,每個人都想啟動一輛。下面鮮雲就教你天飛刷S級豪車小教程車**改裝教程,教你如何刷這輛經典S車不花錢。 >>>More
你用背詞軟體或者app來背單詞,記住的多了很多,我現在用的叫角鬥士我愛背單詞9(注意一定是飛英語的角鬥士系列),電腦版和手山襪機版都有,你可以制定乙個計畫,每天背多少個單詞, 然後軟體可以根據遺忘的曲黎台詞自動提醒應該複習的詞彙,並自動挑選出你不認識的單詞讓你反覆記住,這樣就很容易記住調侃了,可以再聽一遍背誦,可以通過背幾十個來測試。還是很有成就感的,還可以把單詞做成***到隨身聽,同義詞庫非常齊全,有各種教科書和分類詞庫同義詞庫,也可以自己構建同義詞庫,發音清晰,可以重新編排