类小结:
类的首位字母必须大写:
实例化:对象名.成员名
isinstance()用来测试一个对象是否是某个类的实例:isinstance(对象名,类名)
self:
所有实例的方法都必须有一个self参数,且为第一形参,代表对象本身。但是调用对象方法时并不需要传递这个参数。
(属性)——>(成员)
(实例)——>(对象)
属性:类属性,实例属性
实例属性: init()中定义的,定义使用都需要self 作为前缀。对象名访问
类属性:所有方法之外定义的属性成员。类名和对象名访问
可以动态地为类和对象增加成员。
eg:
class Car:
price=1000#类属性
def init(self,c):
self.color = c#实例属性
car1 = Car('red')
Car.price = 10000
Car.name = 'qq'
print(car1.color,Car.name,Car.price)
方法:与特定实例绑定的函数,调用时对象本身作为第一个参数传递过去(self)
私有成员:__XXX 外部不能直接访问,需要调用对象的公有成员来访问(为了数据封装和保密)
保护成员:_XXX(父类子类的对象成员鞥访问)
XXX:特殊成员
_XXX: 私有成员
外部调用: 对象名.类名__XX
内部调用:self.__XX
方法:公有,私有,静态,类
静态方法和类方法:类名和对象名可以调用,调用对象的成员(类名.XX或者cls.XX)
属性:
只读:
@property
def value(self):
return self.__value
可读可写不可删除
class Test:
def init(self,value):
self.__value = value
def __get(self):
return self.value
def __set(self):
self.value = v
value = property(__get,__set)
def show(self):
print(self.__value)
t = Test(3)
print(t.valve)
重载:
构造函数:init()用来设置初值,自动调用,定义默认值实现重载。
析构函数:del()删除对象回收空间,自动调用执行。
继承:
子类只能继承父类的公有成员。super(),父类名.方法名()来调用父类的方法。
eg:
class Teacher(Person):
def init(self,name='',age = 30,sex = 'man',department = 'Computer')
super(Teacher,self).init(name,age,sex)
Person.init(self,name,age,sex)
2019-06-27
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
- 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...