Python双下划线方法解释

__init__

类实例创建之后调用, 对当前对象的实例的一些初始化, 没有返回值

__name__

标识模块的名字的一个系统变量

__call__

是否可被调用

__main__

主模块模块名(是否当前模块或导入模块)

__new__

创建类实例的方法, 创建对象时调用, 返回当前对象的一个实例

__init__.py

主要控制包的导入行为

__file__ 表示文件本身,输出的是一个绝对路径

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

__dict__

Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。

__dict__与dir()的区别:

dir()是一个函数,返回的是list;

__dict__是一个字典,键为属性名,值为属性值;

dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;

? 并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来列出对象的所有属性。

__all__

在模块的一开始定义 __all__ 变量,import该模块后,只能找到 __all__中存在的变量或者函数,其他的不能调用

原文地址:https://www.cnblogs.com/mariahcat/p/9589148.html

时间: 2024-07-30 01:25:22

Python双下划线方法解释的相关文章

Python(88)_双下划线方法

1.双下划线方法 #-*-coding:utf-8-*- import os import time ''' 迭代器 ''' print(dir([])) # 告诉我列表拥有的所有方法 print(dir({})) print(dir('')) ''' 求共有方法,集合求交集 ''' ret = set(dir([]))&set(dir({}))&set(dir(''))&set(dir(range(10))) print(ret) # __iter__ print([1].__a

Python 中的特殊双下划线方法

python类内部部分双下划线特殊方法 __setattr__, __getattr__, __delattr__, hasattr __getattribute__ __getitem__(),__setitem__(), __delitem__() 主程序如下: class Foo: def _inif(self,pname): self.pname = pname def func(): print('i'm func') def __getattr__(self, item): prin

python基本知识(八):定制类,双下划线方法

'''定制类: 1. 双下划线属性__attr__ 2. 元类metaclass''' # 综述 '''iterable/iterator:1. __iter__(): return iterable_obj 1) 实现了该方法的对象叫iterable 2) iter(obj)会调用该方法, 生成一个迭代器iterator 2. __next__(): 指明迭代器怎么返回值 1) next(iterator)会返回一个值, 直到所有的值都返回了报错StopIteration 2) for.. i

python——双下划线与python命名机制

python中双下划线的作用(1)所有以双下划线开头的成员是私有的(2)python对于私有变量是会进行扎压(mangling)的,扎压规则是原始定义:class A():    __function():          print '__function is private! '扎压之后:class A():    _A__function():          print '__function is private!' 同时,在class A中对于以前__function()的调用

面向对象双下划线方法

1|0阅读目录 isinstance和issubclass 反射 setattr delattr getattr hasattr __str__和__repr__ item系列 __getitem__ __setitem__ __delitem__ __del__ __new__ __call__ with和__enter__,__exit__ __len__ __hash__ __eq__ 回到顶部 2|0isinstance和issubclass isinstance(obj,cls)检查是

67 orm13查询语句,外键查询,多对多查询 单表查询双下划线方法

主要内容:https://www.cnblogs.com/maple-shaw/articles/9403501.html 注意:  如果想要文件中运行整个django项目: 需要在文件中写入: import os if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "orm_operate.settings") import django djan

python 单下划线/双下划线使用总结(转载)

python 单下划线/双下划线使用总结 时间:2013-10-08 10:56来源:www.chengxuyuans.com Python 用下划线作为变量前缀和后缀指定特殊变量/方法. 主要存在四种情形1.    1. object # public    2. __object__ # special, python system use, user should not define like it    3. __object # private (name mangling duri

python 里面的单下划线与双下划线的区别(私有和保护)

Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from module import *'导入 ——变量名_xxx被看作是“私有 的”,在模块或类外不可以使用.__xxx__ 系统定义名字 ——__xxx 类中的私有变量名 ——只有类对象自己能访问,连子类对象也不能访问到这个数据. 核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始.一般来讲,变量名_xxx被看作是“私有 的

python 里面的单下划线与双下划线的区别

python 里面的单下划线与双下划线的区别 Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from moduleimport *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下 划线作为变量名的开始.一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用. 当变量是私有的时候,用_xxx 来表示变量是很好的习