Python中的下划线
目录
单个下划线(
_
)单下划线前缀的名称
双下划线前缀名称
前后都带双下划线名称
单个下划线
有3种情况
返回交互解释器中最后一次执行语句的结果
>>> _ Traceback (most recent call last):File "", line 1, in NameError: name '_' is not defined >>> 42 >>> _ 42 >>> 'alright!' if _ else ':(' 'alright!' >>> _ 'alright!'
作为名称使用
这个跟上面有点类似。_
用作被丢弃的名称。按照惯例,这样做可以让阅读你代码的人知道,这是个不会被使用的特定名称。举个例子,你可能无所谓一个循环计数的值:
n = 42
for _ in range(n):do_something()
- i18n
_
还可以被用作函数名。这种情况,单下划线经常被用作国际化和本地化字符串翻译查询的函数名。这种惯例好像起源于C语言。
from django.utils.translation import ugettext as _
from django.http import HttpResponsedef my_view(request):output = _("Welcome to my site.")return HttpResponse(output)
单个下划线前缀名称
以单下划线做前缀的名称指定了这个名称是“私有的”
比如在 import * 的情况下, 任何以单下划线开头的名称都不会被导入
双下划线前缀名称
以双下划线做前缀的名称(特别是方法名)并不是一种惯例;它对解释器有特定含义。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']
前后都带有双下划线名称
这些是Python的特殊方法名,这仅仅是一种惯例,一种确保Python系统中的名称不会跟用户自定义的名称发生冲突的方式。通常你可以覆写这些方法,在Python调用它们时,产生你想得到的行为。例如,当写一个类的时候经常会覆写__init__
方法。
>>> class C(object):
... def __mine__(self):
... pass
...
>>> dir(C)
... [..., '__mine__', ...]
Python中的下划线相关推荐
- Python中单个下划线“ _”变量的用途是什么?
这段代码中_ after for的含义是什么? if tbh.bag:n = 0for _ in tbh.bag.atom_set():n += 1 #1楼 下划线_在Python中被视为" ...
- python变量必须以字母和下划线_【转载】关于python中带下划线的变量和函数的意义...
Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...
- Python中单个下划线“_”变量的目的是什么?
在Python中,下划线_被视为" 我不关心 "或" 丢失 "变量 python解释器将最后一个表达式值存储到名为的特殊变量中_. >>> 1 ...
- python中不被定义_一日一技:在Python中双下划线私有方法不能被调用的原理
一日一技:在Python中双下划线私有方法不能被调用的原理 在使用Python编写面向对象的代码时,我们会常常使用"继承"这种开发方式.例如下面这一段代码: class Info: ...
- python怎么打下划线符号_详解 Python 中的下划线命名规则
在 python 中,下划线命名规则往往令初学者相当 疑惑:单下划线.双下划线.双下划线还分前后--那它们的作用与使用场景 到底有何区别呢?今天 就来聊聊这个话题. 1.单下划线(_) 通常情况下,单 ...
- python中的下划线_讲解
python中,下划线 "_""_"" \_" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的,下面简要的来总结一下. 1 ...
- Python中的下划线到底什么意思?
1. 概述 在Python经常能见到含下划线(underscore)修饰的的变量和方法(如__name__,_var等),这些下划线的作用称之为名字修饰(name decoration).在Pytho ...
- python中__init__下划线怎么打出来___init__()-------“_”下划线开头的函数
1.linux kernel中双下划线开头的函数 常常, 当你查看内核 API 时, 你会遇到以双下划线(__)开始的函数名. 这样标志的函数名通常是一个低层的接口组件, 应当小心使用. 本质上讲, ...
- python 中的下划线
Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from module import *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下 ...
- python中的下划线_Python中的下划线详解
这篇文章讨论Python中下划线_的使用.跟Python中很多用法类似,下划线_的不同用法绝大部分(不全是)都是一种惯例约定. 一. 单个下划线直接做变量名(_) 主要有三种情况: 1. 解释器中 _ ...
最新文章
- C++拾取——使用stl标准库生成等差、等比数列的方法
- 号称用GPT-3开发的游戏,却活生生玩出了人性黑暗面
- Gitorious安装与配置
- 台式计算机 启天 m4600,联想启天M4600-N000:高效的焕新之选——台式机
- 任务管理器在右下角的图标不显示
- java水果超市mysql_Java基础 | 项目实战之水果超市
- 力扣242.有效的字母异位词(JavaScript)
- python selenium 环境_配置Python Selenium环境
- Vim中的remap,noremap,nnoremap和vnoremap映射命令有什么区别?
- UVA12542 LA6149 Prime Substring【筛选法+贪心】
- 流媒体服务器搭建详解
- Java面试题之:分布式缓存
- 扒美女衣服——妄撮游戏实现原理
- javascript实现国密SM4
- django+layui表格数据管理
- Bootstrap中tooltip插件使用 | 爱骇客
- android启动接受不到boot_complete广播,android-BOOT_COMPLETED从未收到
- 【历史上的今天】2 月 28 日:阿帕网退役;Quintus 收购 Mustang;同步电流磁芯存储器获得专利
- 初识Grad-CAM
- 福昕阅读器无法添加书签