Python面向对象中:__init__() 构造方法
什么是构造方法
- 在创建类时, 可手动添加一个
__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__() 构造方法相关推荐
- Python面向对象中反射和双下的正确用法
一.反射 反射:程序可以访问,检测和修改它本身状态或行为的一种能力(自省) python面向对象中的反射:通过字符串的形式操作对象相关的属性 python中的一切事物都是对象(都可以使用反射) 四个可 ...
- Python面向对象中的“私有化”
Python面向对象中的"私有化" Python并不直接支持私有方式,而要靠程序员自己把握在外部进行特性修改的时机. 为了让方法或者特性变为私有(从外部无法访问),只要在它的名字前 ...
- python在实际中的作用_Python面向对象中__init__的实际作用是什么?
给个知乎的连接吧,知乎的例子说的应该是: 设计模式六大原则之一:迪米特法则,一个对象应该对其他对象保持最少的了解.如果类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大. ...
- Python面向对象中super用法与MRO机制
1. 引言 最近在研究django rest_framework的源码,老是遇到super,搞得一团蒙,多番查看各路大神博客,总算明白了一点,今天做一点总结. 2. 为什么要用super 1)让代码维 ...
- Python包中__init__.py文件的作用和用法
在Python工程中,我们经常可以看到带有"__init__.py"文件的目录,在PyCharm中,带有这个文件的目录被认为是Python的包目录,与目录的图标有不一样的显示.如下 ...
- python面向对象中方法重写class Person (object):#说明Person继承object类 def __init__(self,name,age): sel
(承接上次的知识学习) 首先给出方法重写的定义: 1.如果子类对继承自父类的某个属性或方法不满意,可以在子类中对其(方法体)进行重新编写: 2.子类重写后的方法可以通过super().xxx()调用父 ...
- Python 面向对象(中)
在python中面向对象的三大特征: 封装,继承,多态 1. 析构方法 程序结束后,之后调用析构方法,来释放空间 def __del__(self):print("析构方法") 2 ...
- Python面向对象中的self到底是什么?
初次接触类的概念,在学习的网页上,对self的解释是self是方法的一个参数,在方法调用的时候,这个参数是默认传参数的 我们看一个例子 很多人学习python,不知道从何学起. 很多人学习python ...
- Python面向对象编程 __init__方法
__init__方法 魔术方法 __init__初始化方法 code:_3magic_Intialization.py # ************************************** ...
最新文章
- 算法笔记-递归算法、递归排序、递归的时间复杂度、master公式(也叫主方法)
- 技术不是工程师能力的全部:闲看《因为所谓的代码性能不高而被离职的程序员》...
- 博客园使用highlight.js对代码进行高亮,并实现自定义关键词高亮
- 计算机考试报名无法弹出支付界面,教资报名支付页面不弹出怎么办 2021教师资格证报名入口网址...
- 我在安装TFS 2008的时候遇到的问题以及解决方法一账户问题
- JavaWeb:XML
- 在函数中如何获取 线程对象、线程唯一ID
- C++模板Trait
- linux 6.7 ifcfg eth0,centos 的ifcfg-eth0只有只读权限,怎么修改其内容呢?
- 真实评测酷睿 i5 12400f和i3 10100f选哪个
- 声明式事务、SpringMVC详解
- C实现 费氏查找算法
- Web前端工程师学习路径图,你掌握了多少?
- unity3d:百度语音在线语音转文字,文字转语音,跨平台
- MindManager Mac苹果版本教程激活码序列号秘钥下载详情
- DNS解析与域名服务安全防护策略
- 盘点:2012年微博引爆的十大热点(组图)
- ffmpeg安装遇错:nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.
- 史上最详细LRW数据集、LRW-1000数据集、LRS2数据集、LRS3-TED数据集、OuluVS2数据集介绍
- LiteOS学习---开发环境初识