• python---模块化


    相对路径:

    绝对路径:

    一个python文件,在运行时都会有一个运行时位置,最开始 即为 文件所在的文件夹,sys.path.append("..") 可以将当前python解释器的位置 设置为上一层目录

    在大型工程中,固定一个确定的路径(绝对位置)是十分必要的(一般相对路径是个很不好的选择),因为代码会迁移,相对路径容易造成错误

    一个独立的项目,所有模块的追寻方式,最好从根目录开始,这叫相对的绝对路径

    在pycham中构建python项目,pycharm会将sys.path 列表的第一个元素设置为空字符串,代表项目根目录的绝对位置。

    python的虚拟运行环境:

      通过virtualenv 工具,很方便的创建一个全新的python运行工环境

      对于每一个项目来说,最好有一个独立的运行环境,保证包和模块的纯净性

      在虚拟运行环境里,有一个文件activate,用于激活运行时环境,可以通过在该文件末尾添加 export PYTHONPATH="你想添加的目录,比如项目的根目录",添加环境的搜索路径中(适用于linux系统,不适用于win系统)

    python 是脚本语言,和java不同 ,并不需要提供显示的main()函数入口

    那么 if __name__ == "__main__"可以带来什么好处呢?

      1、python在导入文件的时候,会自动将暴露在外面的代码全部执行一遍,在导入模块时会带来问题,执行一些不需要执行的代码

      2、在模块(python文件)中,没有封装,但是在被import时,又不需要被执行的代码,要封装在 if __name__== "__main__"下面,来避开import时执行

      3、原理,__name__是python的魔术内置参数,是模块对象的一个属性;在import导入模块时,__name__会被赋值为该模块的名字,自然就不等于__main__

    from module_name import * 会把module中所有的函数和类都拿过来,如果和其他函数名、类型名称相同,会发生冲突

    import module_name 直接导入模块名,通过module_name.class_name(或者.function_name)来使用内部的类和函数,可以防止出现名称 冲突的问题

    在项目中的文件夹下加入__init__.py文件,表示项目对外暴露的接口,这种方式是python2 的标准方式;在python3中可以不用写__init__.py文件

    多个import 同一个模块,模块中的语句只会被执行一次,可以防止重复导入引起的错误(模块种语句的多次执行)

    代码规范:非特殊情况,所有的import语句都写在文件的顶部

      

     
  • 相关阅读:
    2016多校赛1 A 期望 B SG博弈,状压 D 倍增,二分
    POWOJ 1739: 魔术球问题 DAG最小路径覆盖转最大流
    Codeforces 743D 树形dp
    线性规划与网络流24题 索引
    WangEditor富文本编辑器的简单使用,并将文本数据发往后台
    SSRF
    关于Blind XXE
    blind xxe攻击
    linux awk命令详解
    kali
  • 原文地址:https://www.cnblogs.com/wl413911/p/12988980.html
Copyright © 2020-2023  润新知