常用概念
类(Class): 描述同属性和方法的对象的集合。
**方法:**类中定义的函数
**实例化:**创建一个类的实例,类的具体对象。
**对象:**通过类定的数据例。包括两个数据成员(类变量和实例变量)和方法。
类对象
**支持操作:**属性引用和实例化
- 属性引用:obj.name
- 实例化:
class myclass:
i=12345
def f(self):
return 'hello world'
x=MyClass() #实例化类
print("MyClass 类的属性 i 为:", x.i) # 访问类的属性
print("MyClass 类的方法 f 输出为:", x.f()) # 访问类的方法
- 类有一个名为 \__init__() 的特殊方法(构造方法),该方法在类实例化时会自动调用
类方法
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是self 。
继承
class DerivedClassName(BaseClassName1):
<statement-1>
........
<statement-N>
[注意] BaseClassName中有相同的方法名,而在子类使用时未指定,python从左至右搜索。BaseClassName必须与派生类定义在一个作用域内。
方法重写
**super()**函数用于调用父类的一个方法。
#定义父类
class Parent:
def myMethod(self):
print("调用父类方法")
#定义子类
class Child(Parent):
def myMethod(self):
print("调用子类方法")
#子类实例
c=Child()
#子类调用重写方法
c.myMethod()
#用子类对象调用父类已被覆盖的方法
super(Child,c).myMethod()
类属性与方法
类的私有属性 __private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问,在类内部的方法中使用时self.__private_attrs。
类的私有方法 __priate_method:两个下划线开头,声明该方法为私有方法,只能在类内部调用。self.__private_methods。
self代表的是类的实例,通常用self,也可用this等。