Python下划线用法

前置单下划线:

1.表示仅供内部使用,但实际上仍然可以被直接访问。

class Person:
    def __init__(self):
        self.func()
        self._age=18

    def func(self):
        print('Human')

class Man(Person):
    def func(self):
        print("Mike")

t=Man()
print(t._age)

输出:

Mike
18

2.如果用from moudle import *导入模块,会报错,需要使用__all__ = [“xxx”,“xxx”]来导入

demo1

def _name():
    print('Human')

demo2

from demo1 import *

_name()

输出:

NameError: name '_age' is not defined

后置单下划线:

普通的变量名,通常用来避免和Python的内置变量名产生冲突

前置双下划线:

1.不可被from moudle import *直接导入,同前置单下划线

2.表明是私有属性,只能在当前类中被调用,外部、子类都无法调用和继承

class Person:
    def __func(self):
        print('Human')

class Man(Person):
    def __init__(self):
        self.__func()

Man()

输出:

AttributeError: 'Man' object has no attribute '_Man__func'

前置后置双下划线:

表示python里特殊方法专用的标识,如__init__和__dict__
一般不建议这样命名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值