Python中创建对象的代码模板
Python是一种”面向对象的编程语言”。这个说法意味着大部分的代码是通过一种特殊的结构来实现的,这个结构被称为类。程序员利用类将相关的事物保存在一起。我们可以借助关键字 “class” 来实现这一点,它是一组面向对象构造的集合。
在接下来的教程中,我们将涵盖以下主题:
- 什么是类?
- 如何创建一个类?
- 什么是方法?
- 如何进行对象实例化?
- 如何在Python中创建实例属性?
因此,让我们开始吧。
了解类
一个类被认为是用于创建对象的代码模板。对象包含成员变量,并具有与其相关的行为。在像Python这样的编程语言中,我们可以使用关键字 “class” 来创建一个类。
我们可以借助类的构造函数创建一个对象。这个对象将被识别为该类的实例。在Python中,我们可以使用以下语法创建实例:
语法:
Instance = class(arguments)
创建一个Python类
我们可以使用之前阅读过的 class 关键字来创建一个类。现在让我们考虑一个示例,演示创建一个简单的、空的类,没有任何功能。
示例:
# defining a class
class College:
pass
# instantiating the class
student = College()
# printing the object of the class
print(student)
输出:
<__main__.College object at 0x000002B6142BD490>
解释:
在上面的代码片段中,我们定义了一个空的类作为”College”。我们使用”student”作为对象实例化该类,并将对象打印给用户。
理解类中的属性和方法
单独一个类是没有用的,除非与其相关的一些功能。我们可以通过设置属性来定义这些功能,属性充当与这些属性相关的数据和函数的容器。我们将这些函数称为方法。
属性
我们可以使用名称为”College”的类定义如下。该类将具有一个属性”student_name”。
示例:
# defining a class
class College:
student_name = "Alex" # setting an attribute 'student_name' of the class
...
说明:
在上面的代码片段中,我们定义了一个名为 “College” 的类。然后我们在类中定义了一个名为 “student_name” 的属性。
现在,让我们尝试将该类赋值给一个变量。这被称为对象实例化。然后我们将能够通过 . 运算符访问类中可用的属性。让我们考虑以下示例以说明相同的情况:
示例:
# defining a class
class College:
student_name = "Alex" # setting an attribute 'student_name' of the class
# instantiating the class
student = College()
# printing the object of the class
print(student.student_name)
输出:
Alex
解释:
在上面的代码片段中,我们按照之前的示例进行了相同的步骤。但是,我们现在实例化了类,并使用对象打印了属性的值。
方法:
一旦我们定义了属于类的属性,我们现在可以定义几个函数来访问类属性。这些函数被称为方法。每当我们定义一个方法时,需要始终使用一个叫做 “self” 的关键字为方法提供第一个参数。
让我们考虑以下示例来演示相同的情况。
示例:
# defining a class
class College:
student_name = "Alex" # setting an attribute 'student_name' of the class
def change_std_name(self, new_std_name):
self.student_name = new_std_name
# instantiating the class
student = College()
# printing the object of the class
print("Name of the student:", student.student_name)
# changing the name of the student using the change_std_name() method
student.change_std_name("David")
# printing the object of the class
print("New name of the student:", student.student_name)
输出:
Name of the student: Alex
New name of the student: David
解释:
在上面的代码片段中,我们定义了一个类并定义了它的属性。然后,我们定义了一个方法 change_std_name ,用于将属性的先前值更改为另一个值。然后我们实例化了该类并打印出用户所需的输出。结果,我们可以观察到属性的值变为另一个值。