Python中下划线的5种含义

Posted by Mr.Be1ieVe on Monday, January 13, 2020

在用python重写算法,学习学习算法时,一时好奇(打基础)来学习了python的下划线

  • 单前导下划线:_var 小小警示,提示只在内部使用,非public和private那种

  • 单末尾下划线:var_ 解决命名冲突的问题

  • 双前导下划线:__var 防止变量在子类中被重写,只能在类内访问

  • 单下划线:_ 使用“_”来表示它只是一个临时值

  • 双前导和末尾下划线:

    __var__
    

    这个感觉有点奇怪,一个是常见的类内init,另一个则是下面这种len的写法

    class Linkedlist(object):
        def __init__(self):
            self.head = Node()
            self.length = 0
        def __len__(self):
            return self.length
    

    当我在main里

    def main():
        L = Linkedlist()
        L.append(3)
        L.append(5)
        print("链表长度",len(L))
    if __name__ == '__main__':
        main()
    

    这样也可以输出len来= =

    学习的网站:

    感觉跟着一步步测试下来更会用,但想完全知道怎么来的估计得去翻文档www

「真诚赞赏,手留余香」

Mr.Be1ieVe's Treasure

真诚赞赏,手留余香

使用微信扫描二维码完成支付