首页 >

Python作为高度封装的语言,为什么在定义类方法时,形参栏还要主动写出self这一参数? |python 取机器 码

量化分析师python日记,python threading退出,python里pusm,python集合补集运算,python asserts,skynet python,python 培训心得,python生成烟花,辅助python学习,python hotmail邮箱,python 取机器 码Python作为高度封装的语言,为什么在定义类方法时,形参栏还要主动写出self这一参数? |python 取机器 码

所谓封装就是“内部实现”与“外部使用”的脱离,脱离得越好,封装得就越好。比如电话拨号,不论用智能机、传统手机或者座机打电话,拨号都是通过按几个数字来完成的,这叫做“外部使用”完全一致。但其实不同机器实现打电话的原理越是完全不同,这叫做“内部实现”的不同。

所以封装得好不好一般不用来形容语言,而是用来形容那些会被反复使用的函数、类或者某一套接口。

至于python中,类的方法需要显示地写第一个参数(比如self),按照上述封装的概念可知,self其实与封装无关。因为self只在“内部实现”的时候出现,“外部使用”的时候根本不出现。所以self并不会影响“外部使用”,或者说并不影响封装程度。

而显示写self也有好处。比如,如果类的定义有嵌套(即在类的方法中再定义一个类及其方法),那么完全可以将self改成别的变量名字,以使得内部的方法可以使用外部的类的实例,例如:


Python作为高度封装的语言,为什么在定义类方法时,形参栏还要主动写出self这一参数? |python 取机器 码
  • vb和c和python(三种编程语言的比较和选择) |python 上下键乱码
  • vb和c和python(三种编程语言的比较和选择) |python 上下键乱码 | vb和c和python(三种编程语言的比较和选择) |python 上下键乱码 ...

    Python作为高度封装的语言,为什么在定义类方法时,形参栏还要主动写出self这一参数? |python 取机器 码
  • python实现聚谱算法(机器学习中的聚类算法) |python取最小
  • python实现聚谱算法(机器学习中的聚类算法) |python取最小 | python实现聚谱算法(机器学习中的聚类算法) |python取最小 ...

    Python作为高度封装的语言,为什么在定义类方法时,形参栏还要主动写出self这一参数? |python 取机器 码
  • EXCEL真的比不上Python吗? |python在线阅览office
  • EXCEL真的比不上Python吗? |python在线阅览office | EXCEL真的比不上Python吗? |python在线阅览office ...