zoukankan      html  css  js  c++  java
  • Python模块与包的概念

    模块:
    随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用
    import:
    1. 执行对应文件
    2. 引入变量名
    为了防止 多次重复导入,python的优化手段是:
    第一次导入后就将模块名加载到内存了,后续的import仅仅是增加引用,而不是重置模块

    导入模块有独立的名称, 不会与当前函数的全局变量冲突

    为 模块起别名的方式 : import time as tim print(tim.time) from time import time as hello

    可一行导入多个模块 import sys,os,re from spam import read1,read2,money

    form... import 与 import 对比
    from... import... 使用更方便 缺点是 易与 当前执行文件中的名字冲突


    sys.path从以下位置初始化 临时修改作用 (永久修改用 系统 环境变量修改 )
    1. 执行文件所在的目录
    2. PYTHONPATH(包含一系列目录名,与shell变量PATH语法一样)
    3. 依赖安装时默认制定
    4.BASEDIR利用__file__文件 找到当前文件目录 通过 os.path.abspath(__file__)
    找到文件的绝对路径目录 上上级为os.path.dirname(os.path.dirname(__file__))

    需要强调的是:我们自定义的模块名不要跟python标准库的模块名重复


    1.模块名区分大小写,foo.py与FOO.py代表的是两个模块
    2.你可以使用-O或者-OO转换python命令来减少编译模块的大小
    -O转换会帮你去掉assert语句
    -OO转换会帮你去掉assert语句和__doc__文档字符串
    由于一些程序可能依赖于assert语句或文档字符串,你应该在在确认需要
    的情况下使用这些选项。
    3.在速度上从.pyc文件中读指令来执行不会比从.py文件中读指令执行更快,只有在模块被加载时,.pyc文件才是更快的

    4.只有使用import语句是才将文件自动编译为.pyc文件,在命令行或标准输入中指定运行脚本则不会生成这类文件,因而我 们可以使用compieall模块为一个目录中的所有模块创建.pyc文件



    用来组织模块功能清晰 进行分别存放

    random模块
      random.random() 0-1的浮点数
      random.randint(1,3) 取 1-3之间的整形 [1,3]
      random.randrange(1,3) [1,3)
      random.choice(可迭代对象,2) 在其中随机取值 第二个参数 设置选取几个参数
      l = [1,2,3,4,5,6]
      random.shuffle(l)
      打乱顺序用 shuffle

    纵有疾风起,人生不言弃!
  • 相关阅读:
    hiho 1182 : 欧拉路·三
    hiho拓扑排序专题 ——第四十八、四十七周
    hiho欧拉路·二 --------- Fleury算法求欧拉路径
    hdoj1423 最长上升公共子序列
    学习记录--让我打开另一种思路的SQL
    学习记录--如何将exec执行结果放入变量中?
    SQLServer中的Cross Apply、Outer Apply
    学习记录--一列数据转为一个字段
    学习记录--查询没有学全所有课的同学的学号、姓名、以及未学科目
    ISNUMERIC()检测是否为数字
  • 原文地址:https://www.cnblogs.com/poetl/p/8337893.html
Copyright © 2011-2022 走看看