Python构造函数:您需要知道的一切

举报
Yuchuan 发表于 2021/02/05 11:16:38 2021/02/05
【摘要】 python构造函数的学习

本文将向您介绍一个有趣的主题,该主题既简单又是编程的核心,我指的是Python构造函数。本文将介绍以下指针,

那么,让我们开始吧,

Python构造函数

如果您已经有一段时间编程,那么您可能会多次遇到Python这个名字。Python作为一种编程语言遵循对象导向,这意味着在平台上创建的每个实例都被定义为一个对象。尽管Python中的大多数组件都在线提供了大量信息,但是不断重复研究的一个主题是Python中的构造函数。因此,在本文中,我们将讨论有关Python中构造函数的所有信息,如何使用它们以及它们为表带来的好处。让我们开始!

继续阅读有关Python构造函数的这篇文章,

Python中的构造函数是什么?

构造函数可以简单地定义为一种特殊的方法或函数类型,可用于初始化类中各种成员的实例。

在Python中,有两种不同类型的构造函数。

  • 非参数化构造函数:Python中没有参数的构造函数称为非参数化构造函数。
  • 参数化构造函数:预定义了参数的构造函数称为参数化构造函数。

当我们在类内创建对象时就定义了构造函数。构造函数的存在还可以验证是否存在足够的资源,以便可以通过类的对象轻松执行启动任务。

继续阅读有关Python构造函数的这篇文章,

在Python中创建构造函数

既然您已经熟悉了Python中构造函数的定义和类型,那么让我们探索如何在Python中创建构造函数。

在Python中,如果需要创建构造,则需要使用__init__函数和或方法。您需要在实例化类时调用此方法。定义并调用__init__函数后,我们可以根据您的需要在创建类对象时传递任意数量的参数。Python中构造函数最常见的用法是初始化类的属性。

注意:

您在Python中创建的每个类都必须存在一个构造函数才能正常运行,即使它是默认构造函数。

为了更好地理解此概念,请看下面的示例。

class Employee:
def __init__(self,name,id):
self.id = id;
self.name = name;
def display (self):
print("ID: %d nName: %s"%(self.id,self.name))
emp1 = Employee("John",101)
emp2 = Employee("David",102)
#accessing display() method to print employee 1 information
emp1.display();
#accessing display() method to print employee 2 information
emp2.display();

当您运行上述程序时,输出将如下所示。

ID:101

姓名:约翰

ID(标识号):102

姓名:大卫

继续阅读有关Python构造函数的这篇文章,

参数化构造函数与非参数化构造函数之间的区别

如以上定义中所述,参数化构造函数是具有预定义值的参数,而非参数化构造函数是未分配值的参数。在对用例进行编程时,取决于上下文,并且为了更好地理解它,请看以下示例。

class Student:
#Constructor - non parameterized
def __init__(self):
print("This is non parametrized constructor")
def show(self,name):
print("Hello",name)
student = Student()
student.show("John")

上面是一个非参数构造函数的示例,其输出如下。

这是非参数化的构造函数

你好约翰

class Student:
#Constructor - parameterized
def __init__(self, name):
print("This is parametrized constructor")
self.name = name
def show(self):
print("Hello",self.name)
student = Student("John")
student.show()

上面是参数化构造函数的示例,其输出如下。

这是参数化的构造函数

你好约翰

继续阅读有关Python构造函数的这篇文章,

在Python中的内置类函数中

既然Python构造函数的基础已经很清楚,让我们探索Python中存在的各种内置类。

  1. getattr(obj,name,default):此Python内置函数用于访问类的属性。
  2. delattr(obj,name):如果需要删除类中的特定属性,请使用此内置函数。
  3. setattr(obj,name,value):在某些情况下,如果您决定为特定属性设置特定值,请使用Python内置的此函数。
  4. hasattr(obj,name):最后但并非最不重要的一点,如果您需要查看特定对象是否包含属性,请使用此函数。执行后,如果函数中存在属性,则返回true。

要了解Python中内置类函数的概念,请看下面的代码。

class Student:
def __init__(self,name,id,age):
self.name = name;
self.id = id;
self.age = age
#creates the object of the class Student
s = Student("John",101,22)
#prints the attribute name of the object s
print(getattr(s,'name'))
# reset the value of attribute age to 23
setattr(s,"age",23)
# prints the modified value of age
print(getattr(s,'age'))
# prints true if the student contains the attribute with name id
print(hasattr(s,'id'))
# deletes the attribute age
delattr(s,'age')
# this will give an error since the attribute age has been deleted
print(s.age)

上面的输出将是。

约翰

23

真正

AttributeError:“学生”对象没有属性“年龄”

继续阅读有关Python构造函数的这篇文章,

内置的类属性

Python与内置的类函数一起提供了内置的类属性,这些属性有时会派上用场。某些最重要的内置类属性如下所示。

  1. __dict__:通过使用它,您可以查看包含有关类名称空间信息的字典。
  2. __name__:如果需要查看当前类的名称,请使用此属性。
  3. __doc__:此属性包含一个字符串,其中包含当前类的文档。
  4. __module__:如果需要访问在其中定义了类的模块,请使用此内置属性。
  5. __bases__:如果需要查看包含所有基类的元组,请使用此函数。

澄清所有内置类属性的示例如下。

class Student:
def __init__(self,name,id,age):
self.name = name;
self.id = id;
self.age = age
def display_details(self):
print("Name:%s, ID:%d, age:%d"%(self.name,self.id))
s = Student("John",101,22)
print(s.__doc__)
print(s.__dict__)
print(s.__module__)

这使我们到了本文关于Python构造函数的结尾。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200