Python编程:模块、类与语言特性的深入解析
1. 模块导入与命名空间
在Python中,模块的导入和命名空间的管理是重要的基础概念。当导入模块时,可能会产生副作用,例如下面的代码:
>>> Helloworld.f ('f not masked')
# Part 4
Bye f not masked
>>> f ()
f from main
在这个例子中,导入 Helloworld 模块产生了打印 Hello 的副作用,这表明模块已成功加载。同时,定义新的函数 f 不会掩盖 helloworld.f ,因为它们处于不同的命名空间。
模块名可以被扁平化,使用 from name import n1, n2 结构,这里的 n1 和 n2 是模块的字段。但这种操作有风险,可能会掩盖已经引入的绑定,示例如下:
>>> def f (x) : return [x]
# Part 1
>>> from Helloworld import f
# Part 2
Hello
>>> f (5)
Bye 5
在这个例子中,原本定义的函数 f 被
超级会员免费看
订阅专栏 解锁全文

469

被折叠的 条评论
为什么被折叠?



