Python 类和对象。 第 9 部分 Python 课程从初学者到高级,共 11 篇博文

已发表: 2022-01-25

本文将帮助读者了解基本的 Python 类以及现实世界中的一些基本应用程序。 我们将使用 Visual Studio Code 作为我们的代码编辑器。 如果您还没有安装 Visual Studio Code,说明在第一篇博客中给出。

Python 类和对象——目录:

  1. Python 类
  2. Python 类 – 定义
  3. Python类的初始化
  4. 让我们编写我们的第一个 Python 类
  5. 属性
  6. 班级行为
  7. Python 中的对象
  8. 遗产

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 中类的一些基础知识。 在下一篇博文中,我们将介绍文件处理的主题。

python_classes

您可能还喜欢我们从初级到高级的 JavaScript 课程。

Python classes and objects. Part 9 Python Course from Beginner to Advanced in 11 blog posts robert whitney avatar 1background

作者:罗伯特·惠特尼

JavaScript 专家和指导 IT 部门的讲师。 他的主要目标是通过教其他人如何在编码时有效合作来提高团队生产力。

11 篇博文中从初级到高级的 Python 课程:

  1. Python课程简介。 第 1 部分 Python 课程从初学者到高级,共 11 篇博文
  2. Python 中的变量和数据类型。 第 2 部分 Python 课程从初学者到高级,共 11 篇博文
  3. Python 元组、列表、集合和字典。 第 3 部分 Python 课程从初学者到高级,共 11 篇博文
  4. Python 集和字典。 第 4 部分 Python 课程从初学者到高级,共 11 篇博文
  5. Python 中的条件语句。 第 5 部分 Python 课程从初学者到高级,共 11 篇博文
  6. Python中的循环。 第 6 部分 Python 课程从初学者到高级,共 11 篇博文
  7. Python 函数。 第 7 部分 Python 课程从初学者到高级,共 11 篇博文
  8. Python 中的高级函数。 第 8 部分 Python 课程从初学者到高级,共 11 篇博文
  9. Python 类和对象。 第 9 部分 Python 课程从初学者到高级,共 11 篇博文
  10. Python 中的文件。 第 10 部分 Python 课程从初学者到高级,共 11 篇博文
  11. 实践中的 Python 应用程序。 第 11 部分 Python 课程从初学者到高级,共 11 篇博文