【问题标题】:python, write mixed value to class/instancepython,将混合值写入类/实例
【发布时间】:2021-12-30 21:07:42
【问题描述】:

我有一个名为“设备”的类,包括。两个属性,例如“device_name”和“serial_number”。不幸的是,我需要创建像“10M2-12AAA3BC42”这样的实例名称(混合值、字符串和数字)名称的长度不同。

我可以创建实例“10M2-12AAA3BC42”。但如果我叫“10M2-12AAA3BC42”

print(10M2-12AAA3BC42.serial_number)

我收到“无效语法”。

有没有办法使用如上所述的混合值?

非常感谢。

【问题讨论】:

  • 你不能定义以整数开头的变量
  • 不,如果你想这样做(查看str.isidentifier 作为识别有效标识符的有用工具)。您可以通过字典管理您的结构并使用字符串作为键吗?
  • 谢谢@Timus,我还是很惊讶,@Mr. Miyagi 设法创建名称为 10M2-12AAA3BC42 的实例
  • @JohnByro 我不认为他们是...... :)
  • 我已经回答了关于命名的问题,但是分享代码或编写反映您的代码的虚拟代码,然后我会帮助您创建您所询问的实例。

标签: python class object variables instance


【解决方案1】:

以下是一些在 python 中命名标识符的示例

num1
FLAG
get_user_name
userDetails
_1234 

在你的情况下,它应该是这样的:_10M2_12AAA3BC42。 (您不能在名称中的任何地方使用连字符,并且名称不应以数字开头)

【讨论】:

    【解决方案2】:

    您的命名标识符不正确。您可以尝试在下面访问属性

        class devices:
            def __init__(self, device_name , s_no):
                self.device_name = device_name
                self.s_no = s_no
    
        _10M2_12AAA3BC42 = devices('10M2', '12AAA3BC42')
    
        print(_10M2_12AAA3BC42.s_no)
        print(_10M2_12AAA3BC42.device_name)
    

    【讨论】:

      猜你喜欢
      • 2012-01-22
      • 1970-01-01
      • 2015-02-13
      • 1970-01-01
      • 2012-03-19
      • 2021-11-19
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多