python自己的模块教程_『python模块教程』python如何使用一个自己定义好的模块中的类?...

python如何使用一个自己定义好的模块中的类?

Chain.py块(Module),

在代码义的Class Chain是在模块里定义的类

一种方法是from Chain import Chain

还种方法是用 a = Chain.Chain()

相当于块里索引出这个类

两种方法都可以。

python 模块文件放在哪儿

Python27\Lib\site-packages

source1是《python基础教程》上的一个例子,关于shelve模块的,求大侠解释下.

Python中有提到这一点(详见shelve模块文档)

Because of Python semantics, a shelf cannot know when a mutable persistent-dictionary entry is modified. By default modified objects are written only when assigned to the shelf.

大致意思如下:

一个shelf(对象)无法知道什么其中一个可变的项被修改了。默认情况下,一个被修改过的对象只有重新赋给shelf对象,这些更改才会生效。

Python文档中也给出了两种解决方案:

第一种:

把修改过的对象赋给shelve对象:s['x'] = s['x'].append('d')

或者,更清晰的形式:temp = s['x'] # 得到s['x']的拷贝,即一个mutable的列表对象

temp.append('d') # 在这个列表对象上进行append操作

s['x'] = temp # 重新写回去

第二种:s = shelve.open('temp.dat', writeback = True) # 指定writeback为True,默认为False

s['x'] = ['a', 'b', 'c']

s['x'].append('d')

s.close()

这样,你要访问的entry就会cached in memory,并在你调用sync或close方法的时候写入文件。

python中的模块,库,包有什么区别

1.python模:

python模块:包含并且有组织的代码片段为模块。

表现为:写的代码保存为。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。

关系图:

2.python包是:

包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。

通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。

常见问题:

引入某一特定路径下的模块

使用sys.path.append(yourmodulepath)

将一个路径加入到python系统路径下,避免每次通过代码指定路径

利用系统环境变量 export PYTHONPATH=$PYTHONPATH:yourmodulepath,

直接将这个路径链接到类似/Library/Python/2.7/site-packages目录下

好的建议:

经常使用if __name__ == '__main__',保证写包既可以import又可以独立运行,用于test。

多次import不会多次执行模块,只会执行一次。可以使用reload来强制运行模块,但不提倡。

常见的包结构如下:

package_a

├── __init__.py

├── module_a1.py

└── module_a2.py

package_b

├── __init__.py

├── module_b1.py

└── module_b2.py

main.py

如果main.py想要引用packagea中的模块modulea1,可以使用:

from package_a import module_a1

import package_a.module_a1

如果packagea中的modulea1需要引用packageb,那么默认情况下,python是找不到packageb。我们可以使用sys.path.append('../'),可以在packagea中的__init__.py添加这句话,然后该包下得所有module都添加* import __init_即可。

关系图:

3.库(library)

库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。

版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值