Articles of atributos de

Plantilla PyCharm para la función Python class __init__

Tengo una clase de python con varias variables de inicio: class Foo(object): def __init__(self, d1, d2): self.d1 = d1 self.d2 = d2 ¿Hay una manera de crear este código automáticamente en PyCharm, por lo que no tengo que escribir explícitamente: self.dn = dn Este patrón sucede muy a menudo en mi código. ¿Hay una manera […]

¿Qué es el atributo python get y set order?

Python nos ofrece muchas posibilidades en el atributo de instancia / clase, por ejemplo: class A(object): def __init__(self): self.foo = “hello” a = A() Hay muchas formas de acceder / cambiar el valor de self.foo : acceso directo a.foo dictado interno a.__dict__[‘foo’] obtener y establecer a.__get__ y a.__set__ , por supuesto, hay dos métodos predefinidos. […]

Decorador para establecer atributos de función.

Quiero que las diferentes funciones sean ejecutables solo si el usuario conectado tiene el nivel de permiso requerido. Para hacer mi vida más compleja simplemente quiero usar decoradores. A continuación, bash configurar el permission atributo en las funciones “decoradas”, como se muestra a continuación. def permission(permission_required): def wrapper(func): def inner(*args, **kwargs): setattr(func, ‘permission_required’, permission_required) return […]

El objeto ‘dict’ no tiene atributo ‘leer’

A quien le interese, ¿Qué está mal con mi código? >>> import json >>> array = json.load({“name”:”Galen”,”learning objective”:”load json files for data analysis”}) Traceback (most recent call last): File “”, line 1, in array = json.load({“name”:”Galen”,”learning objective”:”load json files for data analysis”}) File “C:\Python34\lib\json\__init__.py”, line 265, in load return loads(fp.read(), AttributeError: ‘dict’ object has no […]

¿Cómo puedo devolver un valor predeterminado para un atributo?

Tengo un objeto myobject , que podría devolver None . Si devuelve None , no devolverá un id atributo: a = myobject.id Por lo tanto, cuando myobject es None , el elemento anterior da como resultado un AttributeError : AttributeError: ‘NoneType’ object has no attribute ‘id’ Si myobject es None, quiero que sea igual a […]

Atributos de clase de Python vs. módulo

Estoy interesado en escuchar un poco de discusión sobre los atributos de clase en Python. Por ejemplo, ¿cuál es un buen caso de uso para los atributos de clase? En su mayor parte, no puedo encontrar un caso donde un atributo de clase sea preferible a usar un atributo de nivel de módulo. Si esto […]

¿Acceder a los atributos de clase usando una variable en Python?

En PHP puedo acceder a atributos de clase como este: {$attribute} = ‘bar’; echo $tc->foo // should echo ‘bar’ ¿Cómo puedo hacer esto en Python? class TestClass() tc = TestClass attribute = ‘foo’ # here comes the magic? print tc.foo # should echo ‘bar’

Atributos que no son identificadores de python válidos

El método habitual de acceso a los atributos requiere que los nombres de los atributos sean identificadores de python válidos . Pero los atributos no tienen que ser identificadores de python válidos: >>> class Thing: … def __init__(self): … setattr(self, ‘0potato’, 123) … >>> t = Thing() >>> Thing.__getattribute__(t, ‘0potato’) 123 >>> getattr(t, ‘0potato’) 123 […]

AttributeError: no se puede establecer el atributo en Python

Aqui esta mi codigo N = namedtuple(“N”, [‘ind’, ‘set’, ‘v’]) def solve() items=[] stack=[] R = set(range(0,8)) for i in range(0,8): items.append(N(i,R,8)) stack.append(N(0,R-set(range(0,1)),i)) while(len(stack)>0): node = stack.pop() print node print items[node.ind] items[node.ind].v = node.v En la última línea no puedo establecer los items[node.ind].v valor en node.v como quiero, y node.v el error “AttributeError: can’t set […]

python isinstance vs hasattr vs try / except: ¿Qué es mejor?

Estoy tratando de averiguar las compensaciones entre diferentes enfoques para determinar si con el objeto obj puede o no realizar la acción do_stuff() . Según tengo entendido, hay tres formas de determinar si esto es posible: # Way 1 if isinstance(obj, Foo): obj.do_stuff() # Way 2 if hasattr(obj, ‘do_stuff’): obj.do_stuff() # Way 3 try: obj.do_stuff() […]