这有效:
class MyClass(object):
pass
someinstance = MyClass()
someinstance.myattribute = 42
print someinstance.myattribute
>>> 42
但这不是:
someinstance = object()
someinstance.myattribute = 42
>>> AttributeError: 'object' object has no attribute 'myattribute'
为什么?我有一种感觉,这与对象是内置类有关,但是我发现这并不令人满意,因为我在MyClass的声明中没有进行任何更改。
Python将属性存储在字典中。您可以将属性添加到MyClass
,看到它具有 __dict__
:
>>> class MyClass(object):
>>> pass
>>> dir(MyClass)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
重要的区别是object
没有__dict__
属性。
>>> dir(object)
['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
问题内容: 首先看下面的JavaScript对象 我想将值设置为与相同,因此我将对象值放在前面,但它对我不起作用,我也使用过,但仍然失败。我的问题是如何访问对象内对象的属性。 一些用户沉迷于问“您想做什么或发送脚本等”,对于那些人来说,答案很简单:“我想访问对象内的对象属性”,上面提到了脚本。 任何帮助将不胜感激 :) 问题答案: 使用 对象文字 语法时,不能在初始化期间引用对象。创建对象后,需要
pageScope、requestScope、sessionScope和applicationScope四个EL内置对象分别对应page、request、session和application四个域的属性集合。这四个EL内置对象可以使用如下两种方法访问域属性集合中的对象: 1. 获得特定域属性集合中的对象:这种方法需要指定要获得哪个域的属性。如下面的代码将获得request域中的name属性: $
我已经开始使用PowerShell来完成一些事情,并在PowerShell中使用变量。 我遇到的问题是,当我将变量分配给类中定义的变量时,测试返回而不是。 示例代码: 现在,对未定义变量< code>$test2的测试返回< code>true,因为PowerShell中的每个未定义变量都被赋予了< code>$null。 但是,如果我测试我分配给的对象的属性,则会测试的 是不是因为在PowerS
本文向大家介绍Python面向对象之类的内置attr属性示例,包括了Python面向对象之类的内置attr属性示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python面向对象之类的内置attr属性。分享给大家供大家参考,具体如下: 这个比较简单。 代码示例: 运行结果: ----> from setattr {'y': 10} ----> from setattr {'y': 10
但这不可能访问B。
这是我的代码: 只有当tipus==“hianyos”时,我如何才能将rang属性添加到对象?