day13

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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、对象补充 对象的属性:通过对象来使用;声明init方法,self.属性名=值# 类的字段:通过类来使用;类里面...
    七夜_174e阅读 250评论 0 3
  • 01 内置类属性 内置类属性:python中每个类都拥有内置的类属性 __name____doc____dict_...
    跟我念一遍阅读 299评论 0 3
  • 1. 内置类属性 2. 私有化 python中类中的属性和方法的私有化:直接在属性名或者方法名前加__(命名以 '...
    奈斯凸米特阅读 228评论 0 5
  • 1.内置类属性 from color import Color"""内置类属性:python中每个类都拥有内置的类...
    小先生_8bfd阅读 171评论 0 4
  • 雨后清晨 瀛海桃源分外光鲜 花蕊金波玉露 映衬着那队匆匆而过的 少女少男 上午骄阳 花瓣依然水润 矫情地眨着媚眼传...
    瀛洲居士阅读 398评论 0 1