精华内容
下载资源
问答
  • setattr

    2019-07-13 16:54:55
    setatt ...setattr(object, name, values) object -- 对象。 name -- 字符串,对象属性。 value -- 属性值。 def testadd(): print 'testasdd' class Test(): name='tttli' ...

    setatt

    r给对象的属性赋值,若属性不存在,先创建再赋值

    用法

    setattr(object, name, values)

    • object -- 对象。
    • name -- 字符串,对象属性。
    • value -- 属性值。

     

    def testadd():
        print 'testasdd'
    

    class Test(): name='tttli' def testrun(self): print 'testrun' #增加Test类的参数 setattr(Test,"age","19") #增加Test类的函数 setattr(Test,"myadd",testadd())
    test
    =Test() test.myadd #testasdd print test.age #19

     

    转载于:https://www.cnblogs.com/xueli/p/9647468.html

    展开全文
  • Replace setattr

    2021-01-07 12:22:39
    <div><p><code>setattr</code> doesn't provide any value over setting the attribute directly via <code>___ = ___</code>. Also cleaned up a call to <code>isinstance</code> where we were checking ...
  • python setattr

    2021-04-07 16:46:09
    使用setattr的背景 外部需要引用的方法functionA 传入的参数对象是argparse.parse_args()解析后的参数对象,该对象类型是其自定义的Namspace对象,是class 对象类型,所以如果想单独调用functionA就需要通过setattr...

    使用setattr的背景

    外部需要引用的方法functionA 传入的参数对象是argparse.parse_args()解析后的参数对象,该对象类型是其自定义的Namspace对象,是class 对象类型,所以如果想单独调用functionA就需要通过setattr构造参数对象

    argparse中Namespace的对象的定义

    class Namespace():
        """Simple object for storing attributes.
    
        Implements equality by attribute names and values, and provides a simple
        string representation.
        """
    
        def __init__(self, **kwargs):
            for name in kwargs:
                setattr(self, name, kwargs[name])
    

    调用及输出

    namespace = Namespace(arg1='hello',arg2='hi')
    print(namespace,namespace.arg1,namespace.arg2)
    
    # 输出
    <__main__.Namespace object at 0x7f774e5cbe10> hello hi
    

    构造具备自定义属性的对象

    # 和通过class定义一样
    MyNamespace = type("MyNamespace", (object,), dict())
    myNamespace = MyNamespace()
    # 添加自定义属性
    setattr(myNamespace,"arg1", "hello") 
    # 读取对象属性的方法有两种
    value=getattr(myNamespace, "arg1") #方法1
    print(myNamespace,myNamespace.arg1,value) # 方法2:myNamespace.arg1
    # 输出
    <__main__.MyNamespace object at 0x7ff3e2d1aeb8> hello hello
    
    展开全文
  • Would you consider modifying <code>setAttr</code> to handle a boolean value like Mithril? <pre><code>js setAttr(el, { checked: true }) // => <input type="checkbox" checked> ...
  • Python setattr()

    2020-07-11 05:34:52
    Python setattr() function allows us to set an object attribute value. Python setattr()函数允许我们设置对象属性值。 Python setattr() (Python setattr()) Python setattr() function syntax is: Python...

    Python setattr() function allows us to set an object attribute value.

    Python setattr()函数允许我们设置对象属性值。

    Python setattr() (Python setattr())

    Python setattr() function syntax is:

    Python setattr()函数语法为:

    setattr(object, name, value)

    This function is counterpart of python getattr() function.

    该函数与python getattr()函数相对应。

    The input arguments are object whose attribute will be set, name is the attribute name and value is the attribute value.

    输入参数是将设置属性的objectname是属性名称, value是属性值。

    Let’s look at a simple example of setattr() function.

    我们来看一个简单的setattr()函数示例。

    class Data:
        pass
    
    
    d = Data()
    
    d.id = 10
    
    print(d.id)
    
    setattr(d, 'id', 20)
    print(d.id)

    Output:

    输出:

    10
    20

    So setattr() does the exact same thing as using dot operator with the object.

    因此,setattr()的作用与对对象使用点运算符的作用完全相同。

    So where is the benefit of using setattr() function?

    那么使用setattr()函数的好处在哪里呢?

    The setattr() function is useful in dynamic programming where the attribute name is not static. In that case, we can’t use the dot operator. For example, taking user input to set an object attribute and its value.

    setattr()函数在属性名称不是静态的动态编程中很有用。 在这种情况下,我们不能使用点运算符。 例如,以用户输入来设置对象属性及其值。

    用户输入的Python setattr()示例 (Python setattr() example with user input)

    d = Data()
    attr_name = input('Enter the attribute name:\n')
    attr_value = input('Enter the attribute value:\n')
    
    setattr(d, attr_name, attr_value)
    
    print('Data attribute =', attr_name, 'and its value =', getattr(d, attr_name))

    Output:

    输出:

    Enter the attribute name:
    name
    Enter the attribute value:
    Pankaj
    Data attribute = name and its value = Pankaj

    Python setattr()异常 (Python setattr() exception)

    We can create a read-only attribute in the object using property function or property decorator.

    我们可以使用property functionproperty decorator在对象中创建一个只读属性。

    In that case, if we try to set the attribute value using setattr() function, we will get AttributeError: can't set attribute exception.

    在这种情况下,如果尝试使用setattr()函数设置属性值,则会得到AttributeError: can't set attribute异常。

    class Person:
    
        def __init__(self):
            self._name = None
    
        def get_name(self):
            print('get_name called')
            return self._name
    
        # for read-only attribute
        name = property(get_name, None)
    
    
    p = Person()
    
    setattr(p, 'name', 'Pankaj')

    Output:

    输出:

    Traceback (most recent call last):
      File "/Users/pankaj/Documents/github/journaldev/Python-3/basic_examples/python_setattr_example.py", line 39, in <module>
        setattr(p, 'name', 'Pankaj')
    AttributeError: can't set attribute
    GitHub Repository.GitHub存储库中检出完整的python脚本和更多Python示例。

    Reference: Official Documentation

    参考: 官方文档

    翻译自: https://www.journaldev.com/23129/python-setattr

    展开全文
  • python内置的两个看起来很简单,一般也不怎么用得上的函数,getattr函数和setattr函数。getattr函数用于获取对象的某个属性的值,setattr函数用于设置对象的某个属性值。getattr函数获取对象的某个属性值,如果属性...

    python内置的两个看起来很简单,一般也不怎么用得上的函数,getattr函数和setattr函数。getattr函数用于获取对象的某个属性的值,setattr函数用于设置对象的某个属性值。

    getattr函数

    获取对象的某个属性值,如果属性不存在,而且又没有提供default值,抛出AttributeError。

    以上代码首先用dir查看了10这个int对象的所有属性,然后获取bit_length属性,发现是一个函数,获取real属性,就是10。再获取一个浮点数10.12345的real属性,再获取一个不存在的kkkk属性,不过提供了默认值abcde,返回abcde,因为kkkk属性不存在。如果不提供默认值,获取不存在的kkkk属性值,抛出AttributeError异常。

    python还有一个内置函数hasattr,就是通过getattr来实现的, This is implemented by calling getattr(object, name) and seeing whether it raises an AttributeError or not.)

    setattr函数

    顾名思义,就是设置对象的某个属性值。比较有趣的一个细节是,被设置的属性,可以是对象还不存在的属性。不过只能对自定义的对象进行这种操作,内置对象不可以。

    >>> class person():

    ... def __init__(self, age):

    ... self.age = age

    ...

    >>> p = person(40)

    >>> p.age

    40

    >>> setattr(p, 'gender', 'male')

    >>> p.gender

    'male'

    >>> setattr(p, 'age', 100)

    >>> p.age

    100

    person这个class,一开始只有age属性,后通过setattr函数,增加了gender属性。我们其实本来就可以对对象任意增加不存在的属性值,只是如果使用setattr函数,带来一个好处,即属性的名称也可以是动态的,比如属性的名称通过某个变量来获取。

    -- EOF --

    展开全文
  • getattr setattr hasattr

    2019-07-23 19:50:51
    python内置函数 getattr setattr hasattr attr : 属性 先创建一个类A,然后实例化出一个对象a getattr 获取属性的值 如果有这个属性,就获取属性中的内容,没有就报错 setattr 设置属性和值 hasattr 是否有这个属性 ...
  • setattr()

    2017-04-25 14:03:00
    setattr() setattr(object,key,value) Set a named attribute on a object; setattr(x,y,v) is equivalent to "x.y=v" 转载于:https://www.cnblogs.com/pythonabc/p/6761762.html
  • getattr和setattr

    2019-09-21 04:34:21
    1、当我们获取一个对象的属性时,假如对象名和属性名都是变量,就无法直接获取值。 obj.field,这是错误的方式。 getattr(obj, field),这是正确的...setattr(obj, field, eval(value)) 转载于:https://www.c...
  • # __author: "ZXYang"# date: 2020/12/15"""__setattr__:给对象设置属性时自动调用该方法封装:【 限制属性类型的添加 】"""class Fun(object):__slots__ = ['name', 'age', 'gender']def __setattr__(self, key, ...
  • 在如果我不包含__setattr__方法,这似乎是可行的。我可以打电话”settings.top_旅行“把答案拿回来。但是,一旦我尝试输入__setattr__,我似乎得到了一个错误。在它看起来相当递归,所以我假设Get正在调用Set,等等...
  • 在调用setattr时,当试图设置某个带有setter的属性的值时,这将导致无限递归循环:class TypeSystem(object):def __setattr__(self, key, value):if the_special_case is True:# do somethingelse:super(TypeSystem,...
  • getattr/setattr doesnt work

    2020-12-01 15:44:17
    <div><p>So far I have to say I love working with DotMap however I run into the issue that getattr and setattr don't work at the way you expect. <p>Example: <pre><code> python >>> from ...
  • setattr(object,name,value):作用:设置object的名称为name(type:string)的属性的属性值为value,属性name可以是已存在属性也可以是新属性。getattr(object,name,default):作用:返回object的名称为name的属性的...
  • 英文文档:setattr(object, name, value)This is the counterpart of getattr(). The arguments are an object, a string and an arbitrary value. The string may name an existing attribute or a new attribute. ...
  • setattr(object, name, value) This is the counterpart of getattr(). The arguments are an object, a string and an arbitrary value. The string may name an existing attribute or a new attribute. The ...
  • 如果我不要包括__setattr__方法。我可以打电话给“settings.top_travel”得到答案。但是,只要我试着__塞塔特__,我好像搞错了。它看起来相当递归,所以我假设Get正在呼叫Set等等。在set属性部分,我希望将其写回配置...
  • setattr 可以重写方法

    2021-04-23 10:53:51
    想到setattr,搜索相关代码时候发现以下这种说法,说是不支持创建方法。 都想要放弃了,但心想还是尝试一下~ 如图,发现是可以的~ import pavi writer = pavi.SummaryWriter('test_pavi') def hack(self, tag...
  • setattr及yield问题

    2019-10-30 09:27:59
    python setattr样例 setattr用法总结: 1.对已存在的属性进行赋值 2.如果属性不存在会创建一个新的对象属性,并对属性赋值 yield样例如下注解附待说明 需要测试取消或添加注解即可 #测试1 # alist=['a','b','c','d...
  • Python setattr()函数

    千次阅读 2019-11-01 09:55:34
    setattr()函数对应函数getattr()函数,用于设置属性值。参数是对象、字符串和任意值。字符串可以命名现有属性或新属性。如果对象允许,函数将值赋给属性。例如,setattr(x,'foobar',123)等同于x.foobar=123。 ...
  • Python setattr() 函数

    2019-03-04 20:49:00
    Python setattr() 函数 Python 内置函数 描述 setattr()函数对应函数getattr(),用于设置属性值,该属性不一定是存在的。 语法 setattr() 语法: setattr(object, name, value) 参数 object -- 对象。 ...
  • 这对我有用:class Transform(object):def __getattribute__(self, name):if name in attrKeys:return externalData[name]return super(Transform, self).__getattribute__(name)def __setattr__(self, name, value)...
  • Fix setattr on wrapped class

    2020-12-01 14:09:56
    - Fix the setattr on the wrapped jenni class so that setting an attribute on <code>jenni.foo</code> modifies the top-level jenni instance and is preserved across calls to module handlers - Remove all ...
  • getattr 返回一个对象的属性值 getattr(apple,"...setattr 设置对象属性值,该属性必须存在 setattr(apple,"price",10) 引用 Python getattr() 函数 Python setattr() 函数 ...
  • vdi setattr

    2020-12-05 05:35:43
    <div><p>I'm trying to use attr to internal communication, after set attr on a vdi, I can read attr from another node, but is there a way to notify other node that I have set a attr in a vdi?...
  • hasattr 用于判断对象是否包含对应的属性。 hasattr(object, name) setattr 给对象的属性赋值,若属性不存在,先创建再赋值。 setattr(object, name, values)
  • setattr和getattr的理解

    2020-02-25 10:21:52
    class A(object): def __init__(self): # self.x1 = {} object.__setattr__(self, "x", {}) # def __getattr__(self, item): # print(item) def __setattr__(self, key, val...
  • 在一般在学习新模块的时候,掌握属性就能对事物的功能有一个大致的了解,就如__setattr__的使用给属性进行赋值。有没有小伙伴想过赋值的是哪个方面的属性?如果按照我们以往赋值方法,会变成设置函数的操作,而__...
  • 1. hasattr(object, name)判断object对象中是否存在name属性,当然对于python的对象而言,属性包含变量和方法;有则返回True,没有则返回False...getattr和setattr也同样;>>>>>> class A():name...
  • mq_setattr

    2014-04-13 22:12:00
    mq_setattr- 设置消息队列的属性(REALTIME) SYNOPSIS #include <mqueue.h> int mq_setattr(mqd_t mqdes, const struct mq_attr *restrict mqstat, struct mq_attr *restrict omqstat); D...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,118
精华内容 1,647
热门标签
关键字:

setattr