关于__init__()函数,其本身是python的构造方法。这个函数类似init()初始化方法,来初始化新创建对象的状态,在一个对象被创建以后会立即调用。

1、首先说一下,带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。

2、init函数(方法)支持带参数的类的初始化 ,也可为声明该类的属性。

3、init函数(方法)的第一个参数必须是self(self为习惯用法,也可以用别的名字),后续参数则可以自由指定,和定义函数没有任何区别。

self参数含义

在类的代码(函数)中,需要访问当前的实例中的变量和函数的,即,访问Instance中的:

对应的变量(property):Instance.ProperyNam,去读取之前的值和写入新的值

调用对应函数(function):Instance.function(),即执行对应的动作

此处的Instance本身就是self。

Python中的self等价于C++中的self指针和Java、C#中的this参数。

实例

比如像实例化一个类:class Cats:

def __init__(self):

self.age = 2

>>>mimi = Cats()

>>>mimi.age

>>>2

我们会发现在初始化Cats中的age的值为2之后,实例化直接就能够调用age的值。

在明白了构造方法之后,我们谈一谈构造方法中的初始值无法继承的问题。class Dog:

def __init__(self):

self.hungry = True

def eat(self):

if self.hungry:

print 'wang'

else:

print 'no'

class hsq(Bird):

def __init__(self):

self.fur = 'white'

def play(self):

print ("chaijia")

hh = haq()

hh.play()   #能正常输出

hh.eat()    #报错,因为hsq中没有hungry特性

原理:在调用了一个实例的方法时,该方法的self参数会自动绑定到实例上(称为绑定方法);

解决:使用super函数(只在新式类中有用)class hsq(Dog):

def __init__(self):

super(Dog,self).__init__()

self.sound = 'Squawk'

def sing(self):

print self.song()

python中的init_python中init什么意思相关推荐

  1. __init__在python中的用法知乎_python中对_init_的理解及实例解析 python为什么要有一个init函数 知乎...

    Python中"__init__"的意义是什么? Python中__init__的意义依偎着你心跳声如此频繁,就算世界末日小编也会嚣张的笑. 测试人员学python时,应该如何理解 ...

  2. python导入py文件-Python导入其他文件中的.py文件 即模块

    python中__init__.py文件的作用 问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就 ...

  3. python中自定义类中的self_Python类和构造方法

    1.面向对象介绍 描述:是函数的一个变种,在Python中,有函数式编程和面向对象编程,java和C#之类只能把函数写到类里,没有函数式编程,所以只有面向对象,所以在Python中有了选择,可能就变得 ...

  4. python configure函数 循环_使用python统计git仓库中频繁修改的热点函数

    本篇博客以开源代码RT-Thread为例,描述了如何使用python扫描统计代码中频繁修改的函数,帮助我们发现系统中需求变化和BUG制造的重灾区. 需求背景 最近在学习设计模式时,印象深刻的一句话就是 ...

  5. python中的main函数可以被其他文件调用么_Python中在脚本中引用其他文件函数的实现方法...

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和 ...

  6. python snmp 自动化2-在python中使用snmp

    python snmp 自动化2-在python中使用snmp #2012-02-23 磁针石 #承接软件自动化实施与培训 验证码破解 软件破解 脚本开发 测试和python培训等 #gtalk: o ...

  7. 【python】把Excel中的数据在页面中可视化

    一. 需求      最近我们数据可视化的老师让我们把广州历史房价中的房价数据可视化,然后给我们发了广州历史房价.xls,然后看了一下数据确实有点小多,反正复制粘贴是有点费劲的,所以就想借用pytho ...

  8. python怎么画人像_教你如何用Python画出心目中的自己

    原标题:教你如何用Python画出心目中的自己 引言:人脸图像的生成在各个行业有着重要应用,例如刑事调查.人物设计.教育培训等.然而一幅逼真的人脸肖像,对于职业画家也要至少数小时才能绘制出来:对于从未 ...

  9. 关于在python的tkinter界面中镶嵌mayplotlib动态图

    关于在python的tkinter界面中镶嵌mayplotlib动态图 很多的时候,我们需要给客户展示一些比较美观的界面,中间就必然需要一些精美的图表,让客户看起来更加的专业,因此,我们就需要tkin ...

最新文章

  1. flask 学习实战项目实例
  2. mysql join union_MySQL中union和join语句使用区别的辨析教程
  3. 堵住大数据“窃密通道”刻不容缓
  4. C# 语句中的各种单例模式代码
  5. modbus与硬件对接Java_java中modbus协议连接
  6. Hibernate 更新部分更改的字段 hibernate update
  7. leetcode 1189 python
  8. 计算机考研复试面试常问问题 数据结构篇(下)
  9. 【前端学习】ES6语法 函数写法优化
  10. 用MicroPython开发ESP32-文件传输工具-ampy
  11. 机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes)...
  12. 相册服务器维护,相册云服务器
  13. 为OpenStack量身打造 OVS推出全新OVN项目
  14. ubuntu16.04无法联网
  15. 2021年辽宁省大学生数学建模
  16. 斐波那契堆(Fibonacci heaps)
  17. 定量/高光谱遥感之——混合像元分解
  18. 2019中兴捧月算法大赛历程
  19. x509数字证书介绍
  20. 2019年1+X 证书 Web 前端开发中级理论考试——易错题、陌生但又会考到的题目原题+答案(文章含五套题的内容)

热门文章

  1. Qt模仿QQ聊天窗口合并功能
  2. gts250 linux驱动下载,下载:NVIDIA显卡Linux驱动190.32测试版
  3. 那些工作中一不留神埋的雷
  4. 余世维成功经理人讲座
  5. 快速傅立叶变换的C语言实现方法
  6. 一加7t人脸识别_一加7Pro和一加7TPro你发现什么异常?详细对比才发现这个问题!...
  7. 计算机视觉技术英语论文,计算机视觉技术论文(2)
  8. UCOSIII操作系统学习笔记——任务
  9. 均值不等式的常见使用技巧【初级、中级和高阶辅导】
  10. CDH6.3.1安装指南