精华内容
下载资源
问答
  • PYTHON 下划线作用

    2017-02-04 13:28:26
    Python下划线的用途单下划线前缀 from module import * 时不导入相关变量 双下划线前缀 私有变量,不能直接访问 只对类中字段有效,对模块下直接定义的变量作用同单下划线前缀 双下划线前后缀 解释器根据相关...

    Python 中下划线的用途


    单下划线前缀


    • from module import * 时不导入相关变量

    双下划线前缀


    • 私有变量,不能直接访问
      • 只对类中字段有效,对模块下直接定义的变量作用同单下划线前缀

    双下划线前后缀


    • 解释器根据相关语法糖自动调用,除非重写系统定义的一些方法,否则一般无需自定义这样的标志名

    解释器中作用


    • 保存解释器中最后一个表达式的结果
    展开全文
  • python下划线

    2017-08-28 19:28:44
    名称前的双下划线(如:__...Python文档指出,“__spam”这种形式(至少两个前导下划线,最多一个后续下划线)的任何标识符将会被“_classname__spam”这种形式原文取代,在这里“classname”是去掉前导下划线的当前

    名称前的双下划线(如:__shahriar)

    名称(具体为一个方法名)前双下划线(__)的用法并不是一种惯例,对解释器来说它有特定的意义。Python中的这种用法是为了避免与子类定义的名称冲突。Python文档指出,“__spam”这种形式(至少两个前导下划线,最多一个后续下划线)的任何标识符将会被“_classname__spam”这种形式原文取代,在这里“classname”是去掉前导下划线的当前类名。例如下面的例子:

    >>> class A(object): 
    ... def _internal_use(self): 
    ... pass 
    ... def __method_name(self): 
    ... pass 
    ... 
    >>> dir(A()) 
    ['_A__method_name', ..., '_internal_use']

    正如所预料的,“_internal_use”并未改变,而“__method_name”却被变成了“_ClassName__method_name”。此时,如果你创建A的一个子类B,那么你将不能轻易地覆写A中的方法“__method_name”

    >>> class B(A): 
    ... def __method_name(self): 
    ... pass 
    ... 
    >>> dir(B()) 
    ['_A__method_name', '_B__method_name', ..., '_internal_use']

    名称前后的双下划线(如:init

    这种用法表示Python中特殊的方法名。其实,这只是一种惯例,对Python系统来说,这将确保不会与用户自定义的名称冲突。通常,你将会覆写这些方法,并在里面实现你所需要的功能,以便Python调用它们。例如,当定义一个类时,你经常会覆写“init”方法。

    虽然你也可以编写自己的特殊方法名,但不要这样做。

    
    3
    4
    5
    6
    >>> class C(object): 
    ... def __mine__(self): 
    ... pass 
    ... 
    >>> dir(C) 
    ... [..., '__mine__', ...]

    其实,很容易摆脱这种类型的命名,而只让Python内部定义的特殊名称遵循这种约定

    展开全文
  • python 下划线

    万次阅读 2018-11-12 19:44:22
    以单下划线开头,表示这是一个保护成员,只有类对象和子类对象自己能访问到这些变量。以单下划线开头的变量和函数被默认当作是内部函数,使用from module improt *时不会被获取,但是使用import module可以获取 以单...
    • 以单下划线开头,表示这是一个保护成员,只有类对象和子类对象自己能访问到这些变量。以单下划线开头的变量和函数被默认当作是内部函数,使用from module improt *时不会被获取,但是使用import module可以获取
    • 以单下划线结尾仅仅是为了区别该名称与关键词
    • 双下划线开头,表示为私有成员,只允许类本身访问,子类也不行。在文本上被替换为_class__method
    • 双下划线开头,双下划线结尾。一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲突。是一些 Python 的“魔术”对象,表示这是一个特殊成员,例如:定义类的时候,若是添加__init__方法,那么在创建类的实例的时候,实例会自动调用这个方法,一般用来对实例的属性进行初使化,Python不建议将自己命名的方法写为这种形式。
    展开全文
  • Python下划线还具有 private 和 protected 类似的访问权限作用,下面我们具体分析。Python主要存在四种命名:(1)object #公用方法(2)__object__ #内建方法,用户不要这样定义(3)__object #全私有,全保护...

    5e3924201cde6385.jpg

    python中下划线使用键盘上的Shift+减号键即可打出,减号键位于0和加号键之间。

    在Python中下划线还具有 private 和 protected 类似的访问权限作用,下面我们具体分析。Python主要存在四种命名:

    (1)object #公用方法

    (2)__object__ #内建方法,用户不要这样定义

    (3)__object #全私有,全保护(private)

    (4)_object #半保护(protected)

    核心风格:避免用下划线作为变量名的开始。

    因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。

    一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用。

    当变量是私有的时候,用_xxx 来表示变量是很好的习惯。因为变量名__xxx__对Python来说有特殊含义,对于普通的变量应当避免这种命名风格。

    “单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;

    “双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。

    展开全文
  • python下划线 私有变量和公有变量 name mangling 技术
  • Python下划线和私有变量
  • Python下划线用法

    2016-09-05 18:47:32
    转载出处:Python下划线---完全解读 Python下划线作为变量前缀和后缀指定特殊变量 主要有三种用法:前单、前双、前双后双,具体解析如下: _xxx 不能用’from module import *’导入 __xxx__ 系统...
  • python下划线作用

    2019-05-04 23:22:35
    python下划线: 单前导下划线:_var 单末尾下划线:var_ 双前导下划线:__var 双前导和末尾下划线:_var_ 单下划线:_ 1、单前导下划线 _var 以单个下划线开头的变量或方法仅供内部使用。“单下划线” 开始的...
  • 通常不会由 python 解释器强制执行(通配符导入除外),只作为对程序员的提示 单末尾下划线 var_ 按约定使用以避免与 python 关键字的命名冲突。 双前导下划线 __var 当在类中上下文中使用时,触发名称修饰。由 ...
  • Python下划线与命名规范 http://www.cnblogs.com/yaksea/archive/2011/08/30/2159416.html 以下分四种情况说明下划线的作用,python对成员域没有严格控制,大部份只是作为命名规范存在,以下英文部份摘自python...
  • Python下划线的5种含义

    2020-04-22 08:47:55
    单前导下划线:_var 单末尾下划线:var_ 双前导下划线:__var 双前导和末尾下划线:var 单下划线:_ 单前导下划线 _var 下划线前缀的含义是告知其他程序员:以单个下划线开头...单个下划线是一个Python命名约定,...
  • Python中所有的类成员(包括数据成员)都是 公共的 ,所有的方法都是 有效的.可在其它类中使用. 若变量名称为双下划线前缀,则为私有变量.如 __private,可以只在类 或 函数中使用,有效. __init__在类中被用做构造...
  • python 下划线转驼峰

    千次阅读 2019-04-28 15:30:00
    # 下划线转驼峰 def str2Hump(text): arr = filter(None, text.lower().split('_')) res = '' j = 0 for i in arr: if j == 0: res = i else: res...
  • Python下划线作为变量前缀和后缀指定特殊变量。 _xxx 不能用'from module import *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划线作为变量名的开始。 因为Python下划线...
  • python 下划线 _ __ 开头的变量 详解

    千次阅读 2018-08-20 15:10:48
    python中,我们经常能看到很多变量名以_下划线开头,而且下划线的数量还不一样,那么这些变量的作用到底是什么? 变量名分类: # 以数字、字母开头: 正常的公有变量名 a = 1 def aa(): pass # 以单下划线开头...
  • 1.请简单说明Python中的下划线和双下划线作用 1)foo 2)_foo 3)__foo 解: 1、以双下划线开头和结尾的(foo)代表python里特殊方法专用的标识; 2、“单下划线”(_foo) 开始的成员变量叫做保护变量,意思是只有类...
  • 下划线、双下划线、头尾双下划线说明: __foo__: 定义的是特殊方法,一般是系统定义名字 ,类似__init__()之类的。 _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行...
  • python下划线开头的命名风格与含义

    千次阅读 2017-12-12 01:30:57
    pre最近在学习与使用python的时候经常发现类库中的一些变量或者函数会以下划线开头,我对这样命名的理由和作用很好奇,经过一番查阅资料,我简单了解了一下相关的问题,现在记录下来以备日后查阅。content 命名风格...
  • 转载Python中下划线的5种含义 Python下划线命名模式 - 小结 五种Python下划线模式速查表: 转载自 https://www.cnblogs.com/yunwangjun-python-520/p/10692851.html
  • 本文介绍了Python中单下划线和双下划线(“dunder”)的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类。 单下划线和双下划线Python变量和方法名称中都各有其含义。有...
  • 转自:http://blog.163.com/yang_jianli/blog/static/1619900062011627103516435/ _xxx 不能用'from module import *'导入  ...核心风格:避免用下划线作为变量名的开始。..."单下划线" 开始的成员变量叫
  • Python函数中下划线作用

    千次阅读 2019-05-23 15:03:51
    函数前单下划线 _XXX:此类函数只有类和子类能够访问调用,无法通过Import引入 函数前双下划线 __XXX:此类函数只有类对象本身能够访问 函数前后双下划线 此类函数为系统定义函数名,命名函数时尽量避免此类命名方式 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,129
精华内容 36,851
关键字:

python下划线的作用

python 订阅