美文网首页
计算和控制流:引用扩展模块

计算和控制流:引用扩展模块

作者: 无尽的结 | 来源:发表于2019-01-10 16:27 被阅读0次

一、调用模块化的工具

1.模块就是程序

每个扩展名为.py的python程序都是一个独立的模块(module),模块能定义函数、类和变量,让你能够有逻辑地组织python代码段。

1.1组织模块

包(package)是放在一个文件夹里的模块集合。

1.3模块引用方式

当一个源文件调用另外一个源文件中的函数、类和变量的时候,就需要在这里面用import这个语句基本语法如下图:

import<模块名称> [as <别名>] #方法一
#将模块中的函数等名称导入当前程序,在调用模块中的函数的时候,需要加上模块的命名空间,可以给导入的命名空间替换一个新的名字
from <模块> import <函数> #方法二
#有时候并不需要用在模块当中的所有命名、类,只需要用到这个模块当中的几个函数,而又不想用这个模块点函数这种形式就可以用from <模块> import<一个函数名称>,引入某个模块中的函数,调用时不需要再加上命名空间

二、python语言的标准库

在安装python时就默认已经安装好的模块,Python具有功能强大的标准库。

2.1数字和数学模块
numbers:数字抽象基类
math:数学函数
cmath:复数的数学函数
decimal:十进制定点和浮点算术
fractions:有理数
random:生成伪随机数
statistics:数学统计功能
2.2数据类型模块
datetime:基本日期和时间类型
calendar:与日历相关的一般功能
collections:容器数据类型
heapq:堆队列算法
bisect:数组二分算法
array:高效的数值数组
weakref:弱引用
types:动态类型创建和内置类型的名称
copy:浅层和深层复制操作
pprint:格式化输出
reprlib:备用repr()实现
2.3功能编程模块
itertools:为高效循环传创建代器的函数
functools:可调用对象的高阶函数和操作
operator:标准运算符作为函数
2.4数据持久化
pickle:python对象序列化
copyreg:注册pickle支持功能
shelve:python对象持久化
marshal:内部python对象系列化
dbm:与unix"数据库"的接口
sqlite3:SQLite数据库的DB-API 2.0接口
2.5数据压缩和存档
zlib:与gzip兼容的压缩
gzip/bz2:支持gzip/bzip2文件
lzma:使用LZMA算法进行压缩
zipfile:使用ZIP存档
tarfile:读取和写入tar归档文件
2.6文件格式
csv:CSV文件读写
configparser:配置文件解析器
netrc:netrc文件处理
xdrlib:对XDR数据进行编码和解码
plistlib:生成并解析mac os x.plist文件
2.7文件和目录访问
pathlib:面向对象的文件系统路径
os.path:常见的路径名操作
fileinput:迭代多个输入流中的行
stat:解释stat()结果
filecmp:文件和目录比较
glob:unix样式路径名模式扩展
fnmatch:unix文件名模式匹配
linecache:随机访问文本行
shutil:高级文件操作
macpath:mac os 9路径操作函数
2.8通用操作系统服务
os:其他操作系统接口
io:用于处理流的核心工具
time:时间访问和转换
argparse:用于命令行选项,参数和子命令的解析器
getopt:用于命令行选项的c风格解析器
logging:python的日志记录工具
getpass:便携式密码输入
curses:字符单元格显示的终端处理
platform:访问底层平台的标识数据
errno:标准errno系
ctypes:python的外部函数库
2.9并发执行
threading:基于线程的并行性
multiprocessing:基于进程的并行性
concurent.futures:启动并行任务
subprocess:子流程管理
sched:件调度程序
queue:同步的队列表
_thread:低级线程API
2.9.1加密服务
hashlib:安全哈希和消息摘要算法接口
hmac:用于消息身份验证的密钥哈希算法
secrets:生成用于管理机密的安全随机数
2.9.2网络和进程间通信
asyncio:异步i/o
socket:低级网络接口
ssl:套接字对象的TLS/SSL包装器
select:等待I/O复用
asyncore:异步套接字处理程序
asynchat:异步套接字命令/响应处理程序
2.9.3互联网数据处理
email:电子邮件和MIME处理包
json:JSON编码器和解码器
mailcap:Mailcap文件处理
mailbox:以各种格式处理邮件
mametypes:将文件名映射到MIME类型
base64:Base16/Base32/Base64/Base85数据编码
binhex:对binhex4文件进行编码和解码
binascii:在二进制和ASCII之间转换
quopri:对MIME引用的可打印数据进行编码和解码
uu:对uuencode文件进行编码和解码
2.9.4互联网协议和支持
webbrowser:web浏览器控制器
cgi:通用网关接口支持
cgitb:CGI脚本的回溯管理器
wsgiref:WSGI实用程序和参考实现
urllib:URL处理模块
http:HTTP模块
ftplib/poplib/imaplib/nntplib/smtplib:FTP/POP3/IMAP4/NNTP/SMTP协议客户端
smtpd:SMTP服务器
telnetlib:Telnet客户端
socketserver:网络服务器的框架
xmlrpc:XMLRPC服务器和客户端模块
ipaddress:IPv4/IPv6操作库
2.9.5多媒体服务
audioop:处理原始音频数据
aifc:读写AIFF和AIFC文件
sunau:读取和写入sun AU文件
wave:读写WAV文件
chunk:读取IFF分块数据
colorsys:颜色系统之间的转换
imghdr:确定图像的类型
sndhdr:确定声音文件的类型
ossaudiodev:访问兼容oss的音频设备
2.9.6结构化标记语言处理工具
html:超文本标记语言支持
xml:XML处理模块
2.9.7程序框架
turtle:海龟做图库
cmd:支持面向行的命令解释器
shlex:简单的词法分析
2.9.8图形用户界面
tkinter:Tcl/Tk的python接口
2.9.9扩展命名空间

