面向对象和面向过程区别
1.面向过程:按照业务逻辑从上到下的设计模式,代码紧凑、耦合性强
2.面向对象:将数据和业务抽象为对象,耦合性低,有利于代码重构
类和对象概念
类:是对一群具有相同特征或者行为的事物的统称,是抽象的,不能直接使用。
对象:由类创建的,具体到某一事物的就是对象
属性:记录对象有关特征的数据 例如:人的身高、体重、年龄
方法:用于对象的相关操作和行为 例如:人吃饭,睡觉
类使用方法
定义类: 格式:class 类名:
def 方法名 (self):
命名规范:大驼峰命名
创建对象:对象名(变量名)=类名()
调用方法:对象名.方法名()
classPerson:defeat(self):print("吃饭")
x=Person()print(id(x))
#2226825524392
x.eat()
# 吃饭
y=Person()print(id(y))
2226825524952
y.eat()
吃饭
在类外部添加属性 变量名.属性名=属性值
调用: 变量名.属性名
self 哪个对象调用方法或者属性,self就是哪个变量,self约定俗成的写法
classPerson:defeat(self):print("%s吃火锅!"%self.name)print(id(self))
perl=Person()print('--perl--',id(perl))
#--perl-- 2226825525008
perl.name='johnson'perl.eat()#eat(perl)
#johnson吃火锅!
per2 = Person()
per2.name = 'Mary'
#Mary吃火锅!
per2.eat()
__init___()方法
在创建对象时调用,进行初始化操作
对象的属性都可以放在__init__()方法中
classDog:def __init__(self,name):
self.name=namedefintroduce(self):print("我叫%s,请多多关照!"%self.name)
dog1= Dog("pet")
dog1.introduce()
#我叫pet,请多多关照!
dog2= Dog("may")
dog2.introduce()
#我叫may,请多多关照!
__str__()方法
打印对象名称时默认调用的