如果你是Python编程的初学者,你一定知道原始的数据类型,如整数、浮点数、字符串和复数。此外,你可能已经了解了内置的数据结构,如python字典、列表、元组和集合。在这篇文章中,我们将学习如何使用Python中的类来创建复杂的数据类型,以存储现实世界对象的信息。
什么是Python中的类?
我们知道,Python是一种面向对象的编程语言,我们可以在Python中创建对象来表示现实世界的对象。
在Python中,一个对象是一个属性的集合,它可以识别现实世界的对象。
例如,如果我们试图在python中描述一个长方体作为一个对象,我们将指定长方体的长度、宽度和高度的值,并定义其属性,如表面积、重量和体积。
为了定义长方体的属性,我们使用类。因此,类是Python中对象的蓝图,类决定了一个对象的属性和功能。
在我们的立方体例子中,一个类将是一个结构,它将定义物体的长度、宽度、高度、表面积、重量和体积。一个定义长方体属性的类将被定义如下。
class Cuboid:
#code for defining constructor
#codes to define methods
如何在Python中使用类来创建对象?
类只是任何对象的蓝图,它们不能在程序中使用。为了创建类所定义的对象,我们使用类的构造函数来实例化该对象。由于这个原因,一个对象也被称为类的实例。
类的构造函数是一个使用关键字__init__()定义的特殊方法。构造函数定义了对象的属性,并对其进行初始化,如下所示。
class Cuboid:
def __init__(self):
self.length=0
self.breadth=0
self.height=0
self.weight=0
我们也可以创建一个构造函数,将属性值作为输入参数,并按如下方式初始化它们。
class Cuboid:
def __init__(self, length, breadth, height, weight):
self.length = length
self.breadth = breadth
self.height = height
self.weight = weight
类的属性
对象的属性对类的任何实例都是私有的。与此不同的是,类的属性是类本身的属性,它们被该类的每个实例所共享。
类的属性是在所有方法和构造函数之外声明的,就在类头的下面,如下所示。
class Cuboid:
name = "Cuboid"
def __init__(self, length, breadth, height, weight):
self.length = length
self.breadth = breadth
self.height = height
self.weight = weight
在上面的代码中,我们为Cuboid类定义了一个类属性 "name"。
在一个类中定义方法
为了定义一个对象的属性和功能,我们在一个类中定义方法。方法是定义在一个类中的函数,它应该执行一个特定的任务并给出一些输出。
例如,根据长方体的长度、宽度、高度和重量来确定长方体的表面积、体积和密度的方法可以被定义如下。
class Cuboid:
name = "Cuboid"
def __init__(self, length, breadth, height, weight):
self.length = length
self.breadth = breadth
self.height = height
self.weight = weight
def volume(self):
x = self.length
y = self.breadth
z = self.height
v = x * y * z
print("The volume is:", v)
def density(self):
x = self.length
y = self.breadth
z = self.height
v = x * y * z
d = self.weight / v
print("Density is:", d)
def surface_area(self):
x = self.length
y = self.breadth
z = self.height
s = 2 * (x * y + y * z + x * z)
print("The surface area is:", s)
在定义了一个类的所有属性和方法后,我们可以在我们的Python程序中使用它来实例化一个对象并使用它们,如下所示。
class Cuboid:
name = "Cuboid"
def __init__(self, length, breadth, height, weight):
self.length = length
self.breadth = breadth
self.height = height
self.weight = weight
def volume(self):
x = self.length
y = self.breadth
z = self.height
v = x * y * z
print("The volume is:", v)
def density(self):
x = self.length
y = self.breadth
z = self.height
v = x * y * z
d = self.weight / v
print("Density is:", d)
def surface_area(self):
x = self.length
y = self.breadth
z = self.height
s = 2 * (x * y + y * z + x * z)
print("The surface area is:", s)
myCuboid = Cuboid(1, 2, 4,4.5)
myCuboid.density()
myCuboid.surface_area()
myCuboid.volume()
输出。
Density is: 0.5625
The surface area is: 28
The volume is: 8
结论
在这篇文章中,我们已经学习了Python中的类的概念。我们也看到了如何通过立方体的例子来实现类中的构造函数和方法。我们还可以使用 python try来编写本文中所使用的程序,并进行异常处理,使程序更加健壮,并以系统的方式处理错误。请继续关注更多内容丰富的文章。
The postClasses in Pythonappeared first onPythonForBeginners.com.