python 模块

什么是模块

模块是一个事先定义好的函数和变量的文件,模块的后缀名是.py

模块是可以被别的程序引用,使用该函数的函数等功能

例如support.py

def print_func( par ):
   print "Hello : ", par
   return

如何使用模块

  • import语句

通过使用import语句来引用模块

当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。

调用模块中的函数时,格式为 模块名.函数名

  • from……import语句

在这里插入图片描述

搜索路径

当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

1.当前目录

2.如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。

3.如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。

模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

print(sys.path) #输出模块路径

sys.path.append(‘D:\python\test’)

标准模块

  • python本身带着一些标准的模块库
  • sys 用于提供对Python解释器相关的操作
  • os 用于提供系统级别的操作,关机,删文件,创建文件,调用系统命令
  • time 时间相关的操作
  • hashlib 用于加密相关的操作
  • random 用于随机数
  • re 用于正则表达式
  • json 用于【字符串】和【Python基本数据类型】间进行转换

包的本质就是一个文件目录

目录只有一个包含叫做_init_.py的文件才会被认作是一个包

目录中存放了一个或多个.py模块

再导入一个包的时候,Python会根据sys.path中的目录来寻找这个包和包中含有的子目录

如果包定义文件_init_.py存在一个叫做_all_的列表变量,那么在使用from package import *的时候就把这个列表中的所有名字作为包内容导入

如_all_ = [“模块名1”,“模块名2”,“模块名3”]

dir()函数

dir() 函数一个排好序的字符串列表,内容是一个模块里定义过的名字。

返回的列表容纳了在一个模块里定义的所有模块,变量和函数。如下一个简单的实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 导入内置math模块
import math
 
content = dir(math)
 
print content;

以上实例输出结果:

['__doc__', '__file__', '__name__', 'acos', 'asin', 'atan', 
'atan2', 'ceil', 'cos', 'cosh', 'degrees', 'e', 'exp', 
'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp', 'log',
'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 
'sqrt', 'tan', 'tanh']

在这里,特殊字符串变量__name__指向模块的名字,__file__指向该模块的导入文件名。

globals() 和 locals() 函数

根据调用地方的不同,globals() 和 locals() 函数可被用来返回全局和局部命名空间里的名字。

如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。

如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。

两个函数的返回类型都是字典。所以名字们能用 keys() 函数摘取。

reload() 函数

当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次。

因此,如果你想重新执行模块里顶层部分的代码,可以用 reload() 函数。该函数会重新导入之前导入过的模块。语法如下:

reload(module_name)

在这里,module_name要直接放模块的名字,而不是一个字符串形式。比如想重载 hello 模块,如下:

reload(hello)

安装第三方模块

pip命令安装第三方模块

安装

pip install 模块名

卸载

pip uninstall 模块名

查看所有安装

pip list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值