• python全栈开发day18-模块和导入


    1.昨日内容回顾

    2.模块和模块导入

      1.什么是模块,为什么要模块?

        py文件就是模块,

        把相似的功能放到一个文件,要用的时候 引入就可以直接调用了。

        import py文件名,导入模块就是执行他的代码。

      2.模块搜索路径sys.path

      3.模块的导入:导入模块相当于执行了导入文件代码

          1) import 模块名-创建一个独立的属于模块名的命名空间-使用空间中的名字需要借助模块名。

          2) from 模块 import xxx 

            from 模块名 import 名字

            from 模块名 import 名字1,名字2,名字3....

            from 模块 import 名字 as 别名

               知识点:在from...import的时候要不要导入整个my_moudel文件,要

                                             from...import导入的price会和同名的全局变量发生冲突

                                              如果只导入price那么只有price可以被调用,其他的均不能包括模块吗my_moudle

          3) 模块导入的注意事项

            (1) 在文件在最开始导入

            (2)导入顺序:内置模块、扩展模块、自定义模块

            (3)不会多次被导入

            (4)要循环引用

      4.pyc编译文件

       在第一次导入模块的时候会被编译,产生一个字节码文件,pyc文件会加快程序的启动效率 但是不会影响执行效率,

       如果我的py'文件修改了 pyc文件能感知到。

      5.执行脚本和执行模块

        if __name__ == ‘__main__’

        作用:用来控制.py文件在不同的应用场景下执行不同的逻辑

      3.包和包导入

                         带有__init__文件的文件

                         导入包就是执行该包下的__init__文件

                         import 包全路径精确到模块

             使用.来描述文件夹之间的层级关系

             .的左侧永远必须是个包

                                    .直接精确到模块

                                    #使用导入包的全路径或别名进行调用访问

          from import 至少精确到模块,可以精确到模块的名字

                                   

             # 使用.点来描述文件夹之间的层级关系

             .#.点的左侧永远必须是个包

                                    .# 直接精确到模块

             # import之后不能带.点

                  __init__文件做文章:

                   相对路径

                   绝对路径

                   单独导包

                  软件开发规范:

                  

     http://www.cnblogs.com/Eva-J/articles/7292109.html

  • 相关阅读:
    linux之卸载软件
    linux之挂载硬盘
    windows MySQL 5+ 服务手动安装
    深刻理解Python中的元类(metaclass)
    Python_cmd的各种实现方法及优劣(subprocess.Popen, os.system和commands.getstatusoutput)
    WSGI、flup、fastcgi、web.py的关系
    Windows下python环境变量配置
    External file changes sync may be slow: Project files cannot be watched (are they under network mount?)
    as。 对象和数组
    为什么for不能有序遍历数组的所有元素?(Array的设计原理)
  • 原文地址:https://www.cnblogs.com/wuchenggong/p/9078848.html
Copyright © 2020-2023  润新知