一、类的定义
>>> class Dog():
def __init__(self,name,color):
self.name=name
self.color=color
def A(self):
print('这条狗叫'+self.name)
def B(self):
print('这条狗是'+self.color+'色的')
1.类=属性+方法
2.定义属性的时候,必须要用def __init__():,而且self是必不可少的,还要在其他形参前面
3.init 前后各是2个下划线
4.不一定非得是self,但是为了语法规范,统一都要用self
5.创建类的实例的时候,除了要把除了self以外的形参都赋值,如:
>>> Dog1=Dog('ww','bbb')
6.实例调用方法:
>>> Dog1.A()
这条狗叫ww
>>> Dog1.B()
这条狗是bbb色的
7.如果想让函数或者属性变成私有的,则只需在函数名或者属性名前加2个下划线:__
class Student(object):
def __init__(self, name, score):
self.__name = name
self.__score = score
def print_score(self):
print('%s: %s' % (self.__name, self.__score))
>>> bart = Student('Bart Simpson', 98)
>>> bart.__name
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Student' object has no attribute '__name'
8.若属性定义了初始值,则不用再提供形参:
>>> class Dog():
def __init__(self,name,color):
self.name=name
self.color=color
self.age=6
9.修改属性的值:可以直接在实例中修改,也可以通过定义类中的方法对其修改。
二、类的继承:
1.必须用super().__init__(),去继承父类的属性
>>> class parent():
def __init__(self,name,age,tall):
self.name=name
self.age=age
self.tall=tall
>>> class child(parent):
def __init__(self,name,age,tall):
super().__init__(name,age,tall)
>>> A=child('zzz',16,180)
>>> A.name
'zzz'
>>> A.age
16
>>> A.tall
180
2.重写父类的方法:若子类重写父亲的方法,即与父类的方法同名,则子类方法会覆盖父类方法
3.可以将某个类中的实例,作为另一个类中的属性
三、类的导入
1.form car import Car
2.from car import *
3.import car as C