命名空间(namespace)表示标识符(identifier)的可见范围,一个标识符可以在多个命名空间中定义,在不同命令空间中的含义互不相干,比如定义一个e在math里面有一个e在cmath里面也有一个e那么在不同的命名空间这两个e所指向的数据对象是不一样的。当一个名字它所对应的数据对象包含什么内容以及怎么使用,python语言中内置了两个函数一个是dir一个是help语法如下图:

dir(<名称>)函数:列出名称的属性
help(<名称>)函数:显示参考手册
#dir和help都以一个名字作为一个参数,比如说dir(名称)就可以列出这个名字名称的所附带的各种各样的属性,比如说这个数据对象它包含了那些方法那些属性那些类都在里面,help(名称)则可以 显示出这个名称的完整手册

如任使用dir和help两个函数举个实例如下图:

>>> import time #引用time这个模块
>>> dir(time) #dir(time)就可以知道这个模块当中有那些属性,那些方法,那些函数可以调用
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname']
>>> time.tzname #调用一个tzname函数返回一个时区
('Öйú±ê׼ʱ¼ä', 'ÖйúÏÄÁîʱ')
>>> help(time.time) #help(time.time)返回一个说明文档说time.time是一个内置函数,然后它会返回一个浮点数,这个浮点数代表着从1970年的1月1号开始纪元时间的描述
Help on built-in function time in module time:

time(...)
    time() -> floating point number
    
    Return the current time in seconds since the Epoch.
    Fractions of a second may be present if the system clock provides them.

>>> print(time.time()) #打印输出这个time.time返回一个浮点数
1547107950.3195097
>>> 

相关文章

  • 计算和控制流:引用扩展模块

    一、调用模块化的工具 1.模块就是程序 每个扩展名为.py的python程序都是一个独立的模块(module),模...

  • 【计算和控制流】31、引用扩展模块

    目录一、调用模块化的工具二、Python语言标准库三、扩展命名空间 一、调用模块化的工具 模块就是程序每个扩展名为...

  • 计算和控制流

    一、自动计算过程 1.计算机硬件五大部件 1.1运算器:进行算术和逻辑运算1.2控制器:控制计算机持续协调运行1....

  • 9、计算和控制流

    目录一、计算与流程二、运算语句三、控制流语句四、定义语句 一、计算与流程 计算是对现实世界处理和过程的抽象。各种类...

  • 07-2 引用

    二、引用(控制扩展) 现在我们已经知道,shell 有多种方式可以进行扩展,现在我们来学习如何控制扩展。 第1个例...

  • PHP 常用扩展模块

    php 扩展主要分为两类: php模块扩展和zend模块扩展。 php模块扩展 bz2 用于透明地读写 bzip...

  • PHP Xcache缓存加速模块

    Linux系统环境 一、配置Xcache扩展模块生效注意事项:xcache扩展模块和eAccelerator扩展模...

  • 工作流中容器化的依赖注入!Activiti集成CDI实现工作流的

    Activiti工作流集成CDI简介 activiti-cdi模块提供activiti的可配置型和cdi扩展 ac...

  • 音视频开发——直播推流&拉流技术

    一、推流架构 推流SDK客户端的模块主要有三个,推流采集端、队列控制模块、推流端。其中每个模块的主要流程如下,本文...

  • 直播推流技术指南

    一、推流架构 推流SDK客户端的模块主要有三个,推流采集端、队列控制模块、推流端。其中每个模块的主要流程如下,本文...

网友评论

      本文标题:计算和控制流:引用扩展模块

      本文链接:https://www.haomeiwen.com/subject/swjorqtx.html