01内置的类函数
内置类属性: python每个类的都有的属性
name #获取类的名字
doc #回去类的说明文档
dict # 对象.dict 类.dict
module 获取当前类所在模块的名字
bases 获取哦当前类的父类
class Cat :
number = 0
def __init__(self,name,color):
self.name = name
self.color = color
def run(self):
print("pao")
@staticmethod
def shout():
print("miao")
@classmethod
def get_number(cls):
print("%d" % cls.number)
if __name__ == "__main__":
print(Cat.__name__)
print(Cat.__doc__)
02 私有化
- 两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
if __name__ == "__main__":
p1 = Person("zhang","18")
03 getter和setter
1.属性假的私有化: 声明对象属性的时候,在属性名前加一个下划线,来告诉别人,这个不能直接diaoyong
通过getter和setter来获取属性和修改属性的值
2.如果在获得对象的属性前,需要干点别的事情 添加getter
3.如果在给某个属性赋值前,干点别的事, 添加setter.
class Syudent:
def __init__(self):
self._name = ""
self._score= 0
self._age = 0
@property # 给属性 _name 添加getter
def name(self):
return self._name
@property
def score(self):
return self._score
@name.setter
def name(self,value):
self._name = value
@score.setter
def score(self,value):
self._score = value
if __name__ == "__main__":
stu1 = Syudent()
stu1._name = "san"
print(stu1.name)
stu2 = Syudent()
stu2.score = 100
print(stu2.score)
04 继承
python 中类是可以继承的,并且支持多继承
class 类名(父类):
属性
方法
说明: python 中的所有的类默认继承 基类 object
2.能继承哪些内容?
继承:直接应有父类的属性和方法(继承后 上家还在)
a.对象的属性和方法,....都可以被继承
b.slots 不能被继承
c.getter 和 setter 会被继承
class Person :
def __init__(self):
self.name = ""
self.age = ""
self.sex = ""
def eat(self):
print("cc")
class Student(Person):
"""xueshrn"""
pass
if __name__ == "__main__":
stu = Student()
stu.name ="ming"
print()
网友评论