show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次我们研究了文件模块(module)
- 不同的模块有各自的全局(global)变量字典
- import A之后
- 可以用A.a引用A模块内的全局(global)变量
- 也可以引入(import)别的模块的全局(global)变量
- 彼此不会互相影响
- 如果都使用from A import a这种模式
- 可能a会被其他的模块中a覆盖
- 这有点危险
- 各种数据来自不同的名字空间
- time
- math
- oeasy
__builtins__
- 已经有一些比较成熟的模块了
- 如何理解这些已经内建好的模块呢?🤔
- 还有什么模块有常量么?
- 在游乐场键入time.之后
- 键入tab
- 可以提示成员变量和成员方法
- time里面有
- 很多函数
- 常量
- alterzone
- 确实可以看到
- time.altzone
- 那这个变量能改么?
- 不但能改
- 好像还能删除
- 那math.pi这些可以修改么?
- 写个python程序
- 确实是可以修改的
- 但是time这个module在哪里呢?
- 还记得我们遍历sys.modules这个字典么
- time是一个内置的模块
- 不过他还是需要import之后才能使用的
- 那这个time的源文件在哪里呢?
- time模块并不对应一个python文件
- time是纯c的文件编译进去的
- 内嵌在python中的
- 无需加载的
- 还有什么用过的模块么?
- 这些文件来自于哪里呢?
- 我们曾经使用过这些包
- random获得随机数
- copy进行浅拷贝和深拷贝
- os获得当前路径
- 这些包给我们提供api(application programming interface)
- 我们先去总结
- 下次再去那个地方玩
- 这次我们研究了引用内建模块的变量
- 但是这个变量来自于什么呢?
- 有的来自于c编译好的内建模块
- 还有的来自于py文件
- 这些py文件有一些来自于同一个地方
- 我们去这个地方看看么?🤔
- 我们下次再说👋