Python:在Pycharm中导入模块(粗糙解释)

在Pycharm中导入模块(粗糙解释)

在导包或者导入模块的时候常常遇到诸如未能找到模块,或者导入成功但模块被编译器标红等等的问题,那么如何导入才能解决这些问题呢?


  1. 首先包目录下需要有一个'__init__.py'文件,这个文件一半在创建包时会自动生成,这是区别该文件夹是一个普通的目录还是一个包

    例如

其中

# myModule01.py

def function01():
    print('runned')

if __name__ == '__main__':
    function01()



  1. 需要将模块所在的包的上一级设置Make Directory as -> Sources Root

    如果需要导入包myPac那么就需要将Day09设置Sources Root

    设置后包的图标颜色将变成蓝色



  1. 进行模块的导入(导入模块的两种写法)

    若不进行步骤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目录下的包和模块)可以使用第二种写法,使用时可以仅给出模块名称。

posted on 2021-01-23 16:51  摸鱼time  阅读(862)  评论(0编辑  收藏  举报