zoukankan      html  css  js  c++  java
  • 2 python包、模块相关

      1 ############### 调用其它路径下面的模块和包 ###################################
      2 
      3 import sys
      4 sys.path.append(r"/hyy/python/model/model_name")
      5 sys.path.append(r"目录路径")
      6 
      7 ############  模块 #################################
      8   ---说明1:
      9    一个.py结尾的文件,就可以叫做是模块。
     10    模块就是普通的.py .pyc .pyo文件
     11     使用import导入(即相当于把1.py文件中的源代码拷贝到当前被导入文件中)
     12 
     13 
     14 ------------------------ 模块的举例 ---------------------------------
     15 
     16 例:
     17 模块mymod.py 内容如下:
     18 def func_sum(arg):
     19     print sum(arg)
     20 print "zzzz"
     21 
     22  -- 即from后面的名字前缀可以省略掉。
     23 
     24 
     25 ## 使用方法1:
     26 import mymod      ## 模块导入的时候即会被执行
     27 
     28 print "bb"
     29 a=[1,2,3,4,5,6]
     30 mymod.func_sum(a)  ## 执行模块中的函数(必须前面有模块名的前缀)
     31 
     32 结果:
     33 zzzz
     34 bb
     35 21
     36 
     37 
     38 ##使用方法2:
     39 from mymod import func_sum
     40 
     41 print "bb"
     42 a=[1,2,3,4,5,6]
     43 func_sum(a)   ## 执行模块中的函数(这里不能有模块名的前缀)
     44 
     45 结果:
     46 zzzz
     47 bb
     48 21
     49 
     50 -------------------模块的特性----------------------------------------
     51 
     52   -- 说明2:
     53        需要用到内置变量 __name__
     54      在本文件中被调用   __name__  值为 __main__
     55      在其它文件被调用   __name__  值为模块的文件名
     56 
     57      则在模块中可以写如下判断代码:
     58      ## 因为模块被导入时,会被执行
     59      ## 如时不想让模块中的main函数在导入import时被执行。则模块中要写此语句
     60     if __name__ == '__main__':
     61         main()
     62 
     63 
     64 
     65 -----------------------------补充 -----------------------------------
     66    补充:
     67    --源代码  1.py
     68       以.py结束   python源代码的文件 
     69    --字节代码 1.pyc
     70       以.pyc结束   是源文件经过编译后生成的
     71       import py_compile   --引入编译模块
     72       py_compile.compile("1.py")  ---进行编译,生成了.pyc文件(二进制文件)
     73    --优化代码  1.pyo
     74       经过优化的源文件, 以.pyo结尾(二进制文件)
     75       python  -O  -m  py_compile 1.py
     76 
     77     注意:
     78        以上.py  .pyc   .pyo  三种文件都可以直接运行,
     79        执行.py 是解释执行  相对来说较慢
     80        执行.pyc 和.pyo 则是以二进制来执行是比较快的
     81 
     82 
     83 ##########  包 #################################
     84       1, 创建包
     85        
     86     说明1:
     87         包是模块的集合(所有的模块文件放在一个文件夹下就是一个包)
     88         包中(即文件夹)必须有一个模块名为:__init__.py 的文件(可空可不为空,即表名此文件夹为包)
     89     说明2:
     90         一般__init__.py文件中可以写包的一些相关信息(比如这个包是干嘛的)
     91         因为包在调用时,都会自动执行这个名为__init__.py 的模块文件
     92 
     93 
     94 -----------包的调用-------------------------
     95 说明:
     96   com 是包名,即目录名
     97   util 是模块名,即目录下文件名,
     98   func_sum 是模块中的函数
     99 
    100  -- 即from后面的名字前缀可以省略掉。
    101 
    102 --方法1:
    103 import com.util
    104 com.util.func_sum()
    105 
    106 方法2:
    107 from com import util
    108 util.func_sum()
    109 
    110 方法3:
    111 from com.util import func_sum()
    112 func_sum()
    113 
    114 方法4
    115 from com.util import *
    116 func_sum()
  • 相关阅读:
    实操ES6之Promise
    RabbitMQ入门指南
    【从零开始撸一个App】PKCE
    SpringCloud Alibaba Nacos Config 配置中心
    SpringCloud Alibaba Nacos 服务发现 Feign进行消费
    SpringCloud Alibaba Nacos 服务发现 RestTemplate进行消费
    SpringCloud Alibaba Nacos 服务注册
    SpringCloud Alibaba Nacos 服务治理中心
    开发者-管理者 设计陷阱
    java8中的Stream API实战
  • 原文地址:https://www.cnblogs.com/2mei/p/9254014.html
Copyright © 2011-2022 走看看