下划线方法意味着什么?

2023-12-26

我对 Python 语言比较陌生,在执行以下操作时遇到了这个问题:

help(list)

这是我遇到的情况:

__add__(...)
|      x.__add__(y) <==> x+y
|  
|  __contains__(...)
|      x.__contains__(y) <==> y in x
|  
|  __delitem__(...)
|      x.__delitem__(y) <==> del x[y]

关于这些,下划线是做什么用的?因为(据我所知)当您正常使用方法时不会使用它们,所以我很难理解为什么他们会花时间在文档中用下划线写出它们。


See Python 风格指南 http://www.python.org/dev/peps/pep-0008/以获得全面的解释。

在实践中:

the following special forms using leading or trailing
underscores are recognized (these can generally be combined with any case
convention):

- _single_leading_underscore: weak "internal use" indicator.  E.g. "from M
  import *" does not import objects whose name starts with an underscore.

- single_trailing_underscore_: used by convention to avoid conflicts with
  Python keyword, e.g.

  Tkinter.Toplevel(master, class_='ClassName')

- __double_leading_underscore: when naming a class attribute, invokes name
  mangling (inside class FooBar, __boo becomes _FooBar__boo; see below).

- __double_leading_and_trailing_underscore__: "magic" objects or
  attributes that live in user-controlled namespaces.  E.g. __init__,
  __import__ or __file__.  Never invent such names; only use them
  as documented.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

下划线方法意味着什么? 的相关文章

随机推荐

  • 立即获取整数中最左边活动位的索引[重复]

    这个问题在这里已经有答案了 如何从左到右而不是从右到左扫描整数 二进制 我知道我可以从左边开始尝试每一位 然后记录最左边的位 但是有没有更快的方法 是否有一个内置函数可以立即找到整数中最左边的有效位 即 1 我知道从右到左 我可以做类似的事
  • 如何在 ASP.NET Core 3.0 Preview 5 中将声明映射选项传递给 IdentityServerJwt?

    灵感来自关于自定义声明的文章 https korzh com blogs net tricks aspnet identity store user data in claims 我已将租户 ID 自定义声明添加到我的身份服务器登录过程中
  • 如何在Android Studio中调试?

    我怎么能够 设置断点 在断点处停止 发布 但保持调试模式 我所说的释放是指不要进入下一行 跳转到下一个断点 或者只是等到断点被击中 我没有时间也没有意愿深入研究 SDK 类 我只是想在完成几行之后就退出 到目前为止 我唯一能做的就是终止调试
  • 如何将 ALAsset 中的视频显示到 UICollectionview ios

    我尝试使用下面的代码从照片库中获取所有视频ALAsset 现在 我想将所有视频显示到UICollectionview但它似乎没有显示任何东西 请给我一些建议 提前致谢 ViewDidLoad 从照片库获取所有视频 allVideos NSM
  • 跨源资源共享(CORS)——我在这里遗漏了什么吗?

    我正在读关于CORS https developer mozilla org en HTTP access control我认为实施既简单又有效 然而 除非我遗漏了什么 否则我认为规范中遗漏了很大一部分 据我了解 外国站点根据请求的来源 以
  • 用于数据分析目的的特定 postgresql 服务器配置

    如果您使用 postgresql 数据库 是否有关于使用 postgresql conf 文件调整服务器性能的任何提示具体来说用于数据科学部门和数据分析目的 或者性能调整本身与目的无关 并且您将用它做什么没有真正的区别 因为 这都是关于提取
  • 制作因子变量的频率直方图

    我对 R 很陌生 所以我对这样一个基本问题表示歉意 我花了一个小时谷歌搜索这个问题 但找不到解决方案 假设我的数据集中有一些关于常见宠物类型的分类数据 我将其作为 R 中的字符向量输入 其中包含不同类型动物的名称 我是这样创建的 anima
  • 无法在 GitLab 上执行合并请求

    将 GitLab 从 6 2 更新到 7 1 后 我无法执行合并请求 它告诉我没有任何东西可以合并 但当然有 系统信息 System information System Current User git Using RVM no Ruby
  • 更改选项卡时添加动画

    你好 我有一个包含两个子活动的 TabHost 活动 为子活动添加 左 右 动画的最佳解决方案是什么 此致 Hi最好的解决方案是向布局添加动画假设你有两个选项卡 tabs TabHost this findViewById R id tab
  • 在 postgresql 表中存储带有特殊字符(例如引号或反斜杠)的字符串

    我有一个有价值的字符串 MAX DATE QUERY SELECT iso timestamp MAX time stamp AS MAXTIME FROM observation WHERE offering id HOBART 但是在插
  • UIWebView 上 mediaPlaybackAllowsAirPlay 属性的用途

    UIWebView类参考描述了mediaPlaybackAllowsAirPlay如下 一个布尔值 用于确定是否允许从此视图进行隔空播放 当 mediaPlaybackAllowsAirPlay 设置为 YES 时 如果在我的 iPad 上
  • 放置亚马逊横幅 |角V4

    我将亚马逊横幅放在 Angular Material 2 卡内 但问题是它没有渲染 它显示空 div 可能是什么原因 下面是显示我如何做到这一点的代码
  • 通过 Google Apps 脚本更改文档的权限

    我正在寻找示例脚本 该脚本根据传递给脚本的电子邮件地址和 DocumentID 重置外部电子表格的默认权限 我打算创建一个脚本 可以解析电子邮件中的信息以获取DocumentID和电子邮件 执行权限从默认更改为任何有链接的人 然后通过电子邮
  • 使用 Rx 消除按钮点击的抖动

    我正在尝试制作一个简单的 按钮去抖动器 它将计算过滤的点击次数并通过 TextView 显示它 我想过滤快速 垃圾点击 忽略时间间隔小于 300 毫秒的点击 我做了研究并偶然发现Rx太棒了debounce 理论上应该可以做我想要的事情 或者
  • 如何使用javascript将大图像转换为十六进制?

    如果我尝试将图像转换为十六进制 无论我使用哪个函数 我都会收到此错误消息 该图像的大小为 7 MB 19812 毫秒 清除 1401 2 1455 0 gt 1401 2 1455 0 MB 9 9 0 ms 自上次 GC 以来 8 3 m
  • 有没有办法在 Folium 中绘制许多标记?

    我正在尝试使用 Folium 从 pandas 数据框中读取地理信息 我的代码是这样的 import folium from folium import plugins import pandas as pd operations on d
  • 类型错误:MongoStore 不是构造函数

    我正在制作一个带有谷歌身份验证的网站 我尝试将会话存储在 mongodb 数据库中 但是当我将商店选项添加到我的快速会话中时 它不断给出以下错误 TypeError MongoStore is not a constructor at Ob
  • 无法使用 Cygwin 从 Java 运行 C 程序

    我正在尝试使用 JNI 编写我的第一个 Java C 程序 这是 我的 代码的样子 它是从this http stuf ro calling c code from java using jni网站 HelloWorld java publ
  • 无法在 Ubuntu 14.04 中使用 sh robomongo.sh 运行 robomongo.sh

    我刚刚下载了robomongo64 位用于ubuntu来自官方网站 然后我打开终端并浏览文件夹结构并执行命令bin folder sh robomongo sh 我收到这样的错误 robomongo sh 5 robomongo sh Ba
  • 下划线方法意味着什么?

    我对 Python 语言比较陌生 在执行以下操作时遇到了这个问题 help list 这是我遇到的情况 add x add y lt gt x y contains x contains y lt gt y in x delitem x d