1
mgna17 2016-08-02 12:08:44 +08:00
关键字参数传入函数之后的确就变成一个字典了,你可以试一下 print(type(other))
函数上的**other 接收了所有键值对,并封装成了一个叫做 other 的字典 你要的 city 应该是 other.get('city') |
2
iEverX 2016-08-02 13:18:02 +08:00
这里不是赋值操作,只是语法规定而已
|
3
Newyorkcity OP @mgna17
谢谢你的解答,但还有几个问题.. 传入函数之后形成的字典可以被调用么? from myfunction_2 import person person('Syx', 18, city = 'Beijing', hometown = 'Hangzhou') print(other[0]) 第三行代码被报错,是 other 没有被定义.所以「 print(type(other))」和「 other.get('city')」应该怎么用呢? |
4
Newyorkcity OP @iEverX
谢谢..那这样的话请问这里的 city 是一个变量还是一个字符串? 只是因为在规定上禁止了 'city' : 'Beijing' 这种写法并规定了只接受 city = 'Beijing'这种写法么? |
5
iEverX 2016-08-02 13:53:38 +08:00 2
你从函数里得到的参数,是有函数的声明来确定的
def person(name, age, **other): 这一行说明这个函数接收三个参数, name , age , other person('Syx', 18, city = 'Chengdu', hometown = 'Hangzhou') 这种调用实际上是相当于 other = {'city': 'Chengdu', 'hometown': 'Hangzhou'},你在函数内部,只能使用 1 楼的方法去获得这个参数 |
6
mgna17 2016-08-02 14:07:54 +08:00 1
|
7
Newyorkcity OP @iEverX 谢谢
|
8
Newyorkcity OP @mgna17 谢谢
|