W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
你想實現(xiàn)一個類,除了使用 __init__()
方法外,還有其他方式可以初始化它。
為了實現(xiàn)多個構造器,你需要使用到類方法。例如:
import time
class Date:
"""方法一:使用類方法"""
# Primary constructor
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
# Alternate constructor
@classmethod
def today(cls):
t = time.localtime()
return cls(t.tm_year, t.tm_mon, t.tm_mday)
直接調用類方法即可,下面是使用示例:
a = Date(2012, 12, 21) # Primary
b = Date.today() # Alternate
類方法的一個主要用途就是定義多個構造器。它接受一個 class
作為第一個參數(shù)(cls)。你應該注意到了這個類被用來創(chuàng)建并返回最終的實例。在繼承時也能工作的很好:
class NewDate(Date):
pass
c = Date.today() # Creates an instance of Date (cls=Date)
d = NewDate.today() # Creates an instance of NewDate (cls=NewDate)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: