• python之类私有成员


    python类的成员前加双下划线"__", 则被看作"私有"成员. 实例不能简单地通过<instance>.<name>来访问. 但python的"私有"成员也不是不可访问的, 只是python玩了个"名称变化术":

    "尽管双下划线有些奇怪,但是看起来像是其他语言中的标准的私有方法. 真正发生的事情才是不标准的. 类的内部定义中, 所有以双下划线开始的名字都被"翻译"成前面加上单下划线和类名的形式.

    >>>Secrite._Secretive__inaccessible

    <unbound metho Secretive.__inaccessible>

    在了解了这些幕后的事情后, 实际上还是能在类外访问这些私有方法, 尽管不应该这么做:

    >>>s._Secritive__inaccessible()

    Bet you can't see me...

    简而言之, 确保其他人不会访问对象的方法和特性是不可能的, 但是这类"名称变化术"就是他们不应该访问这些函数或者特性的强有力信号.

    如果不需要使用这种方法但是又想被其他对象不要访问内部数据,那么可以使用单下划线. 这不过是个习惯, 但的确有实际效果. 例如, 前面有下划线的名字都不会被带星号的imports语句(from module import *)导入."

    题后话:

    以前老是听闻python是Java的下一个替代语言. 我不知道写这些资料的中国人是脑子进水, 还是彻底业外人士,说话如此不积阴德.

    学了几天python, 发觉Java的就是一种思想, 不是python可以简单地模仿的, 更别说代替了....

  • 相关阅读:
    003_&#x和ASCII的关系及URL中的中文转义
    001_机器学习的Hello world之MNIST手写数字识别模型
    Appnium安装-Mac平台
    Code Review 规范
    Spring AOP-xml配置
    JTLParser-linux上jmeter的jtl文件二次分析
    测试覆盖率Emma工具使用
    jmeter之java请求
    jmeter测试总结
    jstat监控gc情况
  • 原文地址:https://www.cnblogs.com/zolo/p/5849007.html
Copyright © 2020-2023  润新知