Python 模块1

模块,是一个python文件,以.py结束,包含了Python定义的对象和语句,模块中能定义函数,类和变量,也可以包括可以执行的语句,如print等。

任何Python的程序都可以作为模块导入。

模块的导入

import语句    在文件最开始的地方导入需要的模块 import module,moudle2........

调用时 模块名.函数名 则可以引用

当解释器遇到import语句时会先搜索路径,如果模块在当前搜索路径则会直接被导入,模块在导入的时候会执行其中的代码,但注意你无论导入多少次模块,其中的代码只会执行一次,这样可以避免模块一次一次的执行,因为模块并不是为了用来执行操作的比如打印其中的文本,模块是为了其中的定义、函数、变量、类等。只需要导入一次,就可以无限使用其中的方法。

from......import语句

from moudle import name,name1,name2....

导入模块的指定部分到当前的命名路径,也可以用来指定路径如:


from....import *语句

把一个模块的所有内容导入当前的命名空间

from moudle import *

这种方法简单的导入 模块中的所有内容,这种声明不提倡使用


搜索路径

让模块可用

1.将模块放在正确的位置

先要知道Python解释器去哪里查找模块,然后在将文件放在这里即可,可使用模块sys的变量path找到搜索路径的列表。

import sys
print(sys.path)
'''['C:\\Users\\zitian\\PycharmProjects\\Pr\\D3',当前路径
 'C:\\Users\\zitian\\PycharmProjects\\Pr',pycharm内置方法回到了上个路径
 'C:\\Users\\zitian\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip',以下为sys内置搜索路径
 'C:\\Users\\zitian\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs', 
 'C:\\Users\\zitian\\AppData\\Local\\Programs\\Python\\Python36-32\\lib',
 'C:\\Users\\zitian\\AppData\\Local\\Programs\\Python\\Python36-32',
 'C:\\Users\\zitian\\AppData\\Roaming\\Python\\Python36\\site-packages',]'''

每个路径代表一个位置,要让解释器找到位置,可以将模块放入其任何一个位置中,但目录

site-package是最佳的选择,因为它在python中本来就是用来防止模块的。把你的代码清单放入这里后,你在你的所有的程序中都可以去调用这个模块了

2.告诉解释器去哪找

将模块放入正确的位置可能并不适合所有的解决方案:

不希望解释器本身的package中充满你写的模块

没有必要的权限,无法将文件保存到解释器的目录中

想将模块放在其他的地方,而不是放在内置路径

如果想将模块放入其他的地方,必选告诉解释器去哪查找,办法之一就是直接修改sys.path,但这种做法不常见,标准做法是将模块的所在目录包含在坏境变量PYTHONPATH中。

环境变量

环境变量不是解释器的一部分,而是操作系统的一部分。他们类似于Python变量,但是是在Python解释器外设置的。

可以使用如下命令将~/python附加到环境变量PYTHONPATH末尾:

export PYTHONPATH=$PYTHONPATH:~/pyhon

如果要对所有启动的shell都执行这个命令,可将它添加到主目录中的.bashrc文件中。

包(package)

为组织模块,可将编组成包。包其实就是另一种模块,但它可以包含其他模块。模块储存在.py的文件中,而包则是一个目录。要python视为包,其中必须包括文件__init__文件。如果在普通模块中导入包,则会自动执__init__文件。


探索模块

模块中到底包含什么

1使用dir

它可以列出对象的所有属性

2变量__all__

导入所有不以下划线的名称

import copy
print(dir(copy))
print(copy.__all__)
print(copy.__file__)
print(help(copy))

标准库

sys

模块sys能够访问解释器紧密相关的函数和变量,

1: sys是python自带模块. 
利用 import 语句输入sys 模块。 
当执行import sys后, python在 sys.path 变量中所列目录中寻找 sys 模块文件。然后运行这个模块的主块中的语句进行初始化,然后就可以使用模块了 。

2: sys模块常见函数 
可以通过dir()方法查看模块中可用的方法. 结果如下, 很多我都没有用过, 所以只是简单介绍几个自己用过的方法.

$ python
Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', '_mercurial', '_multiarch', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值