python 中 __init__的意义以及作用

 更新时间:2023年02月27日 10:09:33   作者:在下刘彦直  
python中的__init__是一个私有函数(方法),访问私有函数中的变量在python中用self,在PHP中用$this,这篇文章主要介绍了python 中 __init__的意义以及作用,需要的朋友可以参考下

python 中 __init__的用法和含义

python 中 __init__  与PHP中的构造函数相似__construct() 

都具有初始化的作用。

1.python中的__init__是一个私有函数(方法),访问私有函数中的变量在python中用self,在PHP中用$this

2.在python类的定义中,一个函数(php叫方法)的参数中必须带有self参数,且self放在第一位

如下例子

class person():

def __init__(self,name,gender,birth,**kw)://可使用 **kw定义关键参数,代表任意参数 ,python中函数的代码块用:php用;

  self.name=name  

  self.gender=gender

  self.birth=birth

  for k,w in kw.iteritems():

    setattr(self,k,w)    //python中是按照缩进来判断代码块的从属

def sayhi(self):

   print 'my name is',self.name

xiaoming = person('Xiao Ming', 'Male', '1991-1-1',job='student',tel='18089355',stdid='15010')  //php中实例类用new,

xiaohong = person('Xiao Hong', 'Female', '1992-2-2') 

print xiaoming.name

print xiaohong.birth

print xiaoming.job

print xiaoming.tel

print xiaoming.stdid

print xiaoming.sayhi()

运行结果如下

Xiao Ming

1992-2-2

student

18089355

15010

my name is Xiao Ming

补充:Python类中__init__()的作用

最开始学习python,认为定义类时__init__方法的作用等同于C中的构造函数,但是使用之后发现也有区别。

# coding:utf-8
class a():
     def __init__(self,name):
         self.name = name
     def get_name(self):
         return self.name
b = a("wang")
print(b.get_name())
 
 
Output:
-----
wang
-----

例如:

执行时的步骤可以理解为;

b = object.__new__(a)
a.__init__(a,"wang")

即__init__的作用是初始化实例后的对象b

在子类不重写__init__方法时,子类会默认调用父类中的__init__方法

子类也可以重写__init__方法,来给子类定义专属属性

当然,上面写的是比较官方的解释

用简单的话来讲,可以理解为,类的属性如果直接写在类里面一般是要有值的。

例如:

class fun()
   a = 3

这样的情况下,类中的属性无法变成变量,当将类的属性以self.a的方式定义到初始化方法中,那属性也可以当成变量

例如:

class fun():
    def __init__(self, a):
 
        self.a = a
f = fun(3)
 
print(f.a)
 
Output:
--
3
--

到此这篇关于python 中 __init__的意义以及作用的文章就介绍到这了,更多相关python 中 __init__用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用pandas导入xlsx格式的excel文件内容操作代码

    Python使用pandas导入xlsx格式的excel文件内容操作代码

    这篇文章主要介绍了Python使用pandas导入xlsx格式的excel文件内容,基本导入是在Python中使用pandas导入.xlsx文件的方法是read_excel(),本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • python3爬取torrent种子链接实例

    python3爬取torrent种子链接实例

    今天小编就为大家分享一篇python3爬取torrent种子链接实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python画图小案例之多啦A梦叮当猫超详细注释

    Python画图小案例之多啦A梦叮当猫超详细注释

    在看了很多Python教程之后,觉得是时候做点什么小项目来练练手了,于是想来想去,用python写了一个童年记忆的卡通人物哆啦A梦,代码注释无比详细清楚,快来看看吧
    2021-09-09
  • Python基于Streamlit实现音频处理示例详解

    Python基于Streamlit实现音频处理示例详解

    这篇文章主要为大家详细介绍了如何基于Streamlit实现的音频处理,包含录音,语音转文本,文件下载和进度显示功能,有需要的小伙伴可以参考一下
    2025-03-03
  • 关于如何把Python对象存储为文件的方法详解

    关于如何把Python对象存储为文件的方法详解

    本文将给大家介绍如何把Python对象存储为文件的方法,pickle可以用二进制表示并读写python数据,这个功能并不安全,如果把一个pickle暴露给别人,有被植入恶意程序的风险,文中通过代码给大家讲解的非常详细,需要的朋友可以参考下
    2024-01-01
  • 详解Pytorch+PyG实现GCN过程示例

    详解Pytorch+PyG实现GCN过程示例

    这篇文章主要为大家介绍了Pytorch+PyG实现GCN过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 使用python处理一万份word表格简历操作

    使用python处理一万份word表格简历操作

    这篇文章主要介绍了使用python处理一万份word表格简历操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python+Matplotlib+LaTeX玩转数学公式

    Python+Matplotlib+LaTeX玩转数学公式

    这篇文章主要为大家介绍了如何在Matplotlib中使用LaTeX 公式和符号以及Python如何生成LaTeX数学公式。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-02-02
  • 利用Python抓取阿里云盘资源

    利用Python抓取阿里云盘资源

    相对于百度云盘,阿里云盘的下载不限速,以及大容量空间深受大家的喜爱。本文将通过Python实现抓取阿里云盘的资源,感兴趣的可以学习一下
    2022-02-02
  • python实现计算器功能

    python实现计算器功能

    这篇文章主要为大家详细介绍了python实现计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10

最新评论