Python:在Pycharm中导入模块(粗糙解释)
在Pycharm中导入模块(粗糙解释)
在导包或者导入模块的时候常常遇到诸如未能找到模块,或者导入成功但模块被编译器标红等等的问题,那么如何导入才能解决这些问题呢?
-
首先包目录下需要有一个
'__init__.py'
文件,这个文件一半在创建包时会自动生成,这是区别该文件夹是一个普通的目录还是一个包例如
其中
# myModule01.py
def function01():
print('runned')
if __name__ == '__main__':
function01()
-
需要将模块所在的包的上一级设置
Make Directory as -> Sources Root
如果需要导入包
myPac
那么就需要将Day09
设置Sources Root
设置后包的图标颜色将变成蓝色
-
进行模块的导入(导入模块的两种写法)
若不进行步骤2,则模块可能也可以被导入使用,但编译器会标红模块和包名称
如下
进行步骤2的操作后,标红则会消失
如下
模块可以正常调用,运行结果如下
-
导入模块的两种写法
-
第一种写法
import math a = 2 b = math.sqrt(a) # 需要将模块所在的包名给出,看*注意* print(b, end='') # 1.4142135623730951
-
第二种写法
from math import * a = 2 b = sqrt(a) # 直接写出模块的名称即可,看*注意* print(b, end='') # 1.4142135623730951
-
-
注意:
经过反复尝试,似乎对于自己创建的包或者模块,即使使用第二种写法
from math import *
也需要同时给出包名和类名,而原生的包和模块(放在Lib目录下的包和模块)可以使用第二种写法,使用时可以仅给出模块名称。
moyutime:本文仅是学习心得,观点仅供参考,祝愿读者学习途中快乐且不断有所收获。