python开发调用基础:模块和包

一,包的调用

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3
 4 #调用 glance[1..4]\api\policy.py  路径
 5 # policy.py 内容
 6 # def one():
 7 #     print(‘this first!‘)
 8
 9 # 1.glance1里面什么都没有写,只有plicy这个模块写了个方法,导入了具体的模块
10 # from glance1.api import policy       导入绝体模块
11 # policy.one() #模块的方法
12
13 # 绝对路径的调用方式,注意init文件,目录下都需要写
14 # import glance2
15 # glance2.api.policy.one()   目录下的模块方法都能找到
16 # glance2\__init__.py        from glance2 import api
17 # glance2\api\__init__.py    from glance2.api import policy
18
19 # 相对路径的调用方式,注意init文件,与绝对路径相比就是.的用法
20 # import glance3
21 # glance3.api.policy.one()    #目录下的模块方法都能找到
22 # glance3\__init__.py        from . import api
23 # glance3\api\__init__.py    from . import policy
24
25 # 相对路径的调用不需要你去点点,直接就可以调用模块的方法,注意init文件,
26 # 用的是impor * 和 all的匹配使用
27 # import glance4
28 # glance4.policy.one()
29 # glance4\__init__.py        from .api import *
30 # glance4\api\__init__.py    __all__ = [‘policy‘]

二,模块的调用

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3
 4 #一个py文件就可以作为一个模块
 5 #模块的导入:直接导入文件的名字,不需要带着后缀
 6 #模块中的函数调用:模块名.函数名()
 7
 8 #模块导入的时候做了三件事:
 9 #首先 开辟了一个新的命名空间 my_moudle
10 #执行my_moudle内的代码
11 #将my_moudle里面的名字都和my_moudle绑定在一起
12
13 #模块在一个程序中只会被导入一次,不会被重复导入
14 #为了节约资源
15 #如何实现的?
16 #导入一个模块之后,会将模块存储在内存中
17 #当再次导入的时候,就到内存中去查看是否导入过这个模块,如果导入了就不继续导入
18
19 #导入的模块有自己的命名空间
20 #当你给一个模块起了别名的时候,就产生了一个命名空间,这个命名空间只和别名相关
21
22 # from ... import ... 这种形式是导入什么模块就用什么模块的方法
23 # import 模块  这个被import的模块把自己的全局导入进来
24
25 #参数问题,导入的模块,再被调用时候可以传参
26
27 #from 模块 import *
28 #首先会把模块当中所有不是‘_’开头的内容导入进来
29 #还可以通过__all__来控制可以导入的内容
30 #但是 以上两条只和 * 有关
31
32 # if __name__ == ‘main‘:函数名   调用和本身相对独立,调用者需要导入模块后调用函数名()执行,不会执行整个模块内容
33 # import * 和 __all__ = [‘模块名‘]   all限制了调用者可以使用哪些变量和方法
时间: 2024-08-01 10:45:52

python开发调用基础:模块和包的相关文章

在Python中调用C++模块

首先,这是自我转载:YellowTree | STbioinf的文章「在Python中调用C++模块」 在Python中成功实现了对原来C++代码模块的复用!这个好处多多,Python写得快,C++跑得快,那就是既快又快了!方法很简单,以至于我能够用一张截图记录下整个过程(点击图片看大图)! 其实,注意到,必须在原来的C++代码后面添加extern “C”来辅助(C则不需要,这也是与复用C代码时最大的不同点),不然Python在调用这个构建后的动态链接库时是找不到原来的方法或者函数的,说到底还都

python基础-------模块与包(四)

configparser模块与 subprcess 利用configparser模块配置一个类似于 windows.ini格式的文件可以包含一个或多个节(section),每个节可以有多个参数(键=值). 配置成这样一个文件 [DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLevel = 9ForwardX11 = yes [bitbucket.org]User = hg [topsecret.server.com]Por

python基础---模块与包

1.模块导入方法 常见的场景: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀,导入模块可以实现功能的重复利用 import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到python解释器的内置模块 a. import语句 python 内置了很多模块,比如os.sys.time等,也可以是自定义模块.模块包.C扩展等,使用import无

python基础----模块、包

一 模块                                                                                                   ㈠ 什么是模块? 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. ㈡ 为何要使用模块? 如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python test.p

用Python玩转数据:python的函数、模块和包

Python函数 函数可以看成类似于数学中的函数,完成一个特定功能的一段代码. -绝对值函数 abs() -类型函数 type() -四舍五入函数 round() Python中有很多内建函数,即不需要另外导入的函数. -cmp(), str() 和 type()适用于所有标准类型.以下是数值型内建函数和实用内建函数. >>> dir(_builtins_) 命令可以看到Python中的内建变量和内建函数. >>> help(abs) 命令用于查看abs函数的帮助信息.

python学习笔记(模块、包、标准库)

模块 前面有简单介绍如何使用import从外部模块获取函数并且为自己的程序所用: >>> import math>>> math.sin(0)0.0>>> 模块是程序 任何python程序都可以作为模块导入.假设写如下程序,并且将它保存为以F:\python\myDemo\hello.py print 'hello,world' 下面通过python解释器调用: >>> import sys>>> sys.path.

Python之异常处理、模块与包

MarkdownPad Document 错误与异常处理 程序中错误分成两种 语法错误:过不了Python解释器 逻辑错误 异常处理 什么是异常处理 Python解释器检测到错误,触发异常,在发生异常时捕捉异常,如果捕捉成功则进入另外一个处理分支,是程序不会崩溃,这就是异常处理 异常处理机制就是来增强程序的健壮性与容错性 常用异常 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportEr

python之路---25 模块和包

一.模块 1.导入方式 自己创建的模块名称 切不可和 内置模块的一样 ①  import  模块 ②  import 模块 as  名      设置在此空间的名称 ③  from 模块 import  功能 ④  from  模块  import  *          引入所有的功能 __all__=[a,b,c]       调用时只调用[  ]中的功能 ⑤ 一次引入多个模块的顺序 2.导入模块的过程 3.if __name__ == '__main__': 测试模块时使用的语句块 调用此

python基础-------模块与包(三)

re模块正则表达式 正则表达式常用符号: [ re模块使用方法]: match(string[, pos[, endpos]]) | re.match(pattern, string[, flags]): 这个方法将从string的pos下标处起尝试匹配pattern:如果pattern结束时仍可匹配,则返回一个Match对象:如果匹配过程中pattern无法匹配,或者匹配未结束就已到达endpos,则返回None. pos和endpos的默认值分别为0和len(string):re.match