Python 包和模块

一、概念描述

  模块:一个py文件(文件的后缀为.py),模块分为内置模块第三方模块,内置模块是指python自带的模块,其他的模块均属于第三方模块,包括自己写的模块。

  包:包含__init__.py的文件夹,pycharm下菜单栏"File"下,选择"New",再选择"Python Package",即可创建一个包。

二、模块的引入

1、import模式

  import是引入模块文件,要具体到模块名

  import引入时,如果要导入的模块和当前模块不在同一目录下,需要加上模块所在的路径,路径是从项目的根目录开始,多个层级中间用.号来进行连接

  import方式引入模块,调用模块里的变量、函数时,需要加入前面的前缀(所有的层级)

   

 2、from...import模式

  第一种用法,导入模块文件from 模块所在的目录 import 模块,调用时不需要加前面的层级,只需要加import后面的模块名即可。因为调用时,如果不在同一目录下,调用时需要拼接前缀,比较麻烦,这种方法多用于内置模块的引入。

   

   第二种用法,直接具体到函数名或变量from 模块名(如果不在同一目录下,拼接目录)import 函数 (as 别名),调用的时候,直接写函数名,如果当前文件下有同名函数,导入时使用as给要引用的函数起别名,调用的时候直接用别名,或者在将要调用的函数名下加前缀。(当导入的标识符出现重名,变量、函数、模块等,一定要将其中的一个取别名,以免混淆

  

    

   第三种用法,导入所有from 模块名 import *,调用的时候直接使用即可。一般不建议使用,因为一旦出现重名,没办法给导入的标识符起别名。

  

   注意:从代码的简洁以及高效角度考虑,建议使用from ... import ...模式

三、__name__属性

  表示模块名称。

  运行的模块的,__name__模块名叫__main__,主程序模块。

  其他导入进来的模块,__name__才是获取的模块名称。

  因此,在编写模块代码时,有几下技巧:1、顶格写的代码有定义变量、定义函数、定义类(顶格写的代码,运行时肯定会运行);2、调用函数,使用变量的时候,尽量不要顶格写,可以配合使用 if __name == '__main__',将调用写到if下面,这样写的好处是,在主程序中,如果调用别的模块代码时,在调用的模块如果也有调用的函数,这个函数不会被执行。

 

posted @ 2020-12-25 17:47  大脸猫最爱鱼  阅读(148)  评论(0编辑  收藏  举报