-
python中的符号下划线_详解Python中下划线的使用方法
2020-12-30 06:23:17单个下划线(_)主要有三种情况:1. 解释器中_符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。2. 作为名称使用这个跟上面有点类似。_用作被丢弃内容...编程派微信号:codingpy
这篇文章讨论Python中下划线_的使用。跟Python中很多用法类似,下划线 _ 的不同用法绝大部分(不全是)都是一种惯例约定。
单个下划线(_)
主要有三种情况:
1. 解释器中
_符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。
2. 作为名称使用
这个跟上面有点类似。_用作被丢弃内容的名称。按照惯例,这样做可以让阅读你代码的人知道,这是个不会被使用的特定名称。举个例子,你可能无所谓一个循环计数的值:
3. i18n
_还可以被用作函数名。这种情况,单下划线经常被用作国际化和本地化字符串翻译查询的函数名。这种惯例好像起源于C语言。
举个例子,在 Django文档中有一个这样的用法:
第二种和第三种用法会引起冲突,所以在任意代码块中,如果使用了_作i18n翻译查询函数,就应该避免再用作被丢弃的变量名。
单下划线前缀的名称(如_shahriar)
以单下划线做前缀的名称指定了这个名称是“私有的”。在有些导入import * 的场景中,下一个使用你代码的人(或者你本人)会明白这个名称仅内部使用。
之所以说在在有些 import * 的场景,是因为导入时解释器确实对单下划线开头的名称做了处理。如果你这么写from import *,任何以单下划线开头的名称都不会被导入,除非模块/包的__all__列表明确包含了这些名称。
双下划线前缀的名称(如__shahriar)
以双下划线做前缀的名称(特别是方法名)并不是一种惯例;它对解释器有特定含义。Python会改写这些名称,以免与子类中定义的名称产生冲突。Python 官方文档中提到,任何__spam这种形式(至少以两个下划线做开头,绝大部分都还有一个下划线做结尾)的标识符,都会在文本上被替换为_classname__spam,其中classname是当前类名,并带上一个下划线做前缀。
看下面这个例子:
正如所料,_internal_use没有变化,但__method_name被改写成了_ClassName__method_name。
现在创建一个A的子类B(这可不是个好名字),就不会轻易的覆盖掉A中的__method_name了:
这种特定的行为差不多等价于Java中的final方法和C++中的正常方法(非虚方法)。
前后都带有双下划线的名称(如__init__)
这些是Python的特殊方法名,这仅仅是一种惯例,一种确保Python系统中的名称不会跟用户自定义的名称发生冲突的方式。通常你可以覆写这些方法,在Python调用它们时,产生你想得到的行为。例如,当写一个类的时候经常会覆写__init__方法。
你也可以写出自己的“特殊方法”名(但是别这么做):
还是不要这样写方法名,只让Python定义的特殊方法名使用这种惯例吧。翻译:chevalier
译文:https://segmentfault.com/a/1190000002611411
原文:http://shahriar.svbtle.com/underscores-in-python
-
怎么改光标样式_Word下划线怎么打?我最喜欢用第三种
2021-01-13 20:31:281、组合键shift+-Shift键+"_"符号键可以直接输入下划线,多次按shift键和_符号键,就可以输入长下划线,次数决定下划线的长度。2、下划线功能在开始-字体下有个下划线功能,如果是空白内容,可以长按空格键,选中...Word下划线怎么打?这是一个很简单的操作,但是很多伙伴还是会遇到困扰,会遇到下划线无法对齐的问题,以及效率比较低的问题,今天给大家分享几个常用的Word下划线打法。
1、组合键shift+-
Shift键+"_"符号键可以直接输入下划线,多次按shift键和_符号键,就可以输入长下划线,次数决定下划线的长度。
2、下划线功能
在开始-字体下有个下划线功能,如果是空白内容,可以长按空格键,选中空格键再按下划线即可添加,如果是文字直接选中文字就能添加下划线。
3、制表位添加下划线
选中文字,在标尺上要对齐的位置双击进入制表位设置,前导符选择第四种样式,接着,光标定位在文字后,按下Tab键即可。
4、表格下划线
如果想要在下划线上编辑文字,可以使用表格下划线,先插入一个表格,调整大小,居中对齐。
输入文字后,左侧文字向右对齐,并取消不需要的边框,保留下边框即可。
Word下划线的教程如上,根据需求选择合适的步骤操作即可。
-
python中长下划线_Python中的下划线详解
2021-01-14 03:56:12一、单个下划线直接做变量名(_)主要有三种情况:1. 解释器中_符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。复制代码代码如下:>>> _...这篇文章讨论Python中下划线_的使用。跟Python中很多用法类似,下划线_的不同用法绝大部分(不全是)都是一种惯例约定。
一、 单个下划线直接做变量名(_)
主要有三种情况:
1. 解释器中
_符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。
复制代码
代码如下:
>>> _
Traceback (most recent call last):
File "", line 1, in
NameError: name '_' is not defined
>>> 42
>>> _
>>> 'alright!' if _ else ':('
'alright!'
>>> _
'alright!'
2. 作为名称使用
这个跟上面有点类似。_用作被丢弃的名称。按照惯例,这样做可以让阅读你代码的人知道,这是个不会被使用的特定名称。举个例子,你可能无所谓一个循环计数的值:
复制代码
代码如下:
n = 42
for _ in range(n):
do_something()
3. i18n
_还可以被用作函数名。这种情况,单下划线经常被用作国际化和本地化字符串翻译查询的函数名。这种惯例好像起源于C语言。举个例子,在 Django documentation for translation 中你可能会看到:
复制代码
代码如下:
from django.utils.translation import ugettext as _
from django.http import HttpResponse
def my_view(request):
output = _("Welcome to my site.")
return HttpResponse(output)
第二种和第三种用法会引起冲突,所以在任意代码块中,如果使用了_作i18n翻译查询函数,就应该避免再用作被丢弃的变量名。
二、 单下划线前缀的名称(例如_shahriar)
以单下划线做前缀的名称指定了这个名称是“私有的”。在 有些 导入import * 的场景中,下一个使用你代码的人(或者你本人)会明白这个名称仅内部使用。Python documentation里面写道:
a name prefixed with an underscore (e.g. _spam) should be treated as a non-public part of the API (whether it is a function, a method or a data member). It should be considered an implementation detail and subject to change without notice.
之所以说在在 有些 import * 的场景,是因为导入时解释器确实对单下划线开头的名称做了处理。如果你这么写from
import *,任何以单下划线开头的名称都不会被导入,除非模块/包的__all__列表明确包含了这些名称。更多相关信息见““Importing * in Python”。
三、双下划线前缀的名称(例如__shahriar)
以双下划线做前缀的名称(特别是方法名)并不是一种惯例;它对解释器有特定含义。Python会改写这些名称,以免与子类中定义的名称产生冲突。Python documentation中提到,任何__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 C(object):
... def __mine__(self):
... pass
...
>>> dir(C)
... [..., '__mine__', ...]
还是不要这样写方法名,只让Python定义的特殊方法名使用这种惯例吧。
-
python中的下划线_Python中的下划线详解
2020-12-08 17:51:35一、单个下划线直接做变量名(_)主要有三种情况:1. 解释器中_符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。代码如下:>>> _Traceback ...这篇文章讨论Python中下划线_的使用。跟Python中很多用法类似,下划线_的不同用法绝大部分(不全是)都是一种惯例约定。
一、 单个下划线直接做变量名(_)
主要有三种情况:
1. 解释器中
_符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。
代码如下:
>>> _
Traceback (most recent call last):
File "", line 1, in
NameError: name '_' is not defined
>>> 42
>>> _
>>> 'alright!' if _ else ':('
'alright!'
>>> _
'alright!'
2. 作为名称使用
这个跟上面有点类似。_用作被丢弃的名称。按照惯例,这样做可以让阅读你代码的人知道,这是个不会被使用的特定名称。举个例子,你可能无所谓一个循环计数的值:
代码如下:
n = 42
for _ in range(n):
do_something()
3. i18n
_还可以被用作函数名。这种情况,单下划线经常被用作国际化和本地化字符串翻译查询的函数名。这种惯例好像起源于C语言。举个例子,在 Django documentation for translation中你可能会看到:
代码如下:
from django.utils.translation import ugettext as _
from django.http import HttpResponse
def my_view(request):
output = _("Welcome to my site.")
return HttpResponse(output)
第二种和第三种用法会引起冲突,所以在任意代码块中,如果使用了_作i18n翻译查询函数,就应该避免再用作被丢弃的变量名。
二、 单下划线前缀的名称(例如_shahriar)以单下划线做前缀的名称指定了这个名称是“私有的”。在 有些 导入import * 的场景中,下一个使用你代码的人(或者你本人)会明白这个名称仅内部使用。Python documentation里面写道:
a name prefixed with an underscore (e.g. _spam) should be treated as a non-public part of the API (whether it is a function, a method or a data member). It should be considered an implementation detail and subject to change without notice.
之所以说在在 有些 import * 的场景,是因为导入时解释器确实对单下划线开头的名称做了处理。如果你这么写from import *,任何以单下划线开头的名称都不会被导入,除非模块/包的__all__列表明确包含了这些名称。更多相关信息见““Importing * in Python”。
三、双下划线前缀的名称(例如__shahriar)
以双下划线做前缀的名称(特别是方法名)并不是一种惯例;它对解释器有特定含义。Python会改写这些名称,以免与子类中定义的名称产生冲突。Python documentation中提到,任何__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 C(object):
... def __mine__(self):
... pass
...
>>> dir(C)
... [..., '__mine__', ...]
还是不要这样写方法名,只让Python定义的特殊方法名使用这种惯例吧。
时间: 2015-06-23
-
Python中的下划线详解
2020-12-23 17:34:53主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。 复制代码 代码如下: >>> _ Traceback (most recent call last): ... -
python中的下划线
2018-05-03 17:00:06原文地址 这篇文章讨论Python中下划线_的使用。跟Python中很多用法类似,下划线_...主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他... -
Python中下划线_
2016-07-26 10:38:20原文地址 ...主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。 >>> _ Traceback (most recent ca -
python下划线之备忘录
2016-09-11 21:07:00Python 中的下划线 ...主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。 >>&... -
详解Python中的下划线
2018-01-23 13:50:09原文地址 ...主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。 >>> _ Traceback (most recent ca -
正则表达式校验密码问题(要求大小写字母数字特殊符号四选三)
2017-03-08 19:56:00要求: ...然后使用排除法,排除其中只选一种或只选两种的情况,剩下的就是选了三种的情况了。 有: 大写+小写,大写+数字,大写+特殊符号,小写+数字,小写+特殊符号,数字+特殊符号。共这6种组合。... -
Python中的下划线
2016-07-26 08:59:08主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。 >>> _ Traceback (most recent call last): File "", line 1, ... -
python下划线变量的含义
2016-02-29 16:33:00主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释器后来也都跟进了。 >>> _ Traceback (most re... -
杂乱知识
2020-05-17 19:45:02逗号表达式 例:(a+b,a,b) 假如a=1,b=2,则逗号表达式值为2。 逗号表达式的值为最后一个参数的值。...标识符只能由字母,数字和下划线三种符号组成,且第一个字符必须是字母和下划线。 持续更新 ... -
h5下划线怎么设置_怎么使用Word快速制作填空题下划线?只须一个快捷键,教师必备...
2020-12-27 00:35:09这里介绍三种方法,操作很简单,方法很实用。方法一:使用Unicode符号——低线“_”。首先将输入法切换为英文模式,然后同时按下键盘上的“Shift + _”键。这个类似减号的符号在Unicode叫做低线。这个符号位于键盘上... -
Python中的下划线(译文)
2016-01-07 10:56:09这篇文章讨论Python中下划线_的使用。跟Python中很多用法类似,下划线_的...主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中,其他解释 -
前端开发下划线怎么设置_怎么使用Word快速制作填空题下划线? 只须一个快捷键, 教师必备...
2021-01-13 20:30:47这里介绍三种方法,操作很简单,方法很实用。方法一:使用Unicode符号——低线“_”。首先将输入法切换为英文模式,然后同时按下键盘上的“Shift + _”键。这个类似减号的符号在Unicode叫做低线。这个符号位于键盘上... -
Python中的单/双下划线
2015-07-07 22:12:36这篇文章讨论Python中下划线_的使用。跟Python中很多用法类似,下划线_的不同用法绝大部分...主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython解释器中, -
python学习系列---Python中的下划线
2017-09-18 10:55:35这篇文章讨论Python中下划线的使用。跟Python中很多用法类似,下划线的不同用法大部分(不全是...主要有三种情况: 1. 解释器中 _符号是指交互解释器中最后一次执行语句的返回结果。这种用法最初出现在CPython -
JavaScript-函数的声明(定义)的三种方式、如何定义匿名函数及匿名函数的调用、函数参数的问题,全局变量...
2019-01-19 14:18:26JavaScript 有三种声明函数的方法。 (1)function 命令 function是一个关键字,和var、typeof一样,都是关键字,后面要加空格。 函数名字的命名规定,和变量的命名规定一样。只能是字母、数字、下划线、美元... -
ios 密码大小写数字 符号_java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合...
2020-12-20 13:54:25密码必须是包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合二、方案:利用正则表达式来校验三、思路:排除法1、排除大写字母、小写字母、数字、特殊符号中1种组合、2种... -
密码复杂度正则,至少包含大写字母,小写字母,数字,特殊符号
2019-05-27 15:17:15一、需求:密码必须是包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合 二、方案:利用正则表达式来校验 三、思路:排除法 1、排除大写字母、小写字母、数字、特殊... -
UML图 符号的含义
2011-03-11 10:45:00第三个是该类提供的方法。 属性和操作之前可附加一个可见性修饰符。加号(+)表示具有公共可见性。减号(-)表示私有可见性。#号表示受保护的可见性。省略这些修饰符表示具有package(包)级别的可见性。如果属性或... -
JAVA正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合
2019-04-01 16:22:51一、需求:密码必须是包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合 二、方案:利用正则表达式来校验 三、思路:排除法 1、排除大写字母、小写字母、数字、特殊... -
java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合
2019-03-01 13:56:20一、需求:密码必须是包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合 二、方案:利用正则表达式来校验 三、思路:排除法 1、排除大写字母、小写字母、数字、特殊... -
java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合...
2018-08-04 19:34:00一、需求:密码必须是包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合 二、方案:利用正则表达式来校验 三、思路:排除法 1、排除大写字母、小写字母、数字、特殊... -
java 密码是字母和数字的组合_java正则表达式校验密码必须是包含大小写字母、数字、特殊符号的8位以上组合....
2021-02-28 14:27:55密码必须是包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合二、方案:利用正则表达式来校验三、思路:排除法1、排除大写字母、小写字母、数字、特殊符号中1种组合、2种... -
JavaScript 入门教程三 语言基础【1】
2016-02-15 17:33:00一、基本介绍 ...它的命名规则是:首字符必须是英文字母、下划线或者 $ 符号。接下来的字符可以是英文字母、下划线或者 $ 符号或者数字(多了数字)。建议全部用英文定义,而且按照惯例使用驼峰大小写格式...