…
创建对象
对象又名为实例
语法:
对象名 = 类名()
实例方法/对象方法:
语法:
对象名.类中方法名()
类中定义函数时参数位置的self是指调用该函数的对象
若调用该函数的对象是obj 即此时self指的就是obj
同一个类创建的不同对象调用函数方法时的self也不同
添加和获取对象属性
属性即是特征
对象属性既可以在类外面添加和获取,也能在类里面添加和获取
类外面添加对象属性:
语法:
对象名.属性名 = 值
例如:
obj.width = 100
obj.height = 200
类里面获取对象属性:
语法:
self.属性名
魔法方法:
在Python中, _xx_()的函数叫做魔法方法,指的是具有特殊功能的函数
__init__():
__init__(): 初始化对象(在定义类时定义此函数用来添加实例属性)
注意:
1.__init__()方法,在创建一个对象时默认被调用,不需要手动调用
2.__init__(self)中的self参数,不需要开发者传递,Python解释器会自动把当前的对象引用传递过去
带参数的__init__(): 对不同的对象设置不同的初始化属性
语法:
def __init__(self,属性1,属性2):
self.属性1 = 属性1
self.属性2 = 属性2
传参:创建对象时传入参数
对象名 = 类名(参数1,参数2)
__str__():
__str__(): 当使用print输出对象的时候,默认打印对象的内存地址,如果类定义了__str__方法,那么就会打印从在这个方法中return的数据
一般放置解释说明性质的文字,为了解释类的作用
__del__():
__del__(): 当删除对象时,Python解释器也会默认调用__del__()方法
删除对象时,执行__del__()方法里面的内容
示例代码
'''
class A(): # 创建类
def p(self): # 定义类中的函数
print('我是类中的方法')
print(self) # <__main__.A object at 0x0000022AA6F97278>
obj = A() # 创建对象
print(obj) # <__main__.A object at 0x000001C2EC107278>
print(type(A)) # <class 'type'>
print(type(obj)) # <class '__main__.A'>
# 对象调用类中的方法
obj.p() # <__main__.A object at 0x00000256398270B8>
obj_1 = A()
obj_1.p() # <__main__.A object at 0x000002563992C438>
# 类外面添加属性
obj.width = 100
obj.height = 200
print(obj.width)
print(obj.height)
# 类里面获取对象属性
class B():
# 定义__init__() 设置初始化属性
def __init__(self):
self.name = '我是属性name'
self.age = '我是属性age'
def p(self):
print(f'类里面获取的属性self.width:{self.width}') # 类里面获取实例属性
print(f'类里面获取的属性self.height:{self.height}')
print(f'类里面获取的属性self.name:{self.name}')
print(f'类里面获取的属性self.age:{self.age}')
obj1 = B() # 创建对象
# 添加实例属性
obj1.width = 200
obj1.height = 400
obj1.p() # 调用方法
print('--------------------------------------')
class C():
def __init__(self,width,height):
self.width = width
self.height = height
def init_p(self):
print(f'类里面获取的属性self.width:{self.width}')
print(f'类里面获取的属性self.height:{self.height}')
objc = C(400,450) # 创建不同对象时的属性值不同
objc1 = C(900,960)
objc.init_p()
objc1.init_p()
class Washer():
def __init__(self,width,height):
self.width = width
self.height = height
def __str__(self):
return '这是初始化介绍,'+f'宽度属性{self.width},高度属性{self.height}'
def __del__(self):
print(f'{self.__class__}对象已经被删除')
washer = Washer(200,250)
print(washer); # 打印时不是地址,是__str__()方法里面的内容
del washer
print('----------------------------------------')
# 烤地瓜
class SweetPotato():
def __init__(self):
self.cook_time = 0
self.cook_static = '生的'
self.cook_condiments = []
def cook(self,time):
self.cook_time += time # 时间累加
if 0 <= self.cook_time < 3:
self.cook_static = '生的'
elif 3 <= self.cook_time < 5:
self.cook_static = '半生不熟'
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/3eba73890e20d0c35effed04a2c7cec0.png)
![img](https://img-blog.csdnimg.cn/img_convert/dca7fe5fab3826bfa3467156f10719a2.png)
![img](https://img-blog.csdnimg.cn/img_convert/35b519caa0ce669ba6e129d778dc1768.png)
![img](https://img-blog.csdnimg.cn/img_convert/5b84d9c8761ad2e9e2b8753aaf671c35.png)
![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)
![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**
296f86381401c05e862fe4e9.png)
![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)**
![](https://img-blog.csdnimg.cn/img_convert/177541664209bf8489b519558a1114f5.jpeg)