创建一个类:
class Employee: empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def display_count(self): print("Total Employee %d" % Employee.empCount) def display_employee(self): print("Name:", self.name, ",Salary:", self.salary)
- __init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法
- self代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。self也可换成其他的单词来表示
# 初始化调用__init__() emp1 = Employee("Zara", 2000) emp2 = Employee("Mary", 5000) emp1.display_employee() emp2.display_employee() Employee.display_count(Employee)
也可添加删除类的属性:
emp1.age = 20 del emp1.age
类的继承:class 派生类名(基类名):
class Student(Employee): def __init__(self): print("继承")
单下划线、双下划线、头尾双下划线说明:
- __foo__: 前后都有双下划线定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的。
- _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
- __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。