zoukankan      html  css  js  c++  java
  • 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下面,这样写的好处是,在主程序中,如果调用别的模块代码时,在调用的模块如果也有调用的函数,这个函数不会被执行。

  • 相关阅读:
    cocos2dx3.1从零学习(二)菜单、场景切换、场景传值
    XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
    根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换
    如何学习 cocos2d-x ?
    Java数据类型中String、Integer、int相互间的转换
    Android各种效果集合
    重新生成IE02
    nvl与 is not null的区别等
    自定义view
    select into from 和 insert into select 的用法和区别(转)
  • 原文地址:https://www.cnblogs.com/purelavender/p/14188285.html
Copyright © 2011-2022 走看看