美文网首页python百例
89-OOP之类方法和静态方法

89-OOP之类方法和静态方法

作者: 凯茜的老爸 | 来源:发表于2018-08-02 16:12 被阅读7次

通过Date创建实例,也可以通过Date.create创建实例

class Date:
    def __init__(self, year, month, date):
        self.year = year
        self.month = month
        self.date = date

    @classmethod  # 类方法,不用创建实例即可调用
    def create(cls, dstr):  # cls表示类本身, class的缩写
        y, m, d = map(int, dstr.split('-'))  # map(int, ['2000', '5', '4'])
        dt = cls(y, m, d)  # 即Date(y, m, d)
        return dt

    @staticmethod  # 静态方法,写在类的外面,可以独立成为一个函数,“愣”把它放到类中了
    def is_date_valid(dstr):
        y, m, d = map(int, dstr.split('-'))
        return 1 <= d <= 31 and 1 <= m <=12 and y < 4000

if __name__ == '__main__':
    bith_date = Date(1995, 12, 3)
    print(Date.is_date_valid('2000-5-4'))
    day = Date.create('2000-5-4')
    print(day)

相关文章

  • 89-OOP之类方法和静态方法

    通过Date创建实例,也可以通过Date.create创建实例

  • 为什么从静态的方法里调用非静态的方法或变量是非法的?

    结论: 非静态的方法可以调用静态的方法,但是静态的方法不可以调用非静态的方法。 类的静态成员(变量和方法)属于类本...

  • iOS-类方法与实例方法

    搬运自 动态方法/实例方法 静态方法/类方法 静态方法和实例方法的区分 使用场景

  • 2019-01-26 tp5.1

    1.静态方法和普通方法 静态方法是指不需要实例化属于类的方法,建议使用静态方法提高效率,tp5.1中静态方法的...

  • runtime之类方法和实例方法

    什么是类方法和实例方法? 1.从标识符角度考虑 在Objective-C中标识符 "-" 是实例方法,标识符"+"...

  • Java自学-类和对象 类方法

    Java的类方法和对象方法 类方法: 又叫做静态方法 对象方法: 又叫实例方法,非静态方法 访问一个对象方法,必须...

  • JS常用的静态方法

    什么是静态方法和实例方法? 静态方法: 静态方法属于整个类所有,因此调用它不用实例化,可以直接调用------类....

  • 静态方法与非静态方法的区别

    静态方法static(类型方法)和 非静态方法(实例方法)的区别:一、调用对象、引用变量不同;二、调用方法不同;三...

  • python类的静态方法和类方法区别

    python类的静态方法和类方法区别 先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法。 本...

  • Object 对象

    分为 Object 静态方法和Object 实例方法 静态方法就是直接定义在Object 对象上 实力方法是定义在...

网友评论

    本文标题:89-OOP之类方法和静态方法

    本文链接:https://www.haomeiwen.com/subject/trksvftx.html