python类的使用

1 类的定义

  构造方法

 1 class Person:
 2     def __init__(self, name ,age):
 3         self.name = name
 4         self.age = age
 5     def __setattr__(self, key, value):
 6         self.__dict__[key] = value
 7     def __getattr__(self, item):
 8         print("getattr----")
 9     def __delete__(self, item):
10         print("delete", item)

 

  类属性(静态属性)

1 class Person:
2     name = "li"
3     age = 20

 

  类方法(静态方法)

1 class Person:
2     @staticmethod
3     def fun():
4         print("静态方法")

 

  实例属性

  实例方法

    属性、方法设置

  描述符

描述符是什么:描述符本质就是一个新式类,在这个新式类中,至少实现了__get__(),__set__(),__delete__()中的一个,这也被称为描述符协议
应用
 1 class TypeVerify:
 2     def __init__(self, key, exptype):
 3         self.key = key
 4         self.exptype = exptype
 5     def __set__(self, instance, value):
 6         if isinstance(value, exptype):
 7             instance.__dict__[self.key] = value
 8         else:
 9              print("TypeError")
10     def __get__(self, instance, owner):
11         return instance.__dict__[self.key]
12 
13 class Person:
14     name = TypeVerify('name', str)
15     age = TypeVerify('age', int)
16     def __init__(self, name, age):
17         self.name = name
18         self.age = age
19 one = Person('li', 123)

 

posted @ 2020-03-01 15:57  jmdm  阅读(66)  评论(0)    收藏  举报