Python下划线的使用 _ __ __obj__

Python 用下划线作为变量前缀和后缀指定特殊变量。

_xxx 不能用‘from moduleimport *‘导入

__xxx__ 系统定义名字

__xxx 类中的私有变量名

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

因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。

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

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

以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。

结论:

1、_xxx 不能用于’from module import *’ 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。 需要通过接口来访问。

2、__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也不可以。当然要方法还是可以得,使用_className__method()就可以了。

3、__xxx___ 定义的是特列方法。像__init__之类的。

"单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;"双下划线" 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。

dd

时间: 2024-12-06 05:47:42

Python下划线的使用 _ __ __obj__的相关文章

Python下划线的使用

References: [1]. http://python.jobbole.com/81129/ 本文将讨论Python中下划线(_)字符的使用方法.我们将会看到,正如Python中的很多事情,下划线的不同用法大多数(并非所有)只是常用惯例而已. 单下划线(_) 通常情况下,会在以下3种场景中使用: 1.在解释器中:在这种情况下,“_”代表交互式解释器会话中上一条执行的语句的结果.这种用法首先被标准CPython解释器采用,然后其他类型的解释器也先后采用. Python 1 2 3 4 5 6

python下划线变量的含义

_xxx      不能用'from module import *'导入 __xxx__ 系统定义名字 __xxx    类中的私有变量名 核心风格:避免用下划线作为变量名的开始. "单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量:如果修改,无需通知外部."双下划线" 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据. 以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访

Python下划线的作用

1. 单前导下划线 _var 是一个Python命名约定,表示这个名称是供内部使用的. 它通常不由Python解释器强制执行,仅仅作为一种对程序员的提示. 2. 单末尾下划线 var_ 单个末尾下划线(后缀)是一个约定,用来避免与Python关键字产生命名冲突:像class或def这样的名称已经被一个关键字所占用,附加一个下划线来解决命名冲突 3. 双前导下划线 __var Python解释器自动在这种双下划线的私有方法或者私有属性的前面加上了 _类名 ,所以使用原定义的变量名和方法名访问不了变

python下划线,私有变量

转自:http://blog.sina.com.cn/s/blog_58649eb30100g4zo.html Python用下划线作为变量前缀和后缀指定特殊变量. "单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量:不能用“from xxx import *”而导入: "双下划线" 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据. 以双下划线开头和结尾的代表python里特殊方法专用的标识,如 _

Python 下划线

单下划线 "单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和自类对象自己能访问到这些变量. 例子:以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入. 双下划线 "双下划线" 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据. 例子:以双下划线开头的(__foo)代表类的私有成员:以双下划线开头和结尾的(foo)代表python

sql 模糊查询带下划线的字段 _

1.SELECT * FROM dbo.tb_Test 2.SELECT * FROM dbo.tb_Test WHERE name LIKE '%c_%' 3.SELECT * FROM dbo.tb_Test WHERE name LIKE '%c_%' escape '\' 4.SELECT * FROM dbo.tb_Test WHERE name LIKE '%c\_wd' escape '\' 以上是我的测试数据,只有第四个符合要求(escape '\')

00.Python中下划线的5种含义

转自这里 先放上 简短的"速查表",罗列了五种Python下划线模式的含义: 模式 举例 含义 单前导下划线 _var 命名约定,仅供内部使用.通常不会由Python解释器强行执行(通配符导入除外),只作为对程序员的提示. 单末尾下划线 var_ 按约定使用以避免与Python关键字的命名冲突 双前导下划线 __var 当在类上下文中使用时,触发"名称修饰".由Python解释器强行执行. 双前导和末尾下划线 __var__ 表示Python语言定义的特殊方法.避免

python实现将字符串中以大写字母开头的单词前面添加“_”下划线

在工作中写测试用例代码生成的时候,函数命令考虑采用参数文件的名称来命名,但是发现文件命名是驼峰的写写法,所以想按照字符串中的大写字母做分割,每个单词前面添加下划线,主要考虑采用正则的模式来匹配,替换然后咋对字符串拼接下. case_name = "testAdvanceRepayRequest" re.sub("[A-Z]", lambda x: "_" + x.group(0).lower(), case_name) 原文地址:https://

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