python 笔记(1)

1. 当 python程序执行的时候,源代码会被编译成字节码。字节码能加速程序运行;字节码和平台无关;字节码保存在以 .pyc结尾的文件里面(在和python代码文件同目录的地方)如果没有写权限,字节码保存在内存里,程序退出的时候被丢弃。字节码文件不会每次都重新生成,只要文件没有改变,字节码文件就不会重新生成

2.PVM执行字节码

3. 任何一个以.py结尾的 python代码文件都是一个模块(module);其它文件通过 import一个模块(module)来访问定义在这个 module里的元素;import会把一个文件加载进来,并且赋予访问这个文件里的内容的权限;外界通过模块的属性(attribute)来访问这个模块;其中一个文件是 main或者top-level文件,这个文件是被 launch启动整个程序的。当一个文件 import一个模块的时候,这个文件会去搜索这个文件,把它编译成字节码,然后执行。但是,这个过程只有在第一次import这个模块的时候才执行

如果使用 imp里的reload函数,则每次reaload,上面的过程都会走到

from imp import reload

reload(test)

 reload()里的模块必须是已经 load的。

使用 import时,被加载进来的模块的名字必须加上模块名:

import threenames

print(threenames.x)

如果使用 from, 则可以直接使用变量名

frrom threenames import x

print(x)

reload()没有传递性

 

4. module是一个包含了变量名字的名字空间,变量名字叫做 attribute;通过 import,能够访问模块的位于 top-level的名字(函数名,变量名,类名。。)获取文件的名字可以使用 import, imp语句和 reload函数;不同的模块可以有相同的变量名字。。

5. exec(open('module.py').read())每次都 执行最新的代码,把模块的名字直接拷贝到当前的名字空间

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值