zoukankan      html  css  js  c++  java
  • 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语句都写在文件的顶部

      

     
  • 相关阅读:
    字符数组数据映射转换到实体对象model注解方式 demo
    字符数组转换及数字求和 java8 lambda表达式 demo
    java8 Lambda及Stream学习笔记
    java读取txt文件行的两种方式对比
    sftp jsch文件移动备份的思路
    APOI2009-抢掠计划
    NOIP2011
    省选算法(转)
    割点
    实验十 团队作业6:团队项目用户验收&Beta冲刺
  • 原文地址:https://www.cnblogs.com/wl413911/p/12988980.html
Copyright © 2011-2022 走看看