0

0

Python中的构造函数

WBOY

WBOY

发布时间:2023-09-02 16:29:20

|

4512人浏览过

|

来源于tutorialspoint

转载

python中的构造函数

在Python中,每个类都有一个构造函数,它是类内部指定的特殊方法。构造函数/初始化程序将在为类创建新对象时自动调用。当对象被初始化时,构造函数将值分配给类中的数据成员。

没有必要显式定义构造函数。但为了创建构造函数,我们需要遵循以下规则 -

  • 对于一个类,它只允许有一个构造函数。

  • 构造函数名称必须是 __init__。

    立即学习Python免费学习笔记(深入)”;

  • 必须使用实例属性定义构造函数(只需将 self 关键字指定为第一个参数)。

  • 它不能返回除 None 之外的任何值。

语法

class A(): 
   def __init__(self):
      pass

示例

考虑下面的示例并了解构造函数的工作原理。

class SampleClass():
  def __init__(self):
    print("it a sample class constructor")

# creating an object of the class 
A = SampleClass()

输出

it a sample class constructor

在上面的块中,为 SampleClass() 创建了对象 A,并且对于此实例,会自动执行方法 __init__(self)。这样它就显示了构造函数的语句。

构造函数分为三种类型。

  • 默认构造函数

  • 参数化构造函数

    Keevx
    Keevx

    一款专为海外中小企业和创作者打造的AI数字人视频创作平台

    下载
  • 非参数化构造函数

默认构造函数

默认构造函数不是由用户定义的,Python 本身在程序编译期间创建了一个构造函数。它不执行任何任务,但初始化对象。

示例

Python 生成一个空构造函数,其中没有任何代码。请参阅下面的示例。

class A():
    check_value = 1000
    # a method
    def value(self):
        print(self.check_value)

# creating an object of the class
obj = A()

# calling the instance method using the object
obj.value()

输出

1000

让我们使用Python内置的dir()函数来验证类A的构造函数。

dir(A)
Output:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', 
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
'__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', 
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', 
'__subclasshook__', '__weakref__', 'check_value', 'value']

python dir() 函数返回指定对象的所有属性和方法的列表。在上面的列表中我们可以看到为对象 A 创建了默认构造函数 __init__ 。

参数化构造函数

参数化构造函数接受一个或多个参数以及 self。当您想要创建一个具有自定义属性值的对象时,它非常有用。参数化构造函数允许我们在创建对象时指定对象属性的值。

示例

让我们看一个带有参数化构造函数的类的示例

class Family:
   members = 10
   def __init__(self, count):
      self.members = count
   
   def disply(self):
      print("Number of members is", self.members)  

joy_family = Family(25)
joy_family.disply()

输出

Number of members is 25

这里使用自定义值 25 创建对象 Joy 系列,而不是使用默认成员属性值 10。并且该值可以用于此实例,因为它被分配给 self.members 属性。

非参数化构造函数

非参数化构造函数不接受除 self 之外的任何参数。当您想要操作实例属性的值时,它非常有用。

示例

让我们看一个非参数化构造函数的示例。

class Player:
   def __init__(self):
      self.position = 0
   
   # Add a move() method with steps parameter     
   def move(self, steps):
      self.position = steps
      print(self.position)
   
   def result(self):
      print(self.position)

player1 = Player()
print('player1 results')
player1.move(2)
player1.result()

print('p2 results')
p2 = Player()
p2.result()

输出

player1 results
2
2
p2 results
0

player1 对象通过使用 move() 方法来操作“position”属性。并且 p2 对象访问“position”属性的默认值。

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

765

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

639

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

764

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

619

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1285

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

549

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

579

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

709

2023.08.11

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

52

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 6.3万人学习

Django 教程
Django 教程

共28课时 | 3.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号