Python中 __init__的通俗解释是什么?

112 篇文章 0 订阅
106 篇文章 0 订阅

_init_根据其英文意思(initialize),用来初始化一个类(class)的新成员(instance),它是一个constructor.

当新成员被创建时,这个方程会自动被调用。

有个答主对init的功能,解释的很清楚,这里不再重复。单独谈谈Python编程与经典编程语言的一个差异。

本人新建一个程序员交流圈子,群主是10年老技术人员,某上市公司的技术负责人,群里面每天会给群友解答疑问,招聘内推,点击即可加入圈子 验证码:cs

变量"先定义再使用"VS"使用时定义"
经典语言如C/C++/Java等,变量(包括普通变量、类成员)都是要先定义,再使用。这么做的好处是程序很规范。易学智能记得读研期间有门课”形式化验证“,专门研究代码自动检查,其中有条就是”变量是否先定义再使用“。

但它的缺点也是明显的,不够灵活,用起来总感觉条条框框太多、不那么爽。

Python在灵活性上有了极大提升。它对变量(包括普通变量、类成员)支持”使用时定义“的模式。第一次使用时就默认定义。

这么一搞,大神们是玩的爽了。经常是一行Python代码,C语言要忙成狗写一大篇,才能完成相同功能。

但是,这种搞法的缺点也出来了。一段程序,到底有多少个变量,都不容易搞明白。对一个类,有多少成员变量,也不容易搞清楚。

  1. 类init方法的一点认识
    类的init方法,老阿姨觉得,应该是某种折中的解决方案。通过init,类有多少成员变量,一目了然。

但是,我们必须明白,Python的灵活性是骨子里的,即使用了init,你仍然可以在类的方法实现体中,通过类似于"self.xx=aa"的语句,引入新的成员变量xx。所以,除非类的作者严格遵从”所有成员变量均在init中定义“的规范,否则你仍然不能只看init就确定一个类的全部成员变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值