Python学习笔记(十六):类的定义与常用方法

1 类的定义

类定义的语法如下所示。

class 类名():
 代码
 ......

我们可以创建一个洗衣机类Washer,并为他添加一个方法。

class Washer():
 	def wash(self):
 	print('我会洗⾐服')

其中,self表示当前正在调用的对象,python中所有的属性都需要通过self.属性的方式调用,以免与同名的形参混淆。

2 创建对象

对象名 = 类名()

其中类名中也可以带参数,但必须与类定义中重写的__init__方法参数相同,在此可以暂时简单的认为__init__是类的构造方法。

haier1 = Washer()
# <__main__.Washer object at 0x0000018B7B224240>
print(haier1)
# haier对象调⽤实例⽅法
haier1.wash()

3 添加和获取实例属性

添加属性有2种方法

3.1 在__init__方法中定义

class Bird():
def __init__(self):
    self.weight=10
    self.height=10

3.2 在调用对象时定义(在外部定义)

class Bird():
    pass

bird1=Bird()
bird1.weight=10
bird1.height=10

4 __init__方法

init方法在对象创建的时侯会进行调用,且它的形参需要和创建对象时的参数数量相同,当然我们也可以在类的内容手动调用init方法。

class Dog():
    def __init__(self):
        self.color="White"

    #方法参数self代表当前对象
    def bark(self):
        print(f'I\'m a terrible {self.color} dog !!')
dog1=Dog()
dog1.bark()   
I'm a terrible White dog !!

5 __str__方法

__str__就等价于java中的toString方法,在该方法中需要返回一个字符串,表示对该类的对象进行打印时输出的内容。

class Cat():
    def __init__(self):
        self.color="Black"
 
cat1=Cat()
print(cat1)
<__main__.Cat object at 0x0000023FFDB8A128>

如果类中没有重写__str__方法,打印对象时输出的是对象的内存地址。

class Cat():
    def __init__(self):
        self.color="Black"
    def __str__(self):
        return "a " + self.color + " cat"
    
cat1=Cat()
print(cat1)
a Black cat

而对__str__方法进行重写后,则可以打印出我们想要的内容。

6 __del__方法

__del__方法类似于析构方法,在类被销毁的时候被调用,而我们可以按需求对他进行重写。

class Human():
    def __init__(self):
        self.name="MaBaoGuo"
    def __del__(self):
        print(self.name+"已经被摧毁了!!")

scl=Human()
#不执行该语句,等程序运行结束,对象还是会被销毁,__del__也会自动执行
del scl
MaBaoGuo已经被摧毁了!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值