zoukankan      html  css  js  c++  java
  • 模块导入

    举例:

    方法一:

    import modname

    导入一个模块,就可以引用它的任何公共的函数、类和属性。

    用import语句导入模块,就在当前的名称空间建立了一个到该模块的引用,这种引用必须使用全称,即当使用模块中定义的函数时,必须包含模块的名字,应该使用modname.funcname

    方法二:

    from  modname import funcname 

    from  modname import func1,func2

    或者from modname import *  

    导入一个函数,这个函数就被导入到本地名称空间,它可以直接使用。

    python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包。

    只要模块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用。 
      

    import一般有三种用法,以hashlib举例,其中模块hashlib有方法hash
    一。import hashlib 这种是最基本的用法,可以完整的导入制定模块,但引用的时候必须完全照搬,比如要调用hash方法必须写成 hashlib.hash()
    二。import hashlib as _hl 这种是第一种的进阶用法,基本跟第一种类似,区别只在于,可以按照自己的意愿给模块起别名,在这里调用的时候就可以写成 _hl.hash() 。从这里你就可以看出,使用as的目的一般是为了好记。
    三。import hashlib.hash as _hs 这种直接给指定模块的指定方法导入,而不导入整个模块,当同样调用hashlib的hash方法的时候就可以写成_hs()。

    在使用中要根据需要使用,在保证不命名冲突的前提下选择。

    关于命名空间与作用域的资料可以参考python命名空间与作用域 
    总之,一般情况只要不是特别情况不要使用全局变量。


    如果想使用非当前模块中的代码,需要使用Import。

    如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,

    比如在a.py和b.py在同一个目录,那么要在a.py中使用b.py: import b 

    但是如果要import一个不同目录的文件(例如b.py)该怎么做呢? 

    首先需要使用sys.path.append方法将b.py所在目录加入到搜素目录中。然后进行import即可,例如 
    import sys 
    sys.path.append('c:xxxx.py') # 这个例子针对 windows 用户来说的 
    大多数情况,上面的代码工作的很好。但是如果你没有发现上面代码有什么问题的话,可要注意了,上面的代码有时会找不到模块或者包(ImportError: No module named xxxxxx),这是因为: 
    sys模块是使用c语言编写的,因此字符串支持 ' ', ' ', ' '等来表示特殊字符。所以上面代码最好写成: 
    sys.path.append('c:\xxx\b.py') 
    或者sys.path.append('c:/xxxx/b.py') 
    这样可以避免因为错误的组成转义字符,而造成无效的搜索目录(sys.path)设置。 

  • 相关阅读:
    正交实验
    边界值
    等价类划分概述
    测试用例编写
    java基础复习(四)
    easyui datagrid 搜索功能
    一段代码把网站变成灰白色
    PHP 获取二维数组中某个key的集合
    如何使用Mobile_Detect来判断访问网站的设备:安卓,平板,电脑
    easyui validatebox 验证类型
  • 原文地址:https://www.cnblogs.com/Nick-M/p/4601570.html
Copyright © 2011-2022 走看看