python中的各种下划线

本文介绍了Python中下划线的用法,包括单下划线的变量作用域、双下划线用于命名规则(防止重写、魔法函数和私有属性)、以及如何在类中正确使用内置关键词和实例化nn.Module。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python中的各种下划线

  • _

    只有一个下划线,_ 会指向你最后一次执行的表达式的结果
    在这里插入图片描述

  • _xx

    • 以单个下划线开头命名的方法或者变量,就是说明它是仅提供内部使用的。
  • xx_

    • python内置的关键词都有特殊意义,比如 def、return、class、pass 等,在定义变量或者方法的时候,不可以用它们来命名的

    • 但如果非要这样定义变量名或方法,为了区分,在它们的后面添加一个下划线

      def_ = 1
      
  • _ _xx

    • 用在类的继承,通过两个下划线开头命名的成员,可以防止被子类重写

      class Person:
          def __init__(self):
              self.name = 'zzzz'
              self.__age = 18
      
  • _ _ xx _ _

魔法函数,Python 内置好了的,我们可以直接拿来使用,比如类的初始化方法

class Classifier(nn.Module):
    def __init__(self, hidden_size):
        super(Classifier, self).__init__()
        self.linear1 = nn.Linear(hidden_size, 1)
        self.sigmoid = nn.Sigmoid()

    def forward(self, x, mask_cls):
        h = self.linear1(x).squeeze(-1)
        sent_scores = self.sigmoid(h) * mask_cls.float()
        return sent_scores
  • _ classname__xx

    • 定义类的私有属性
    _Person__name = 'zzzzz'
    
    class Person:
        def get_name(self):
            return __name
    zzz= Person()
    print(zzz.get_name)
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值