python -模块与包


********************************模块与包*****************************

一、模块

在 Python 中,一个.py文件就称之为一个模块(Module)。

•大大提高了代码的可维护性;
•编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用;

分类:

1).内置模块
2).第三方模块
(非官方的比较好的开源模块,网址:pypi.python.org,安装时为pip install 模块名)
3).自定义模块


  1. 创建模块
    编写python脚本

2.导入模块
1).import 脚本名称


python -模块与包

python -模块与包


注意:在同一目录下
     模块命名尽量短小,采用全部小写的方式,可以使用下划线


2).import as


python -模块与包


3).from import

In [18]: from __future__ import division  注:__future__模块的作用:在就版本中体验新版本的特性


python -模块与包


优点:

1).提高了代码的可维护性

2).编写代码不必从零开始,当一个模块编写完毕,就可以被其他地方引用


3. 模块的作用域

模块中正常的函数和变量名是功用的,在python中,当有些函数和变量不希望被别人使用时,通过 _ 前缀来实现,比如__author__ , __name__就是特殊变量的,__func__,__fun为私有函数,不能直接引用

二. 常用模块

1.os模块

In [21]: import os

In [23]: os.name   #当前所在平台
Out[23]: 'posix'

In [24]: os.getcwd()   获取当前所在绝对路径
Out[24]: '/root/code6'


2. sys模块

sys 模块主要提供了系统相关的配置和操作,封装了探测、改变解释器runtime 以及资源的交互

sys.version           #得到解释器的版本信息

sys.platform         #得到当前运行平台

sys.argv               #获取传递给脚本的参数,参数解析类似于 bash 的方式,第一个参数代表脚本本身


sys.path              #Python在指定的路径下搜索模块与包对应的路径
sys.path.append()     #添加搜索模块与包的路径


sys.path.remove()    #指定删除搜索模块与包的路径

sys.path.insert()       #指定位置添加索模块与包的路径



python -模块与包


3. random模块

random.randint()            #随机产生指定范围的字符

random.random()            #随机产生0到1之间的小数

random.uniform()           #随机产生指定范围的小数

random.randrange()         #随机产生指定范围字符

random.choice()            #随机在给定范围产生一个

random.sample()            #随机在给定范围产生多个

random.shuffle()           #随机打乱

python -模块与包

4. time模块

time.time()                 #时间戳

time.localtime()         #将时间戳转化为元组格式时间

time.ctime()               #时间戳转化为字符串格式显示


time.strftime()        #将元组格式时间转化为字符串显示

time.strptime()       #将字符串显示转化为元组格式时间

In [63]: time.strftime('%H:%M:%S')
Out[63]: '07:18:35'

time.mktime(t)      #将元组格式时间转化为时间戳,但元组长度必须为9

time.sleep()           #等待时长


python -模块与包

三、包

1. 创建包

1).创建一目录为包名

2).在该目录下创建__init__.py文件存放包的信息,该文件可以为空

注:包命名时尽量短小,使用全部小写的方式,不可以使用下划线

python -模块与包


python -模块与包



 本文转自 huanzi2017 51CTO博客,原文链接:http://blog.51cto.com/13362895/2062610