面向对象编程: oop [ object oriented programming] 是一种python的 编程思路
面向过程:就是我们一开始学习的,按照解决问题的步骤去写代码
[根据业务逻辑去写代码]
在思考问题的时候,首先分析’怎么按照步骤去实现
然后将问题解决拆解成若干个步骤,并将这些步骤对应成方法一步一步的
最终完成功能
对象:对象是实实在在的一个东西,类的实例化,具象化
类是对象的抽象化 而对象是类的一个实例
定义类和对象
类结构类名 属性 方法
class 类名:
属性
方法
实例方法:在类的内部,使用def关键字来定义
第一个参数默认是self [名字标识可以是其他的名字,但是这个位置必须被占用]
实例方法是归于类的实例所有
属性:类属性 实例属性
在类的内部定义的变量[类属性]
在方法内部定义的[通过类似于self.变量名]变量, 是实例属性
class Test:
age=10 #类属性
name=‘bon’
def can(self):#在类里面的方法参数为self是这个类实例方法
return print(‘yes’)
def init(self):
self.name=‘bon’ #实例属性
pass
def zhi(self):
return print(‘no’)
pass
pass
a=Test() #相对于new实例化一个对象
a.can()#调用实例方法
print(‘age=%d’%a.age)
print(‘name:{}’.format(a.name))
init(self):
class Test:
def eat(self):
return print(‘chi’)
pass
a=Test
a.name=‘bob’
a.age=20 #添加实例属性
print(a.name,a.age,)
b=Test
b.name=‘tom’
b.age=‘22’
print(b.name,b.age)
print(a.name)
#init 参数传递
#总结 init
#1.python自带的内置函数具有特殊的函数使用双下划线包起来的[魔术方法]
#2.是一个初始化的方法用来定义实例属性和初始化数据的,在创建对象的时候自动调用不用手动去调用
#3.利用传参的机制可以让我们定义功能更加强大并且方便的类
class Test:
def init(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
pass
pass
a=Test(‘aaa’,‘n’,20)
print(a.name,a.sex,a.age)
#self和对象指向同一个内存地址,可以认为self就是对象的引用。
class Test:
def init(self,pro):
self.pro=pro
def eat(aa,name,age):
print(‘self的内存地址%d’%id(aa))
print(’%s年龄是%s专业%s’%(name,age,a.pro))
pass
pass
a=Test(‘it’)
print(‘a的内存地址%s’%id(a))
a.eat(‘tom’,‘20’)
#self和对象指向同一个内存地址,可以认为self就是对象的引用。