k,v 是什么意思?

来源:3-5 Python获取对象信息

葡萄葡萄

2020-10-05 13:24

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两个参数也不够用啊?

写回答 关注

2回答

  • 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

Python3 进阶教程(新版)

学习函数式、模块和面向对象编程,掌握Python高级程序设计

41910 学习 · 236 问题

查看课程

相似问题