91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3的面向對象舉例分析

發布時間:2021-11-26 09:08:44 來源:億速云 閱讀:127 作者:iii 欄目:大數據

這篇文章主要介紹“Python3的面向對象舉例分析”,在日常操作中,相信很多人在Python3的面向對象舉例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python3的面向對象舉例分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

# 面向對象import abcfrom enum import Enum, unique@unique  # unique確保無重復值class Weekday(Enum):    """    枚舉類    """    # 左邊為name,右邊為value    Sun = 0    Mon = 1    Tue = 2    Wed = 3    Thu = 4    Fri = 5    Sat = 6class Person(metaclass=abc.ABCMeta):    """    Person 為抽象類,Person的子類需要實現抽象方法    """    @abc.abstractmethod    def abs_m(self):        print("Person:abs_m")class Student(Person):    """    Student Doc    """    # 實現抽象方法    def abs_m(self):        print("absMethod")    # 使用父類引用    def sup(self):        super().abs_m()    # count為類屬性    count = 0    # 類方法    @classmethod    def cm(cls):        print("classMethod:", Student.count)    # 靜態方法    @staticmethod    def sm():        print("staticMethod:", Student.count)    # 實例私有方法    def __p(self):        # 如果沒有使用到self,這里可能會警告this method may be static        print("私有方法", self)    # 定義該類只允許有這些屬性    __slots__ = ('name', '__age', "_gender")    def __init__(self, name, age, gender):        # 這是實例屬性,外部可以直接訪問        self.name = name        # 兩個下劃線開頭是私有屬性,在外部不能訪問(如果要強行訪問,可以使用s._Student__name,但不建議這樣做)        self.__age = age        # 一個下劃線開頭也表示私有屬性,在外部可以直接訪問,但不建議訪問(為什么這樣設計?)        self._gender = gender        pass    # 雙下劃線開頭和結尾的是特殊方法或變量,不是私有的,外部可以訪問    # 因此不要把方法或屬性名定義為雙下劃線開頭和結尾    def __str__(self):        return f"{self.name}, {self.__age}, {self._gender}"if __name__ == '__main__':    print(Student("jack", 12, "male").cm())    print(Student("jack", 12, "male").sm())    s = Student("jack", 12, "male")    # s的具體類型    print(type(s).__name__)    # 內置attr函數使用    print(hasattr(s, "name"))    print(getattr(s, "name"))    # print(delattr(s, "name"))    # print(setattr(s, "abc", 1))    # s是否是某個類型    print(isinstance(s, Student))    # Student類是否是某個類的子類    print(issubclass(Student, object))    # 調用s.__str__()方法    print(s)    # 使用枚舉類    day = Weekday.Monprint(day.name)    print(day.value)
class A(object):
    bar = 1def func1(self):print('foo')

    @classmethoddef func2(cls):print('func2')print(cls.bar)
        cls().func1()  # 調用 foo 方法A.func2()  # 不需要實例化
class C(object):
    @staticmethoddef f():print('runoob');
 
C.f();          # 靜態方法無需實例化cobj = C()
cobj.f()        # 也可以實例化后調用

到此,關于“Python3的面向對象舉例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澳门| 博罗县| 广水市| 房产| 宁陵县| 汤原县| 隆尧县| 三原县| 博爱县| 综艺| 闽侯县| 多伦县| 陇川县| 蕉岭县| 镇平县| 九龙坡区| 突泉县| 神农架林区| 曲阳县| 七台河市| 措勤县| 三门峡市| 谢通门县| 罗城| 固阳县| 深州市| 锦州市| 扎鲁特旗| 沂南县| 鹰潭市| 浦东新区| 双峰县| 德州市| 肥东县| 天祝| 望城县| 南京市| 关岭| 贡觉县| 岳阳市| 连山|