没有理解girl是在哪个位置配对的 以及 key = None和value = None和作用

没有理解girl是在哪个位置配对的 以及 key = None和value = None和作用

# 具体遇到的问题
没有明白sex后面的girl在该函数中是在哪里配对的 并且没有理解 key = None以及value = None在该方法中的作用,即便不写入这两行代码 运行也是没有问题的

​# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

def search_users(**kwargs):

    values = list(students.values())

    key = None

    value = None

    result = []


    if 'name' in kwargs:

        key = 'name'

        value = kwargs[key]

    elif 'sex' in kwargs:

        key = 'sex'

        value = kwargs['sex']

    elif 'class_number' in kwargs:

        key = 'class_number'

        value = kwargs[key]

    elif 'age' in kwargs:

        key = 'age'

        value = kwargs[key]

    else:

        print('没有发现搜索的关键字')

        return


    for user in values:

        if user[key] == value:

            result.append(user)

    return result

print('--------')

users = search_users(sex='girl')

print(users)


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学,你好,value = kwargs['sex']得到的是字典kwargs中sex对应的值即girl

http://img1.sycdn.imooc.com//climg/5fb0f14c09eb23ff04150202.jpg

user[key]会得到user字典中sex对应的值与value值做比较

http://img1.sycdn.imooc.com//climg/5fb0f11f09c101d203530094.jpg

http://img1.sycdn.imooc.com//climg/5fb0f0f209b7beb903960132.jpg

时间, 2020-11-15 14:49:17

同学,你好,

1、sex='girl'是search_users()中的参数kwargs的值,会以字典的方式呈现

http://img1.sycdn.imooc.com//climg/5fb0ce520996378e04270209.jpg

2、key = None和value = None表示先定义key和value两个变量并赋值为None,在使用前不定义也是可以的


  • 提问者 慕仔1183567 #1
    我输入的是sex='girl',那么value = kwargs['sex']该代码的value就是girl,即便原来的students没有girl也是不影响这行代码返回的,我没理解是在哪行代码kwargs和students的value进行匹配的
    2020-11-15 15:20:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师