python标识符可以以下划线开头吗_Python中带下划线_的变量和函数命名的用法

Python遵循PEP 8编码规范,标识符可以包含字母、数字和下划线,但需以字母或下划线开头。本文讨论了双下划线`__`和单下划线`_`在命名中的特殊含义。双下划线前后的命名通常用于特殊方法和私有属性,而单下划线开头的命名虽然不是严格的私有,但暗示不应在外部直接访问。此外,单下划线还用于控制模块导入时的可见性。
摘要由CSDN通过智能技术生成

Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格。这样就易于阅读,易于在程序员之间交流。

python中的标识符可以包含数字、字母和_,但必须以字母或者_开头,其中以_开头的命名一般具有特殊的意义。

前后均带有双下划线__的命名

一般用于特殊方法的命名,用来实现对象的一些行为或者功能,比如__new__()方法用来创建实例,__init__()方法用来初始化对象,x + y操作被映射为方法x.__add__(y),序列或者字典的索引操作x[k]映射为x.__getitem__(k),__len__()、__str__()分别被内置函数len()、str()调用等等。

仅开头带双下划线__的命名

用于对象的数据封装,以此命名的属性或者方法为类的私有属性或者私有方法。class Foo(object):  def __init__(self):    self.__name = 'private name'   def getname(self):    return self.__name   def __spam(self):    print 'private method'   def bar(self):    self.__spam()

如果在外部直接访问私有属性或者方法:>>> f = Foo()>>> f.__name Traceback (most recent call last): File "", line 1, in   f.__nameAttributeError: 'Foo' object has no attribute '__name&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值