Python下划线


菜鸟教程

单前导_var

变量或方法仅供内部使用,但仅作为一种提示,通常不由解释器强制执行

实例化类

仍可访问

class Test:
   def __init__(self):
       self.foo = 11
       self._bar = 23

t=Test()
print(t.foo)
print(t._bar)

输出结果:
11
23

模块导入

# 名为myModule的模块
def external_func():
   return 23

def _internal_func():
   return 42

通配符导入

不可访问,不会导入带有前导下划线的名称,除非模块定义了覆盖此行为的__all__列表

from myModule import *
print(external_func())
print(_internal_func())

在这里插入图片描述

常规导入

仍可访问

import myModule
print(myModule.external_func())
print(myModule._internal_func())

输出结果:
23
42

单末尾var_

避免与关键字命名冲突

def new(a,class):
    pass

def new(a,class_):
    pass

在这里插入图片描述

双前导__var

触发名称修饰,解释器强制执行

名称修饰

解释器会重写属性名称,以便类扩展时不容易产生冲突

双前导和双末尾__var__

dunder(double underscore)
不会应用名称修饰,命名时最好避免,python保留了双前导和双末尾的名称用于特殊用途,比如__init__对象构造函数,__call__调用对象

单下划线_

临时或无意义的变量名称,默认将表达式结果赋予_,但若定义了变量_,那就相当于定义了一个变量_
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值