面向对象变成class


一个种类,一个模型。汽车模型
对象
指具体的东西,模型造出来的东西叫做对象
实例
实例和对象是一样的。
实例化
实例化就是造东西的这个过程
属性
属性就是变量
方法
类里面的函数
继承
封装
多态
self 代表的是本类对象
因为函数里面的变量都是局部变量,出了函数就不能用了。
用self给对象绑定了之后,就可以self.xxx随便用了
构造函数
def __init__():
pass
就是类在实例化的时候执行的函数。
类在实例化的时候,会自动执行它
析构函数
def __del__():
pass
实例被销毁的时候执行
属性方法@property
看起来像属性的一个方法(没有入参可以用,结果就是返回值)
类变量
类变量,公共的变量,每个实例都可以用,类变量可以直接用过类名,XXX来进行修改的
实例变量(成员变量)
实例方法
实例化之后才可以用。
类方法@classmethod(不想实例化的时候,就可以用类方法)
1、不用实例化就可以直接调用。
2、它可以通过cls使用类变量
3、它不能调用这个类里面的其他实例方法和实例变量
静态方法 @staticmethod
就是一个普通的函数,只不过写在类里面而已,它用不了类变量,类方法,实例变量,实例方法
私有
私有方法
私有变量
出了类之后,就不能用了,变量前面加__

class Person:#经典类
def __init__(self,name):#构造函数 类在实例化的时候 自动进行一些操作
self.name=name
self.nose=2 #鼻子 #属性
self.face=2#脸
self.head=10#脑子
self.wing=4#翅膀
print('开始造人、、、')
def driver(self):
print('司机,开车贼6')
self.eat()#调用类里面的函数
def fly(self):
print('%s 在飞︿( ̄︶ ̄)︿'%self.name)#获取里面的变量
def eat(self):
print('%s 吃小龙虾,吃蛋糕,吃冰淇淋'%self.name)

#类在用到时候,首先必须实例化
z=Person('小可爱')
z.fly()
z.driver()
print(z.nose)
print(z.name)
# z=Person()#实例化,类名加上()就是实例化
# z.eat()
# z.fly()
# z.fly()
# z.eat()
# print(z.wing)
class Person(object):#新式类
pass


#类名首字母都大写
#在Python3里面经典类和新式类没有任何区别
原文地址:https://www.cnblogs.com/irisx/p/9061097.html