Python——对象

一 Python中的对象

在Python中定义什么是对象,拿球做例子。可以操作一个球,比如捡球、踢球、抛球等。我们把这些操作称为动作。还可以通过颜色、重量和大小来描述一个球。这些就是球的属性。在Python中,一个对象的特征也称为属性,动作称为方法。

如果要建立一个球的Python版本或者模型,球就是一个对象,它要有属性和方法。

球的属性可能是 (这些都是关于球的描述):

ball.color
ball.size
ball.weight

球的方法可能有 (这些都是可能对球做的操作):

ball.kick()
ball.throw()
ball.inflate()

二 对象=属性+方法

什么是属性:

属性就是你所知道的关于球的所有方面,球的属性就是一些信息(数字、字符串等),没错,它们就是变量,只不过是包含在对象中的变量。

可以显示:

print ball.size

可以给它们赋值:

ball.color = "green"

可以把它们赋值给常规的、不是对象的变量:

mycolor = ball.color

还可以把它们赋给其他对象的属性:

myball.color = yourball.color

什么是方法:

方法就是可以对对象做的操作,它们是一些代码块。可以调用这些代码来完成某个工作,是不是很熟悉?方法其实就是在对象中的函数。函数能做到的,方法都能做到,包括传递参数和返回值。

所以利用对象,可以把一个东西的属性和方法收集到一起。

三 创建对象

Python中创建对象包括两步:

第一步是描述对象。Python中对象的描述或蓝图称为一个
第二步是使用类建立一个对象。这个对象称为这个类的一个实例。

class Ball:
    def bounce(self):
        if self.direction == "down":
            self.direction == "up"

上例是一个球的类定义,其中一个方法bounce( )。属性并不属于类,它们属于各个实例。因为每个实例可以有不同的属性。

(1) 创建一个对象实例

前边说过,类定义并不是一个对象,只是一个蓝图。现在来真正的“盖房子”。

class Ball:
    def bounce(self):
        if self.direction == "down":
            self.direction = "up"
            
myball = Ball()
myball.direction = "down"
myball.color = "red"
myball.size = "small"

print "I just created a ball."
print "My ball is",myball.size
print "My ball is",myball.color
print "My ball's direction is",myball.direction
print "Now I'm going to bounce the ball."
print
myball.bounce()
print "Now the ball's direction is",myball.direction

在这里插入图片描述
调用bounce( ) 方法会把球的方向从 down 改为 up,这正是bounce( )方法中要做的。

(2) 初始化对象

创建球对象时,并没有在size、color、或direction中填入任何内容,必须在创建对象后填充这些内容。而初始化对象就是可以在创建对象时设置属性。

class Ball:
    def __init__(self, color,size,direction):
        self.color = color
        self.size = size
        self.dir
好的,我可以为您介绍如何使用 Python 制作一个简易的学生信息管理系统。这个系统将使用面向对象编程的方式实现,可以方便地添加、删除和修改学生信息。 首先,我们需要定义一个 `Student` 类,用来表示学生信息。每个学生都有姓名、学号、年龄等基本信息,可以使用类的属性来表示: ```python class Student: def __init__(self, name, student_id, age): self.name = name self.student_id = student_id self.age = age ``` 在 `__init__` 方法中,我们定义了三个属性,分别对应学生的姓名、学号和年龄。接下来,我们需要添加一些方法,来实现学生信息的添加、删除和修改: ```python class Student: def __init__(self, name, student_id, age): self.name = name self.student_id = student_id self.age = age def get_name(self): return self.name def set_name(self, name): self.name = name def get_student_id(self): return self.student_id def set_student_id(self, student_id): self.student_id = student_id def get_age(self): return self.age def set_age(self, age): self.age = age ``` 在上面的代码中,我们定义了六个方法,分别对应获取和设置学生的姓名、学号和年龄。这些方法可以方便地对学生信息进行修改。 接下来,我们可以创建一个 `StudentManager` 类,用来管理所有的学生信息。这个类包含了一个学生列表,可以添加、删除和修改学生信息: ```python class StudentManager: def __init__(self): self.students = [] def add_student(self, student): self.students.append(student) def remove_student(self, student): self.students.remove(student) def get_all_students(self): return self.students def search_student_by_id(self, student_id): for student in self.students: if student.get_student_id() == student_id: return student return None ``` 在上面的代码中,我们定义了四个方法,分别对应添加、删除、获取所有学生和根据学号查找学生。这些方法可以方便地对学生信息进行管理。 现在,我们可以创建一个 `main` 函数,来实现学生信息管理系统的基本功能: ```python def main(): manager = StudentManager() # 添加学生 student1 = Student('张三', '001', 18) manager.add_student(student1) student2 = Student('李四', '002', 19) manager.add_student(student2) student3 = Student('王五', '003', 20) manager.add_student(student3) # 查找学生 s = manager.search_student_by_id('001') print(s.get_name(), s.get_student_id(), s.get_age()) # 修改学生信息 s.set_name('赵六') s.set_age(21) # 删除学生 manager.remove_student(student3) # 打印所有学生信息 students = manager.get_all_students() for student in students: print(student.get_name(), student.get_student_id(), student.get_age()) ``` 在上面的代码中,我们首先创建了一个 `StudentManager` 对象,并添加了三个学生。然后,我们使用 `search_student_by_id` 方法查找学号为 '001' 的学生,并打印出其姓名、学号和年龄。接着,我们使用 `set_name` 和 `set_age` 方法修改了该学生的姓名和年龄。然后,我们使用 `remove_student` 方法删除了一个学生。最后,我们使用 `get_all_students` 方法获取所有学生信息,并打印出来。 这样,一个简易的学生信息管理系统就完成了。您可以根据自己的需求,继续添加其他功能,如文件读写、GUI 界面等。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花里梦雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值