Python的模块与库(-白夜黑羽)

1. 模块的概念

作为一名合格的程序员,我们编写的代码不可能都放在一个Python文件中,有时候我们开发的项目比较复杂时,编写的代码可能要上万行,甚至更多,如果全部都放在一个文件里,显然是不合理的。
不同的文件中的代码含义不同,功能也不同,最后整个项目的运行都离不开它们,在Python中,一个文件就是一个模块(module)。

2. 模块的使用

如果我们要从1个模块里导入多个标识符,可以这样

	from aa import func1,var1,func2,var2
	如果我们要导入1个模块里面的很多个标识符,可以使用*代表所有可导入的标识符(包括变量名,函数名等)
	
	from aa import *
	如果我们需要从两个模块导入函数,恰好这两个函数是同名的,这是我们可以给其中一个起个别名,避免冲突,比如
	
	from save import savetofile
	from save2 import savetofile as savetofile2

3. 模块之间的调用

当我们的项目模块文件特别多的时候,我们还需要将这些模块文件根据功能划分到不同的目录中。
这些放模块文件的目录,Python中把他们称之为 包 (Package) 。
在 Python 3.3 以前的版本,包目录里面需要有一个名字为 init.py 的初始化文件,有了它,Python才认为这是一个Python包。
通常,这个初始化文件里面不需要什么代码,一个空文件就可以了。当然你也可以在里面加入代码,当这个包里面的模块被导入的时候,这些代码就会执行。Python 3.3 以后版本的解释器, 如果目录只是用来存放模块文件,就不需要一个空的 init.py 了。但是 init.py 可以作为包的初始化文件,里面放入一些初始化代码,有独特的作用

	import stock.food.beef
	stock.food.beef.stockleft()
	或者
	from stock.food.beef import stockleft
	stockleft()

4. 库的概念

如果你写的 模块文件 里面的函数, 实现了通用的功能,经常被其它模块所调用, 我们就可以把这些被调用的模块文件称之为 库
库是个抽象的概念,只要 某个模块 或者 一组模块 , 开发它们的目的 就是给 其它模块调用的,就可以称之为库。

5. 库的类型

这些标准库里面 有一部分叫做 内置类型 built-in types) 和 内置函数 (built-in functions) 。内置类型 和 内置函数 无须使用import导入,可以直接使用。
内置类型: int、float、str、list、tuple等
内置函数: print,type,len 等等

还有些标准库,需要使用import导入,才能使用。常见有 sys, os, time, datetime, json,random 等
比如,我们要得到字符串形式的当前日期和时间,可以使用datetime库

	import datetime

# 返回这样的格式 ‘20160423’

	datetime.date.today().strftime("%Y%m%d") 

# 返回这样的格式 ‘20160423 19:37:36’

	datetime.datetime.now().strftime("%Y%m%d %H:%M:%S")

# 在 数字 1 到 8 之间(包括1和8本身),随机取出一个数字

	from random import randint
	num = randint(1,8)
	print(num)
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值