Python的from import和import的区别
答案:2 悬赏:30 手机版
解决时间 2021-03-04 03:50
- 提问者网友:战皆罪
- 2021-03-03 20:25
Python的from import和import的区别
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-03-03 20:32
最近在用codecademy学python,遇到一些题目错误,小小记录一下
如from math import sqrt是把sqrt作为本文件的方法导入进来了,使用的时候只需要直接调用sqrt。
而如果import是import math,那么调用的时候要采用math.sqrt的方式。
那么如果在自己的文件里定义了相同名字的函数怎么办呢,来实验一下
from math import sqrt def sqrt(n): return n print sqrt(13689) raw_input()运行py文件输出13689,所以自己定义了函数会自动屏蔽掉。
所以大量引用import math.*是个比较好的办法,from math import *就容易出错了,当然用到很少的函数且次数较多时上面这种办法会比较合适。
另外python不支持像java那样import math.sqrt
如from math import sqrt是把sqrt作为本文件的方法导入进来了,使用的时候只需要直接调用sqrt。
而如果import是import math,那么调用的时候要采用math.sqrt的方式。
那么如果在自己的文件里定义了相同名字的函数怎么办呢,来实验一下
from math import sqrt def sqrt(n): return n print sqrt(13689) raw_input()运行py文件输出13689,所以自己定义了函数会自动屏蔽掉。
所以大量引用import math.*是个比较好的办法,from math import *就容易出错了,当然用到很少的函数且次数较多时上面这种办法会比较合适。
另外python不支持像java那样import math.sqrt
全部回答
- 1楼网友:轮獄道
- 2021-03-03 21:03
import datetime是引入整个datetime包,如果使用datetime包中的datetime类,需要加上模块名的限定。
1 import datetime
2
3 print datetime.datetime.now()
如果不加模块名限定会出现错误:typeerror: 'module' object is not callable \ attributeerror: 'module' object has no attribute 'now'
from datetime import datetime是只引入datetime包里的datetime类,在使用时无需添加模块名的限定。
1 from datetime import datetime
2
3 print datetime.now()
总结:python导入模块的方法有两种:import module 和 from module import,区别是前者所有导入的东西使用时需加上模块名的限定,而后者不需要。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