Python 的设计哲学略有不同。它认为 “我们都是成年人”,这意味着你不应该对类的访问设计任意的限制。因此,没有任何方法强制方法或属性是严格私有的。
但是,还是有一些方法可以阻止人们访问类的内部私有成员。
弱私有方法和属性在开头只有一个下划线。
这表明它们是私有的,不应该被外部代码使用。但是,它们基本上只有一个约定,并不阻止外部代码访问它们。
它唯一的实际效果是,从模块导入from module_name import * 不会导入以单个下划线开头的变量。
运行结果:
上面的例子,属性 __Name 标记为私有,但是还是可以被外部代码访问。
弱私有方法和属性的名称开头有双下划线,这意味着它们不能从类之外被访问。
这样做的目的并不是确保它们是私有的,而是如果又具有相同名称的方法和属性的子类,则可以避免出现 bug。
使用这种方法直接访问是无法访问的,但可以通过不同的名称访问。Name 类的私有方法**__privatemethod** 可以通过**_Name__privatemethod** 方法进行外部访问。
运行结果:
基本上,Python 通过内部更改名称以包含类名来保护这些成员。
更多Python视频、源码、资料加群683380553免费获取
类方法
目前为止,我们所看到调用对象的方法都是有类的一个实例调用的,然后传递给方法的 self参数。
类方法是不同的 – 它们由一个类调用,该类被传递给方法的 cls 参数。
类方法的常见用途是工厂方法,它们使用与传递的类构造函数的参数不同的参数来实例化实例。
类方法被装饰符**@classmethod** 标记为类方法。
文末有福利领取哦~
👉一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉二、Python必备开发工具
👉三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉 四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
👉五、Python练习题
检查学习结果。
👉六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
/bbs.csdn.net/topics/618317507)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!