面向对象

本文介绍了Python的面向对象编程概念,包括类与对象的区别,如何定义类和实例方法,以及self的作用。通过示例代码展示了类属性、实例属性的使用,并详细解释了__init__方法的功能和用法。此外,还探讨了self的特性,强调了在方法调用中self的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象编程: 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就是对象的引用。

所谓的self,可以理解为对象自己,某个对象调用其方法时,python解释器

会把这个对象作为第–个参数传递给self,所以开发者只需要传递后面的参

数即可。

小结self特点

self只有在类中定义实例方法的时候才有意义,在调用时候不必传入相应的参数而是由解释器自动去指向

self的名字是可以更改的可以定 义成其他的名字,只是约定俗成的定义成了self

self指的是类实例对象本身。相当于iava中this

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值