这里写目录标题
- 类
- 示例
- 成员方法
- self关键字
- 类与对象
- 构造方法
- 其他类内置方法(魔术方法)
- _str_符号
- _Lt_符号
- le小于等于比较
- eq比较运算
- 小结
类
在Python中,class(类)是一种用于创建对象的模板或蓝图。它封装了数据(属性)和与这些数据相关的操作(方法)。通过类,你可以创建具有特定属性和方法的对象。这种机制使得代码更加模块化和可重用。
类定义了一个对象的结构,包括它包含的数据(通过变量表示)和它可以执行的操作(通过函数表示,但在类中称为方法)。当你创建一个类的实例(即对象)时,你可以使用这个对象来访问其属性和方法。
示例
#1.设计一个类
class student:
name=None
age=None
#2.创建一个对象
xkk=student()
#3.对象属性进行赋值
xkk.name="xkk"
xkk.age=23
print(xkk.age)
可以看出,类中:
不仅可以定义属性用来记录数据也可以定义函数,用来记录行为其中:
类中定义的属性(变量),我们称之为:
成员变量
类中定义的行为(函数),我们称之为:
成员方法
成员方法
在成员方法内访问成员变量
self.成员变量
self关键字
class student:
name=None
age=None
def st(self,say):
print(say,f"我今年{self.age}岁了")
#在成员方法内访问成员变量self.成员变量
xkk=student()
xkk.name="xkk"
xkk.age=23
xkk.st("你好")
print(xkk.age)
结果
你好 我今年23岁了
23
类与对象
class clock:
name=None
price=None
def attribute(self,frequency,time):
import winsound
winsound.Beep(frequency,time)
clock1=clock()
clock1.name="xkk"
clock1.price=9.99
clock1.attribute(500,4000)
构造方法
class aaa:
name=None
age=None
def __init__(self,name,age):
self.name=name
self.age=age
xkk=aaa("xkk",23)
dl=aaa('dsf',28)
1.构造方法的名称是:
init,注意init前后的2个下划线符号
2.构造方法的作用:
·构建类对象的时候会自动运行
·构建类对象的传参会传递给构造方法,借此特性可以给成员变量赋
值
3.注意事项:
·构造方法不要忘记self关键字
·在方法内使用成员变量需要使用self
其他类内置方法(魔术方法)
魔术方法
上文学习的_init_构造方法,是Python类内置的方法之一。
这些内置的类方法,各自有各自特殊的功能,这些内置方法我们称之为∶魔术方法
_init_构造方法
_str_字符串万法
_lt_小于、大于符号比较
_le_小于等于、大于等于符号比较
eq
符号比较
在这里插入图片描述
_str_符号
class student:
def __init__(self,name,age):
self.name=name
self.age=age
def __str__(self):
return "%s,%d"%(self.name,self.age)
student1=student("xkk",23)
print(student1)
_Lt_符号
就比如stu1<stu2,那么stu1就会作为__lt__定义中的self,而stu2作为other
class student:
def __init__(self,name,age):
self.name=name
self.age=age
def __lt__(self, other):
return self.age<other.age
student1=student("xkk",23)
student2=student('kyb',11)
print(student1>student2)#stu2作为self
结果
Ture
le小于等于比较
class student:
def __init__(self,name,age):
self.name=name
self.age=age
def __le__(self, other):
return self.age<=other.age
student1=student("xkk",11)
student2=student('kyb',11)
print(student1>=student2)#student2作为self
结果
Ture