python基础——类【类的定义和使用、魔术方法】
时间:2024-04-17 17:55:25 来源:网络cs 作者:亙句 栏目:卖家故事 阅读:
📝前言:
python中的类,自我感觉在某种程度上和C语言的结构体是有共同之处的,如果有兴趣,可以先看看这篇文章:C语言——结构体类型(一),先了解一下C语言中的结构体,对学习python中的类也有一定帮助。
这篇文章主要讲解一下python语法中关于类的基础知识:
1,类的定义和使用
2,魔术方法
🎬个人简介:努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:再坚持一秒钟,机会也许就在下一秒
文章目录
一,类的定义和使用二,魔术方法1,__init__2,__str__3,__lt__4,__le__5,__eq__
一,类的定义和使用
在 Python 中,类是对象的蓝图,它定义了对象的属性和方法。类提供了创建对象的方法,对象是类的实例。使用类可以将代码组织为逻辑单元,并使代码更加模块化。
定义语法:
class 类名:属性1属性2def 方法(slef,参数1,参数2……):……
下面是一个简单的 Python 类示例:
class Dog: legs = 4 # 类属性 name = None# 类方法 def bark(self): print("汪汪!") def sit(self): print(f"{self.name}坐下了。")dog1 = Dog() # 创建对象实例dog1.name = "小黄" # 初始化属性dog1.sit() # 调用方法
注意:我们在类内部定义方法的时候参数部分要多加一个self
,如:def sit(self):
在使用类属性的时候,也需要用self
,如:self.name
(但是我们在外部调用方法的时候,则不需要传入这个self
参数)
运行结果:
二,魔术方法
在Python中,魔术方法是一类特殊的方法,它们被预先定义,用于实现某些特定的功能。魔术方法的名字以双下划线(__
)开头和结尾。以下是Python中一些常见的魔术方法:
(此图片来源于B站黑马程序员)
下面我将展示使用上述魔术方法的示例:
1,init
__init__
方法是一个特殊的方法,称为类的构造函数或初始化方法。当您创建一个类的实例时,__init__
方法会自动被调用。
下面是一个简单的示例,其中我们使用 init 方法初始化一个名为 Person 的类的属性:
class Person: def __init__(self, name, age): self.name = name # 意思是用传入的参数name给属性name赋值 self.age = age# 创建一个 Person 类的实例p1 = Person("Alice", 30)# 打印创建的实例的属性print(p1.name) # 输出: Aliceprint(p1.age) # 输出: 30
2,str
__str__
方法是一个特殊的方法,用于定义当尝试将对象转换为字符串时应该执行的操作。通常,__str__
方法返回对象的字符串表示。
下面是一个简单的示例,其中我们使用 str 方法为 Person 类提供一个自定义的字符串表示:
class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"{self.name} is {self.age} years old."# 创建一个 Person 类的实例p1 = Person("Alice", 30)# 将对象转换为字符串print(str(p1)) # 输出: Alice is 30 years old.
3,lt
__lt__
方法是一个特殊的方法,用于定义当两个对象进行比较时应该执行的操作。在比较运算符 < 的左侧和右侧对象时,将调用 __lt__
方法。
下面是一个简单的示例,其中我们使用 lt 方法定义 Person 类实例之间的比较:
class Person: def __init__(self, name, age): self.name = name self.age = age def __lt__(self, other): return self.age < other.age# 创建两个 Person 类的实例p1 = Person("Alice", 30)p2 = Person("Bob", 35)# 使用比较运算符 < 进行比较print(p1 < p2) # 输出: True
在本例中,我们根据年龄进行比较,因此当 p1.age
小于 p2.age
时,结果为 True
。
4,le
__le__
方法是一个特殊的方法,用于定义当两个对象进行比较时应该执行的操作。在比较运算符 <= 的左侧和右侧对象时,将调用 __le__
方法。(和__lt__
类似)
面是一个简单的示例,其中我们使用 __le__
方法定义 Person 类实例之间的比较:
class Person: def __init__(self, name, age): self.name = name self.age = age def __le__(self, other): return self.age <= other.age# 创建两个 Person 类的实例p1 = Person("Alice", 30)p2 = Person("Bob", 35)# 使用比较运算符 <= 进行比较print(p1 <= p2) # 输出: True
5,eq
__eq__
方法是一个特殊的方法,用于定义当两个对象进行比较时应该执行的操作。在比较运算符 == 的左侧和右侧对象时,将调用 __eq__
方法。
下面是一个简单的示例,其中我们使用 __eq__
方法定义 Person 类实例之间的比较:
class Person: def __init__(self, name, age): self.name = name self.age = age def __eq__(self, other): return self.age == other.age# 创建两个 Person 类的实例p1 = Person("Alice", 30)p2 = Person("Bob", 30)# 使用比较运算符 == 进行比较print(p1 == p2) # 输出: False
当然,python中的类还有很多魔术方法,在这里就不一一介绍了,我们只需在需要使用的时候进行查阅即可。
阅读本书更多章节>>>>🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!
本文链接:https://www.kjpai.cn/gushi/2024-04-17/159846.html,文章来源:网络cs,作者:亙句,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!