python面向对象类_python面向对象-类和对象

一. 类的定义

class类名():

代码

#定义类

classWasher():defwash(self):print("洗衣服")

注意:类名要满足标识符命名规则,同时遵循大驼峰命名习惯。

二. 创建对象

对象名 = 类名()

#创建对象

w =Washer()#调用方法

w.wash() #洗衣服

三. self

self指的是调用该函数的对象。相当于java中的this

四. 给对象添加属性

1.在类外面添加属性

对象名.属性名 = 值

#创建对象

w =Washer()#添加和设置属性

w.width = 100w.heigth= 500

#获取属性的值

print(w.heigth) #500

print(w.width) #100

在类外面设置的属性可在类方法上通过self获取到:

#定义类

classWasher():defwash(self):print(self.height) #500

#创建对象

w =Washer()#添加和设置属性

w.width = 100w.height= 500

#获取属性的值

print(w.height) #500

print(w.width) #100

w.wash()

五. 魔法方法

在Python中,`__xx__()`的函数(双下划线开头和结尾的函数)叫做魔法方法,指的是具有特殊功能的函数。

1. __init__() 初始化方法

1.1 __init__() 方法的作用

__init__()方法,在创建一个对象时默认被调用,不需要手动调用。`__init__(self)`中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递过去。

#定义类

classWasher():def __init__(self):

self.width= 100self.height= 500

#创建对象

w =Washer()#获取属性的值

print(w.height) #500

print(w.width) #100

1.2 带参数的`__init__()`

`__init__()`可以传递参数,在创建对象时候传入,如 `__init__(self, width, height)`

#定义类

classWasher():def __init__(self, width, height):

self.width=width

self.height=height#创建对象

w = Washer(100, 500)#获取属性的值

print(w.height) #500

print(w.width) #100

说明

1. w = Washer(100, 500)中的100 和500 分别对应 __init__(self, width, height) 中的width 和height, 创建Washer对象时,自动调用__init__()并将这两个值传入完成对象初始化

2. 第一个参数默认为self,由解释器自动传入,创建对象时不传

3. 通过self在类中可以定义需要的属性, 如self.width = width 即是定义了一个width属性

2 __str__() 方法

当使用print输出对象的时候,默认打印对象的内存地址。如果类定义了`__str__`方法,那么就会打印从在这个方法中 return 的数据。

#定义类

classWasher():def __init__(self, width, height):

self.width=width

self.height=heightdef __str__(self):return f"这是一台洗衣机。。。长{self.height}, 宽{self.width}"

#创建对象

w = Washer(100, 500)print(w) #这是一台洗衣机。。。长500, 宽100

3 __del__() 方法的作用

当删除对象时,python解释器会默认调用`__del__()`方法。

#定义类

classWasher():def __init__(self, width, height):

self.width=width

self.height=heightdef __del__(self):print("这台洗衣机要被删除了") #删除对象时执行

#创建对象

w = Washer(100, 500)#删除对象

del w #这台洗衣机要被删除了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值