python面向对象

一、类的成员方法

#1.设计一个类
class Student:
    name=None
    age=None
    sex=None

#2.创建一个对象
stu_1=Student()

#3.对象进行赋值
stu1.name='Jack'
stu1.age=19
stu1.sex='man'

#4.获取对象中记录的信息
print(stu1.name)
print(stu1.age)
print(stu1.sex)

二、类和对象

#1.设计一个闹钟类
class Clock:
    id=None
    price=None

    def ring(self):
        import winsound
        winsound.Beep(2000,3000)
#2.构建闹钟对象让其真正开始工作
clock1=Clock()
clock1.id='21344'
clock1.price=14
print(f"闹钟id是{clock1.id},闹钟价格是{clock1.price}")#必须加上clock1. !!!易错
clock1.ring()

面向对象编程:

设计类,基于类创建对象,并使用对象来完成具体的工作

三、构造方法

写法:__init__()

可实现:

创造类对象(构造类)时,会自动执行

创造类对象(构造类)时,将传入参数自动传递给__init__()方法使用

class Student:
    # name=None
    # age=None
    # tel=None

    def __init__(self,name,tel,age):#记得把成员变量写入括号内
        self.name=name
        self.tel=tel
        self.age=age
        print('Student类创建了三个对象')

stu=Student("周杰伦",31,"198782928354")
print(stu.age)
print(stu.tel)
print(stu.name)

 运行结果:

 

 构造方法使用的注意事项

1.  __init__  前后有两个下划线

2.构造方法也是成员方法,不要忘记在参数列表中写上self

def __init__(self,变量1,变量2....)

3.在构造方法内定义成员变量,需要写上self关键字

四、魔术方法

 1. __str__方法:控制类转化为字符串的行为

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __str__(self):
        return f"Student类对象,name={self.name},age={self.age}"

student=Student('周杰伦',13)
print(student)
print(str(student))

2. __lt__方法(注意是l不是i):大、小于符号比较方法

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __lt__(self,other):
        return self.age<other.age#必须对同一种对象进行比较

stu1=Student('周杰伦',13)
stu2=Student('周ziyan',11)
print(stu1<stu2)
print(stu1>stu2)

注:1.必须对同一种对象进行比较

2.传入参数有一个是other,表示另外一个用于比较的类对象

必须加上other!!!

3.__le__方法:大于等于、小于等于的比较(基本和lt一样)

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __le__(self,other):
        return self.age<=other.age#必须对同一种对象进行比较,记得加=号

stu1=Student('周杰伦',13)
stu2=Student('周ziyan',11)
print(stu1<=stu2)
print(stu1>=stu2)

注:不能比较==

4.__eq__方法:比较是否相等

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __eq__(self, other):
        return self.age==other.age#必须对同一种对象进行比较

stu1=Student('周杰伦',10)
stu2=Student('周ziyan',10)
print(stu1==stu2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值