四时宝库

程序员的知识宝库

零基础学Python系列-----类和对象的定义

没有基础能不能学会Python?二胎妈妈准备挑战一下,这是我学习Python的第20天,今天开始记录我的学习内容,方便记忆和复习。

今天学习的主题为类及其对象

什么叫类?在 Python 中,类(Class)是一种用户定义的数据类型,类可以被视为创建对象(实例)的蓝图,它定义了一组属性(数据成员)和方法(函数),这些属性和方法共同描述了该类的对象的行为和状态。

类的定义格式:【class 类名:】

需要注意的事项:

1.属性包括类属性和实例属性,类属性直接在类里定义(一般先定义类再定义方法),实例属性通过构造函数定义。

2.构造函数前后都是两个下划线,如:__init__()也可以定义数据成员,创建类的对象时会自动调用该函数。

3.一些特殊函数也是前后都是两个下划线,如__str__(),若定义了该函数,则可以直接print()该类的对象,print的结果为__str__()中return的内容。

4.在方法中使用数据成员时,格式为self.数据成员名称,如果是直接在类中定义的类属性,可以通过类名称.属性名称来访问,Self.可以访问类属性和实例属性,而类名.只能访问类属性

5.除了构造函数,也可以自己在类中定义方法

定义类的代码实现:

# 定义Student类
class Student:
# 类属性
name = None
# 构造方法,创建类对象时会自动调用该函数
def __init__(self, age, add):
self.age = age # 实例属性
self.add = add # 实例属性
# 特殊方法,定义该方法后,可以print该类对象,返回内容为return后面的内容
def __str__(self):
return f"name:{self.name},age:{self.age},add:{self.add}"
# 方法
def display(self):
# 注意:此处类名Student只可以调用类属性name
# 而self可以调用name、age、add
print(f"大家好,我叫{Student.name},"
f"今年
{self.age}岁,"
f"我家住在
{self.add}"
)

注意;该段程序运行无结果


对象的定义:对象名=类名()

需要注意的事项:

1.定义对象时,需要根据构造函数__init()__的内容进行传参

2.通过对象名.属性名,对象名.方法名访问属性和方法并返回结果

定义实例的代码实现:

# 定义实例
# 自动运行构造函数,需要传入两个参数
student=Student("37","这里")
# 给类属性赋值,若不赋值,默认为None
student.name="daimm"
# 调用类中的display函数
student.display()
# 因为定义了__str__()函数,可以直接使用print输出对象,
# 输出结果为__str__()函数中return的内容
print(student)

运行结果为:

大家好,我叫None,今年 37岁,我家住在 这里

name:daimm,age:37,add:这里

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接