Python 类和对象。 第 9 部分 Python 课程从初学者到高级,共 11 篇博文
已发表: 2022-01-25本文将帮助读者了解基本的 Python 类以及现实世界中的一些基本应用程序。 我们将使用 Visual Studio Code 作为我们的代码编辑器。 如果您还没有安装 Visual Studio Code,说明在第一篇博客中给出。
Python 类和对象——目录:
- Python 类
- Python 类 – 定义
- Python类的初始化
- 让我们编写我们的第一个 Python 类
- 属性
- 班级行为
- Python 中的对象
- 遗产
Python 类
正如我们在第一篇博客中所讨论的,Python 是一种面向对象的编程语言。 在讨论 Python 中的面向对象编程时,有三个非常重要的短语。 第一个是类,第二个是对象,第三个是继承。 让我们从什么是类开始。
Python 类 – 定义
类是有助于创建对象的蓝图或可扩展程序。 一个类由行为和状态组成。 类的行为是通过类内部的函数来展示的,这些函数称为方法。 类的状态是使用类内部的变量来演示的,这些变量称为属性。
Python类的初始化
可以使用以下语法初始化一个类。
python中的类是使用类名后面的“class”关键字定义的。 Python 函数的基本语法如下所示。
例如:
<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" /> # Create a function # class Monkey class classname:
注意:类名也与变量声明具有相同的规范。
让我们编写我们的第一个 Python 类
# first class class Animals: pass
在上面的代码块中,我们编写了一个类,我们将在博客中进一步开发。 如您所见,我们使用了“class”关键字。
现在让我们看看,如何将组件添加到动物的类中。 但在此之前,让我们了解一下“__init__()”构造函数。 构造函数用于对象实例化。 这里 __init__() 用于对象实例化。 构造函数可以是默认的,只有 self 作为参数,也可以使用所需的参数进行参数化。
属性
有两种不同类型的属性,第一种是类变量,第二种是实例变量。 类变量是类所拥有的变量。 此外,这些变量可用于类的所有实例。 因此,即使实例发生变化,它们的值也不会改变。
# class variables class Animals: type=”mammals”
实例变量是属于实例本身的变量。 因此,它们将随着实例的变化而改变它们的值。
# class variables class Animals: def __init__(self,legs): self.legs=legs
注意:实例变量不能使用类名访问,因为它们会根据访问它的对象而变化。
让我们创建一个同时声明类变量和实例变量的程序。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs
在上面的程序中,我们使用了实例变量和类变量。 因此,这些变量形成了类的属性。
班级行为
如前所述,类的行为由类内的方法定义。 但在讨论行为之前,我们必须开始讨论我们在 __init__() 中使用的“self”参数。
自己:
用一个非常简单的术语来说,每当我们将任何东西附加到 self 时,它就表示该变量或函数属于该类。 此外,通过“self”,可以访问类的属性或方法。
方法:
类方法是类内部的函数,它们的第一个参数是“self”。 类中的方法是使用“def”关键字定义的。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”)
在上面的方法“bark”中,由于我们使用了 name 变量,它是一个实例变量,所以我们使用“self”访问它,这个函数将打印“woof woof!!!”,只有当名称提供给对象,是狗。
我们已经讨论了类的大部分组件,但您可能正在考虑如何查看该类是否正常工作。 答案是除非我们创建类的对象,否则我们将无法看到该类在做什么。 现在,让我们定义并创建一个类的对象。
Python 中的对象
对象是类的一个实例。 类只是一个蓝图,但对象是具有实际值的类的实例。
定义或创建对象的代码如下所示。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4)
要创建一个对象,语法是 objectname=classname(arguments)。 因此,这里我们将动物的名称设为狗,腿数设为 4。现在,类的对象已创建,下一步是使用该对象访问其属性。 要使用对象访问类的属性,请记住只能使用对象访问实例变量。 我们类中的实例变量是名称和腿。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs)
正如我们所见,我们可以使用点符号来访问实例变量。
让我们探索一下输出。
#Output dog 4
要访问类或方法中的函数,我们将使用点符号。 示例如下图所示。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs) print(dog.bark())
#Output dog 4 woof woof!!!
在上面的示例中,我们可以看到我们正在使用我们创建的 dog 对象访问类方法“bark”。 我们可以看到我们没有在函数参数中使用“self”参数。 这是因为我们不需要在类之外使用“self”,因为对象本身就是 self。
遗产
继承是一个过程,通过该过程可以将类属性和方法传递给子类。 子类继承的类是父类。 继承的语法如下所示。
#Inheritance class parent: class child(parent):
从上图中,我们可以看到,对于继承语法,我们将父类名称作为子类的参数。 让我们使用 Animals 类并创建一个名为 dog 的子类。 如下图所示。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed
在上面的示例代码中,我们创建了一个狗类,它扩展了我们之前创建的动物类。 我们还使用 Animals.__init__(arguments) 的 Animals 参数,它的名称和腿将被继承到 dog 类。 然后我们为狗类创建一个实例属性,它是品种。
现在让我们为狗类创建一个对象并访问动物类的属性和方法。
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed pug=Dog("dog",4,"pug") pug.breed pug.name pug.legs pug.bark()
#Output pug dog 4 woof woof!!!
正如我们从输出中看到的,父类属性和方法正在被子类对象访问。
在这篇博客中,我们介绍了 Python 中类的一些基础知识。 在下一篇博文中,我们将介绍文件处理的主题。
您可能还喜欢我们从初级到高级的 JavaScript 课程。
11 篇博文中从初级到高级的 Python 课程:
- Python课程简介。 第 1 部分 Python 课程从初学者到高级,共 11 篇博文
- Python 中的变量和数据类型。 第 2 部分 Python 课程从初学者到高级,共 11 篇博文
- Python 元组、列表、集合和字典。 第 3 部分 Python 课程从初学者到高级,共 11 篇博文
- Python 集和字典。 第 4 部分 Python 课程从初学者到高级,共 11 篇博文
- Python 中的条件语句。 第 5 部分 Python 课程从初学者到高级,共 11 篇博文
- Python中的循环。 第 6 部分 Python 课程从初学者到高级,共 11 篇博文
- Python 函数。 第 7 部分 Python 课程从初学者到高级,共 11 篇博文
- Python 中的高级函数。 第 8 部分 Python 课程从初学者到高级,共 11 篇博文
- Python 类和对象。 第 9 部分 Python 课程从初学者到高级,共 11 篇博文
- Python 中的文件。 第 10 部分 Python 课程从初学者到高级,共 11 篇博文
- 实践中的 Python 应用程序。 第 11 部分 Python 课程从初学者到高级,共 11 篇博文