n = 20 print n.__name__我收到一个错误,因为n没有属性__name__:AttributeError: 'int' object has no attribute '__name__'但是n是int类的一个实例,而int .__ name__给出了一个结果,那么为什么n .__ name__会抛出一个错误.我期望因为n是类int的实例,所以它应该可以访问该类的所有属性.解决方法:__name__不是int类(或其任何基类)的属性:>>> int.__dict__['__name__'] Traceback (most recent call last):File "<stdin>", line 1,...
我在python中有一个类,具有属性名称,健康,力量,隐身,敏捷,武器和金钱.我正在制作游戏中的商店,以增加具有特定项目的任何整数属性的值.每个整数属性可以通过具有不同成本和buff强度的两个不同项中的一个来增加.我遇到的问题实际上是按金额递增属性并保存对象. 这是对象的代码:class Figure:def __init__(self, stats):#create figure objectself.name = stats[0]self.health = int(stats[1])self.strength = int(stats[2])self.ste...
实例通常能够调用类的属性,但是有些属性是类专有的,实例无法调用。 实例调用方法时查找属性时,首先在自己的__dict__中找,找不到去类中找,在类中能够找到的属性都位于dir(cls)中,如果类的某些属性不在dir(cls)中,那么实例无法访问。 1 >>> class A:2 pass3 4 >>> A.__name__ # the name of class, function, method, descriptor, generator5 A6 >>> A.__qualname__ # qualified name (path from global scope to here)7 ...
鉴于如类class MyClass:text = "hello"number = 123有没有办法在python中检查MyClass,确定它有两个属性text和number.我不能使用像inspect.getSource(object)之类的东西,因为我要获取它的属性的类是使用SWIG生成的(所以它们隐藏在.so :)). 所以我真的在寻找与Java相似的东西[Class.getDeclardFields] [1] 任何帮助将不胜感激,否则我将不得不用SWIG JAVA而不是SWIG Python来解决这个问题.解决方法:我通常只使用dir(MyClass).也适用于...
在Python中,我可以在整个类中声明属性.例如 :class Foo: def __init__(self):self.a = 0def foo(self):self.b = 0当我有一个具有大量属性的大类时,很难检索我班级中的所有属性. 拥有以下代码(a)或下面的代码(b)是否更好: a)在这里,很难找到所有属性:class Foo:def __init__(self):foo_1()foo_2()def foo_1(self):self.a = 0self.b = 0def foo_2(self):self.c = 0b)在这里,很容易找到所有属性,但它是否漂亮?class Foo:def __ini...
环境如下:**Windows 7** PATH=C:\Python27\;C:\Python27\Scripts;C:\Python27\Lib\site-packages\MySQLdb;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\OSGeo4W\bin **python 2.7** 'C:\\Python27\\lib\\site-packages\\bitstring-2.1.1-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\virtualenvwrapper-2.11.1-py2.7.egg', 'c:\\cygwin\\ho...
这是一些简化的代码,我不明白为什么它不起作用.from collections import namedtupleMyStruct = namedtuple('MyStruct', 'ThreadInstance ThreadName Mnemonic IpAddr IpGW Status Mode')Node = MyStruct(None, '', '', '', '', -1, 0) NodeDb = [] for id in range(4):NodeDb.append(Node)NodeDb[2]._replace(ThreadName='T2') NodeDb[2]._replace(Mnemonic='ABCD') NodeDb[2]._replace(IpAddr='192.0.1.2') NodeDb[2]._replace(I...
这上周工作了.也许我做错了什么并搞砸了别的地方,或者它可能是一个bug,或者它只是一个更新而我在阅读文档时错过了它. 我有一个管道,可以获取用户的头像并保存URL:def get_avatar(strategy, details, response, user, *args, **kwargs):url = Noneif strategy.backend.name == 'facebook':url = 'http://graph.facebook.com/{0}/picture'.format(response['id'])elif strategy.backend.name == "twitter":if response['profile_ima...
使用Python 2.7.3.1 我不明白我的编码问题是什么!我收到此错误:AttributeError:’list’对象没有属性’split 这是我的代码:myList = ['hello']myList.split()解决方法:你可以简单地做列表(myList [0]),如下所示:>>> myList = ['hello'] >>> myList=list(myList[0]) >>> myList ['h', 'e', 'l', 'l', 'o']请参见此处的documentation
如何在包装它时模拟python属性setter(即调用原始setter)?最直接的方法是访问__set__,但它只是属性的只读,所以不起作用.from unittest import TestCase from unittest.mock import patch, PropertyMockclass SomeClass:def __init__(self, value):self._value = value@propertydef value(self):return self._value + 1@value.setterdef value(self, value):self._value = value + 1class TestSomeClass(TestCase):def test_value_s...
我使用python 2.7.2 | EPD 7.1-1(64位),由于某种原因numpy.random.choice无法正常工作: 从终端窗口:d-108-179-168-72:~ home$python Enthought Python Distribution -- www.enthought.com Version: 7.1-1 (64-bit)Python 2.7.2 |EPD 7.1-1 (64-bit)| (default, Jul 3 2011, 15:56:02) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "packages", "demo" or "enthought" for more information. >>> import numpy as np >>...
我按照说明在Ubuntu 14.04 g2.8xlarge aws实例上安装Google Tensorflow及其依赖项.在尝试运行示例问题时,我遇到了下面发布的错误.任何帮助将不胜感激.谢谢.Traceback (most recent call last):File "convolutional.py", line 30, in <module>import tensorflow.python.platformFile "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 23, in <module>from tensorflow.python import *File "/usr/local/lib/p...
在尝试实现动态排序时,我遇到了一个有趣的问题.给出以下代码:>>> l = [] >>> for i in range(2): >>> def f(): >>> return f.v >>> f.v = i >>> l.append(f)你必须要小心如何使用l中的函数:>>> l[0]() 1 >>> l[1]() 1 >>> [h() for h in l] [1, 1] >>> [f() for f in l] [0, 1] >>> f = l[0] >>> f() 0 >>> k = l[1] >>> k() 0 >>> f = l[1] >>> k() 1 >>> del f >>> k() NameError: global name 'f' is not...
我有两个类,一个是“就地操作符”覆盖(比如说=),另一个是通过@property公开第一个实例. (注意:从我的实际代码到再现问题的最小代码,这大大简化了.)class MyValue(object):def __init__(self, value):self.value = valuedef __iadd__(self, other):self.value += otherreturn selfdef __repr__(self):return str(self.value)class MyOwner(object):def __init__(self):self._what = MyValue(40)@propertydef what(self):return sel...
我得到了这个错误,但我没有导致它.我的python代码在pyspark中运行.堆栈跟踪很长,我只展示其中的一些.所有的堆栈跟踪都没有显示我的代码,所以我不知道在哪里寻找.导致此错误的原因是什么?/usr/hdp/2.4.2.0-258/spark/python/lib/py4j-0.9-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name)306 raise Py4JJavaError(307 "An error occurred while calli...