我是靠谱客的博主 苗条发夹,最近开发中收集的这篇文章主要介绍from与import之间的区别,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

实例:
模块foo.py的内容:
yuqiu@w1-01-11-0492:~$ cat foo.py
#!/usr/bin/python
# Filename: foo.py

bar='hello'
print bar

先用from导入模块:
>>> from foo import bar
hello  #说明模块已经被执行了一次,from和import都会对模块里的语句执行一遍
>>> bar
'hello'  #从模块里导入的内容
>>> bar='yuqiu' #对变量重新赋值

再用import导入模块:

>>> import foo  #第二次导入该模块,模块不会再执行,而是从内存里加载数据
>>> foo.bar
'hello'  # 为什么boo.bar的值不是‘yuqiu’呢?
原因:
from导入模块的过程:
1、寻找模块foo的位置;
2、将foo源代码编译成字节码(根据需要)
3、执行字节码
执行字节码的过程
foo.bar='hello'
bar=foo.bar  #此时‘hello’字符串对象便有两个引用计数
delete foo
对bar重新赋值后bar='yuqiu',bar会引用到另外一个字符串对象'yuqiu'
import foo #再次导入模块
foo.bar会从内存中读取,所以foo.bar的值为'hello'

最后

以上就是苗条发夹为你收集整理的from与import之间的区别的全部内容,希望文章能够帮你解决from与import之间的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部