python中类的使用,方法,魔术方法

python是一种面向类和对象的语言,类(class)中可以存放很多方便调用的变量和方法

下面定义一个简单的类:

class Student:
    name = None

这里定义了一个Student的类,其中变量name的初值为None

方法,是类里的“函数”,可以方便的调用

定义类里的方法:

    def say_hi(self):
        print(f"大家好好好啊好,我是{self.name}。")

这里定义了一个类中的方法,用于打印类中name的字符串

下面使用刚刚定义的类创建两个对象,给对象赋值并调用类里的方法

stu1 = Student()
stu1.name = "学生1"
stu1.say_hi()

stu2 = Student()
stu2.name = "学生2"
stu2.say_hi()

运行上述代码即可得到:

大家好好好啊好,我是学生1。
大家好好好啊好,我是学生2。

下面重新定义Student这个类,用于练习魔术方法的使用:

class Student:
    # 开始类就执行的方法
    def __init__(self, name, age ,tel):
        self.name = name
        self.age = age
        self.tel = tel
        print(f"Student类创建了一个类对象{self.name}")

    # 把类从内存地址变成字符串
    def __str__(self):
        return  f"Student类对象, name:{self.name}, age:{self.age}, tel:{self.tel}"

    # 2个类对象大于小于比较,返回T、F
    def __lt__(self, other):
        return self.age < other.age

    # 2个类对象大于等于或小于等于比较,返回T、F
    def __le__(self, other):
        return self.age <= other.age

    # 2个类对象进行相等比较,返回T、F
    def __eq__(self, other):
        return self.age == other.age


stu1 = Student("学生1", 22, "12356888552")
stu2 = Student("学生2", 25, "13245325382")
print(stu1.name)
print(stu1.age)
print(stu1.tel)
print(stu1)
print(stu1 < stu2)
print(stu1 <= stu2)
print(stu1 == stu2)

魔术方法使用__xx__的方式进行表示,在上述代码中:

__init__是一个调用类就会执行的魔术方法,可以用于创建对象时变量的设定

__str__用于将对象中的变量转为字符串

__lt__用于两个对象大于小于的比较,返回True或False

__le__用于两个对象大于等于小于等于的比较,返回True或False

__eq__用于两个对象等于的比较,返回True或False

执行代码,得到如下结果:

Student类创建了一个类对象学生1
Student类创建了一个类对象学生2
学生1
22
12356888552
Student类对象, name:学生1, age:22, tel:12356888552
True
False
False

以上简单记录了自己学习类的过程,如有错误大佬多多指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值