• 【Python】类、对象、self


    个人理解:类是一个模板,对象是类的实例化
    参考:https://www.runoob.com/python/python-object.html
    【0】类的内置属性

    __dict__ : 类的属性(包含一个字典,由类的数据属性组成)
    __doc__ :类的文档字符串
    __name__: 类名
    __module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod【我理解为import xxx】中,那么className.__module__ 等于 mymod)
    __bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)
    

    【1】类的创建

    class ClassName:
        '类的帮助信息'
        class_suite
    

    可以用__doc__查看类信息
    比如print(ClassName.doc)
    输出为类的帮助信息

    class Employee:
       '所有员工的基类'
       empCount = 0
     
       def __init__(self, name, salary): # 构造方法/初始化方法:当创建了这个类的实例时就会调用该方法
          self.name = name
          self.salary = salary
          Employee.empCount += 1
       
       def displayCount(self):
         print "Total Employee %d" % Employee.empCount
     
       def displayEmployee(self):
          print "Name : ", self.name,  ", Salary: ", self.salary
    

    【2】对象的创建
    object = ClassName()

    【3】类的继承

    class 子类名(父类名):
      ...
    

    可以继承多个类:

    class 子类名(父类名1, 父类名2, ...):
      ...
    

    构造函数:子类不重写 init,实例化子类时,会自动调用父类定义的 init

    当子类有了__init__:

    子类有__init__也想继承父类的__init__时,可以用super:

    【4】下划线与关键字:

    __foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的。
    
    _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许**其本身**与**子类**进行访问,不能用于 from module import *
    
    __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个**类本身**进行访问了。
    

    【5】方法重写:子类中重写父类中有的同名方法

  • 相关阅读:
    Golang的值类型和引用类型的范围、存储区域、区别
    ubuntu下ssh使用 与 SCP 使用
    ubuntu 搭建svn服务器
    Java中Math类的几个四舍五入方法的区别
    mongoDB 批量更改数据,某个字段值等于另一个字段值
    mongoDB 查询附近的人的语句
    mongodb常用操作语句
    JAVA 根据经纬度算出附近的正方形的四个角的经纬度
    JAVA 计算地球上任意两点(经纬度)距离
    Mongodb数据备份恢复
  • 原文地址:https://www.cnblogs.com/kinologic/p/15676377.html
Copyright © 2020-2023  润新知