问答详情
源自:3-5 Python获取对象信息

k,v 是什么意思?

for k, v in kw.items():
            setattr(self, k, v)

k,v 是什么意思?


按照上面改名字alice -> adam的例子,我理解是:

kw是tuple,里面的循环用item。

setattr函数(self是具体实例,旧属性,新属性)


但是这个后面外部传入的:age=18, course='Python,两个都是新属性啊。

而且要是后期传入3个属性的话,那k,v两个参数也不够用啊?

提问者:葡萄葡萄 2020-10-05 13:24

个回答

  • weixin_慕妹7068926
    2022-05-18 20:04:08

    class Person(object):
        def __init__(self,name,gender,**kw):
            self.name = name
            self.gemder = gender
            for k ,v in kw.items():
                setattr(self,k,v)
    
    p = Person('bob','male',age=18,course='python')
    print(p.age)
    print(p.course)

    这个k就是age和course,然后这个v就是18和python,**kw是值多参数存储

  • 慕无忌6513609
    2020-10-09 10:11:44

    key和value的键值对,不是旧属性、新属性;三个或更多新的键值对都是一样的;如 age=18, key是age,value是18