Python中关于Byte of Python可变参数部分的疑问?
原始代码: def total(a=5, *numbers, **phonebook): print('a', a)
#遍历元组中的所有项目
for single_item in numbers:
print('single_item', single_item)
#遍历词典中的所有项目
for first_part, second_part in phonebook.items():
print(first_part, second_part)
print(total(10,1,2,3,Jack=1123,John=2231,Inge=1560))
输出: a 10 single_item 1 single_item 2 single_item 3 Jack 1123 John 2231 Inge 1560 None [Finished in 0.1s]
1.大🐍能给详细解读下不? 2.我的输入答案的( Jack 1123 John 2231 Inge 1560 )与书上相反( Inge 1560 John 2231 Jack 1123 ),不知道为什么? 3.为什么输出最后会出现一个:None ? 4.如何在 sublime 中输入*,这种上标的星号?同样的操作,sublime 中是平行的星号。
Python中关于Byte of Python可变参数部分的疑问?
- 字典无序
3. 函数无指定返回,所以返回了 None
4. 目的何在? 想说的是字体?
我自己再品味,品味。
--------------- *numbers, **phonebook 属于左上标的星号,但是我在 sublime 中输入显示的是* numbers,** phonebook,
你多试几次就知道了,字典内部储存是 hash,无序的。
total 函数没有返回值,默认为 None。
检查一下你的输入法是不是开了全角符号之类的?如果开了输入法就关了吧。
谢谢你的回答,即使是这种平行的**,并不影响运行。囧~我再试一试~
- 那个是字体问题吧。。
3.6.1 有序
第一次听说“上标的”星号,还有“平行的”星号
555555555,你笑我?
我确实用的是 3.6.1 版本的 Python。


