一、类包含属性(数据)和方法(函数)。于是数据和操作被封装在一起,更加方便维护程序(封装性)。
二、定义:
①类:
②对象:
③属性:
定义
>>> class Student:
Name="Unknown"
这样就定义了Student类中的Name属性,默认值是Unknown。
访问类属性:<类>.<属性>
>>> print(Student.Name)
Unknown
改变类的属性:<类>.<属性>=<新的内容>
>>> Student.Name="fantasy"
>>> print(Student.Name)
fantasy
访问及改变对象的属性:
<对象>.<属性>=<新的值>
>>> stu1=Student()
>>> stu1.Name="香蕉君"
>>> print(stu1.Name)
香蕉君
>>> print(Student.Name)
fantasy
>>>
在一个对象中添加新的属性:
<对象>.<新的属性>=<新的值>
>>> stu1.age=20
>>> print(stu1.age)
20
>>> print(Student.age)
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
print(Student.age)
AttributeError: type object 'Student' has no attribute 'age'
④定义之铺铜方法:
要求第一个参数对应调用方法时所使用的实例对象,一般用self,也可以改其他名字。
调用方法:<实例对象名>.<方法名>(实参列表),注意:不需要传入self的值,self会自动对应创建的对象名
class Student:
name="未知"
def Set(self,new):
self.name=new
def Print(self):
print(self.name)
stu1=Student()
stu1.Set("卢本伟")
stu1.Print()
结果:
卢本伟
⑤构造方法:
https://blog.csdn.net/fisherming/article/details/93468969
⑥私有属性:类内可以直接访问,类外无法直接访问。Python规定类的属性名字是两个下划线__开头的话就是类的私有属性。假如,__id是Student的一个属性,那么print(stu1.__id)会报错,但是,如果加上_类名,便不会,比如print(stu1._Student__id)
⑦析构方法:
https://blog.51cto.com/853056088/2139300
⑧常用内置方法: