zoukankan      html  css  js  c++  java
  • 【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】方法重写:子类中重写父类中有的同名方法

  • 相关阅读:
    javascript核心基础(正则专题)
    JsonUtil(工具类)
    身份证验证要用到的代码
    来cnblog了
    强智科技教务处模拟登录
    Thinkphp学习日记:jQuery_ajax数据提交
    在win8中使用服务器管理器来管理windows server 2012
    在windows server 2012运行锐捷客户端
    CentOS 6.4 配置LAMP 环境 与安装 phpmyadmin
    Linux下的光盘挂载与卸载
  • 原文地址:https://www.cnblogs.com/kinologic/p/15676377.html
Copyright © 2011-2022 走看看