什么是构造方法

  • 在创建类时, 可手动添加一个 __init__()方法,称为构造方法,这是一个实例方法
  • 构造方法用于创建实例对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调用它
  • 一般用来初始化对象的某些属性

构造方法语法格式

class 类:def __init__(self, 参数):self.属性 = 参数     ...对象 = 类(参数)
  • init 的前缀和后缀是两个下划线 _
  • 方法可以包含多个参数,但必须要包含一个 self 参数,且必须为第一个参数,所以至少要包含一个 self 参数
  • 第一个参数 self 指向新创建的对象

类的默认构造方法

  • __init__()构造方法并不是必写
  • 假设不写,Python 也会自动添加一个仅包含 self 参数的__init__()构造方法,这又称为类的默认构造方法

不带参数的构造方法栗子

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 不带参数
class PoloBlog:def __init__(self):print("自动调用构造方法")# 定义了一个实例属性self.name = "小明"blog = PoloBlog()
print(blog.name)# 输出结果
自动调用构造方法
小明

显然,在创建 blog 这个对象时,隐式调用了手动创建的__init__()构造方法

带参数的构造方法栗子

# 带参数
class PoloBlog:def __init__(self, name, age):print("自动调用构造方法")# 初始化实例属性self.name = nameself.age = age# 下面定义了一个 say 实例方法def say(self):print(self.name, self.age)blog = PoloBlog("姓名", "年龄")
blog.say()

结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

Python基础入门教程推荐

Python爬虫案例教程推荐

Python面向对象中:__init__() 构造方法相关推荐

  1. Python面向对象中反射和双下的正确用法

    一.反射 反射:程序可以访问,检测和修改它本身状态或行为的一种能力(自省) python面向对象中的反射:通过字符串的形式操作对象相关的属性 python中的一切事物都是对象(都可以使用反射) 四个可 ...

  2. Python面向对象中的“私有化”

    Python面向对象中的"私有化" Python并不直接支持私有方式,而要靠程序员自己把握在外部进行特性修改的时机. 为了让方法或者特性变为私有(从外部无法访问),只要在它的名字前 ...

  3. python在实际中的作用_Python面向对象中__init__的实际作用是什么?

    给个知乎的连接吧,知乎的例子说的应该是: 设计模式六大原则之一:迪米特法则,一个对象应该对其他对象保持最少的了解.如果类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大. ...

  4. Python面向对象中super用法与MRO机制

    1. 引言 最近在研究django rest_framework的源码,老是遇到super,搞得一团蒙,多番查看各路大神博客,总算明白了一点,今天做一点总结. 2. 为什么要用super 1)让代码维 ...

  5. Python包中__init__.py文件的作用和用法

    在Python工程中,我们经常可以看到带有"__init__.py"文件的目录,在PyCharm中,带有这个文件的目录被认为是Python的包目录,与目录的图标有不一样的显示.如下 ...

  6. python面向对象中方法重写class Person (object):#说明Person继承object类 def __init__(self,name,age): sel

    (承接上次的知识学习) 首先给出方法重写的定义: 1.如果子类对继承自父类的某个属性或方法不满意,可以在子类中对其(方法体)进行重新编写: 2.子类重写后的方法可以通过super().xxx()调用父 ...

  7. Python 面向对象(中)

    在python中面向对象的三大特征: 封装,继承,多态 1. 析构方法 程序结束后,之后调用析构方法,来释放空间 def __del__(self):print("析构方法") 2 ...

  8. Python面向对象中的self到底是什么?

    初次接触类的概念,在学习的网页上,对self的解释是self是方法的一个参数,在方法调用的时候,这个参数是默认传参数的 我们看一个例子 很多人学习python,不知道从何学起. 很多人学习python ...

  9. Python面向对象编程 __init__方法

    __init__方法 魔术方法 __init__初始化方法 code:_3magic_Intialization.py # ************************************** ...

最新文章

  1. 算法笔记-递归算法、递归排序、递归的时间复杂度、master公式(也叫主方法)
  2. 技术不是工程师能力的全部:闲看《因为所谓的代码性能不高而被离职的程序员》...
  3. 博客园使用highlight.js对代码进行高亮,并实现自定义关键词高亮
  4. 计算机考试报名无法弹出支付界面,教资报名支付页面不弹出怎么办 2021教师资格证报名入口网址...
  5. 我在安装TFS 2008的时候遇到的问题以及解决方法一账户问题
  6. JavaWeb:XML
  7. 在函数中如何获取 线程对象、线程唯一ID
  8. C++模板Trait
  9. linux 6.7 ifcfg eth0,centos 的ifcfg-eth0只有只读权限,怎么修改其内容呢?
  10. 真实评测酷睿 i5 12400f和i3 10100f选哪个
  11. 声明式事务、SpringMVC详解
  12. C实现 费氏查找算法
  13. Web前端工程师学习路径图,你掌握了多少?
  14. unity3d:百度语音在线语音转文字,文字转语音,跨平台
  15. MindManager Mac苹果版本教程激活码序列号秘钥下载详情
  16. DNS解析与域名服务安全防护策略
  17. 盘点:2012年微博引爆的十大热点(组图)
  18. ffmpeg安装遇错:nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
  19. 史上最详细LRW数据集、LRW-1000数据集、LRS2数据集、LRS3-TED数据集、OuluVS2数据集介绍
  20. LiteOS学习---开发环境初识

热门文章

  1. java-第九章-循环结构进阶-三个班级每班4位同学成绩大于85的算平均分.
  2. 终端通过两台路由器相互通信(静态路由设置)
  3. 《利用python进行数据分析》读书笔记--第十章 时间序列(二)
  4. PLSQL developer 连接不上64位Oracle 的解决方法
  5. sqlserver大数据归档
  6. 终于要考网络架构师了
  7. h5调用摄像头拍照可以自定义拍照页面吗_回归单摄时代?小米伸缩式摄像头技术曝光,网友:好家伙...
  8. SAP 与 JSON 接口实施案例一
  9. 项目管理的十大谈判必杀技
  10. SAP产品概念及版本简介