zoukankan      html  css  js  c++  java
  • python 类相关 下划线相关 __init__

    1、静态方法

    class C(object):
        @staticmethod
        def f():
            print('runoob');
     
    C.f();          # 静态方法无需实例化
    cobj = C()
    cobj.f()        # 也可以实例化后调用
    
    
    

    静态方法:无法访问类属性、实例属性,相当于一个相对独立的方法,跟类其实没什么关系,换个角度来讲,其实就是放在一个类的作用域里的函数而已。
    类成员方法:可以访问类属性,无法访问实例属性。

    下划线

    _ 单下划线:python中不存在真正的私有方法,可以在类的方法或属性前加一个 单下划线,意味着此方法或属性不应该去调用,它并不属于API,例:

    class BaseForm(StrAndUnicode):
        ...
     
        def _get_errors(self):
            "Returns an ErrorDict for the data provided for the form"
            if self._errors is None:
                self.full_clean()
            return self._errors
        
        errors = property(_get_errors)
    

    当想使用_get_errors()时,可以通过errors实现。

    __ 双下划线:避免子类重写此方法,只允许在该类的内部使用。

    前后双下划线

    1. __init__
      一个目录如果包含了 __init__,它就变成了一个包(package),它可以是空的,但必须存在,其他程序才可以从这个目录导入相应的模块或函数,这样的目录称为 namespace package。
      在python 3.3之后,__init__文件可以不需要。

    2. __name__
      标识模块名字的系统变量。
      1、如果模块是被导入的, __name__为模块的名字。
      2、如果模块是被直接运行的,__name____main__

  • 相关阅读:
    全表扫描
    服务器信息表
    事务的丢失更新
    oracle core 概述
    oracle命中率模型计算
    性能量化之cpu
    一个sql导致temp表空间爆掉
    oracle稳定执行计划1
    oracle热点表online rename
    oracle构建一致性读
  • 原文地址:https://www.cnblogs.com/qev211/p/15162697.html
Copyright © 2011-2022 走看看