zoukankan      html  css  js  c++  java
  • python——模块和包 需要注意的地方

    一 模块

    1.import

    import module:
      将执行文件(module)的目录路径插入到sys.path的第一个位置

    执行时:

      1.创建新的名称空间
      2.执行被调用的模块
      第二次调用,不会再执行该模块,只是完成一次引用

    (import语句是可以在程序中的任意位置使用的,且针对同一个模块很import多次,为了防止你重复导入,python的优化手段是:第一次导入后就将模块名加载到内存了,后续的import语句仅是对已经加载大内存中的模块对象增加了一次引用,不会重新执行模块内的语句)

    2

    为模块名起别名,相当于m1=1;m2=m1 

    1 import my_module as sm
    2 print(sm.money)

    示范用法一:

    有两中sql模块mysql和oracle,根据用户的输入,选择不同的sql功能

    示例方法

    示范用法二: 

    为已经导入的模块起别名的方式对编写可扩展的代码很有用,假设有两个模块xmlreader.py和csvreader.py,它们都定义了函数read_data(filename):用来从文件中读取一些数据,但采用不同的输入格式。可以编写代码来选择性地挑选读取模块,例如

    示例方法二

    3.from ... import...


    from 模块 import 变量名


    from modname import name1[, name2[, ... nameN]]


    import 模块名 【同一目录下可以直接import】 要调用模块内的变量,需要 模块名.变量名 函数调用: 模块名.函数名()

    from 模块名 import 变量名1 (或函数名) 只导入了模块名下的变量名1

    from 模块名 import * 可以直接引起 模块名下的所有变量名(包括函数名)

    用*导入要注意,在使用模块内的变量名时,可能会与执行文件中的变量名(或函数名)相同,发生覆盖,
      1.若先定义了本函数中的变量名,后导入模块,执行相同变量名时,引用的是模块内变量名的意义
      2.若先导入了模块,后定义了变量名,则引用的是后定义时的意义 (类似定义变量)

    二 包(package)
    组织模块的方式:包
    在python中,包可以理解成一个文件夹,但是每一个文件夹里必须要有一个__init__文件
    2.1 from 包 import 模块
    2.2 同级目录下的被调用模块之间的相互调用
    2.3 if __name__=='__main__':


    2.4 from 包.包 import 模块
    from 包.包.模块 import 变量名字
    2.5 __init__文件的作用
    from 包 import 模块
    【重要】执行文件时,会将文件所在目录路径,插入到sys.path的第一个位置,此时执行文件中 from 包 import 模块名,
    from 会从执行文件所在目录下面,也就是执行文件同级目录中找包(如果)
    1.文件和包在同一目录下,

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

  • 相关阅读:
    一些业内有名的网站收集
    WCF重载
    FCKEditor fckconfig.js配置,添加字体和大小 附:中文字体乱码问题解决
    查询第几条到第几条的数据的SQL语句
    SPOJ 9939 Eliminate the Conflict
    UVA 10534 Wavio Sequence
    HDU 3474 Necklace
    POJ 2823 Sliding Window
    UVA 437 The Tower of Babylon
    UVA 825 Walking on the Safe Side
  • 原文地址:https://www.cnblogs.com/huchong/p/7365803.html
Copyright © 2011-2022 走看看