>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k in knights.items():
... print(k)
...
('gallahad', 'the pure')
('robin', 'the brave')
使用 k 和 v 两个变量时,将键与值分别赋予 k 和 v。使用 k 一个变量时,将对应的键与值作为一个整体赋给 k。所以,最终 print 的显示内容是有区别的。不只是此例,程序设计过程中有很多地方都会体现个体与整体的差异,虽然显示出来的结果非常相似,但逻辑上却是完全不同的。
1143Python3 模块
关于导入模块,自己写的程序,自己也可以把它保存下来,以后需要的时候导入使用,例如下面所示。
我有个代码名称为 test1.py,它的所在路径为 D:\test 下面。那我只需要完成以下步骤就可以把它作为模块 import 到其他代码中了。
在 test2.py 中我们就可以直接 import test1.py 了。成功导入后,test1中 的方法也就可以在 test2 中进行使用。
1142Python3 模块
回楼上,经测试,用:
这种方式进行导入,如果不同模块之间有相同的函数命名,最后导入的会覆盖前面的,也就是说只会调用到最后导入进的函数。
1141Python3 模块
回楼上:
在需要导入包中所有模块时,import* 还是有意义的。
只需要在 __init__.py 文件里面将所有模块名定义在列表 __ALL__ 中就能解决你最后的担忧。
1140Python3 模块
这一句里的星号应该是沿用自正则中一样的意义,表示的是全部的意思,文中指出少用这种导入方式,我觉得是如果将一个模块的所有函数名导入当前命名空间中,如果不同模块包含了函数名相同的函数,或者是与自己编写得函数名相同将会导致混乱,而且在 debug 时还不容易发现。
1139Python3 数据结构
教程中遍历 dict 使用的 .items() 方法配合 for 循环,非常简明易懂,但有一项需要注意的是,在 for 循环中,使用单个变量和双变量的区别,注意观察以下两个例子的区别:
===========================分隔线===========================
使用 k 和 v 两个变量时,将键与值分别赋予 k 和 v。使用 k 一个变量时,将对应的键与值作为一个整体赋给 k。所以,最终 print 的显示内容是有区别的。不只是此例,程序设计过程中有很多地方都会体现个体与整体的差异,虽然显示出来的结果非常相似,但逻辑上却是完全不同的。