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

  • 相关阅读:
    洛谷 P1316丢瓶盖
    喵哈哈村的魔法考试 (1)
    英语 词根 词缀 查询网址
    洛谷 保龄球
    find函数
    图书管理员
    最大公约数和最小公倍数问题
    openjudge 错误探测
    函数 记忆化搜索模型
    JSon_零基础_002_将List类型数组转换为JSon格式的对象字符串,返回给界面
  • 原文地址:https://www.cnblogs.com/huchong/p/7365803.html
Copyright © 2011-2022 走看看