1、什么是模块:模块就是某个东西的一部分,在python 中,模块是包含在一个更大程序中类似的部分。每个模块或部分都是硬盘上一个单独的文件。一个程序可分解为多个模块,多个模块可组成为一个程序。可理解为堆积木。
2、为什么使用模块:
2.1 这样做文件会更小,因而就能更容易地查找代码。
2.2 一旦创建模块,这个模块就能在很多程序中使用。这样下一次需要相同的功能时就不必再从头开始了。
2.3 并不是所有的模块都要使用。模块化意味着你可以使用各部分的不通组合来完成不同的任务,就像利用同样的一组乐高积木可以搭建不同的东西。
3、积木桶:会把类似的函数收集在一个模块中。或者把一个项目需要的所有函数收集在一个模块中,就像你会把搭建城堡需要的积木放在一个木桶当中。
4、如何创建模块:模块就是一个python 文件
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
def c_to_f(celsius): fahrenheit = celsius * 9.0 / 5 + 32 return fahrenheit
5、如何使用模块 :
5.1 要使用模块中某个函数,就必须告诉python我们想要使用哪些模块。在程序中包含其他模块的python 关键字为 import
5.2 使用模块,需保存在同一目录中,或者调用的模块放在环境变量site-packages 中;
5.3 在python中指定在其他模块中定义的函数时必须更加具体。
6、命名空间
6.1 from import 从模块中导入某些特性
6.2 导入命名空间(模块)的两种方法 fahrenheit = my_muduel.c_to_f(celsius) 指定了命名空间:(my_muduel )以及函数名(c_to_f)
from stephenLeacock import *
7、标准模块
7.1 time模块 time模块中sleep()函数可以增加一个延迟
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import time print ("how") time.sleep(2) print("are ") time.sleep(2) print("you") time.sleep(2) print("today?") # 注意:调用sleep()函数时,必须在前面加上time. 这是因为,尽管我们已经用improt导入了time, # 但是并没有让成为主程序的命名空间的一部分。所以每次使用sleep()函数时,都必须要使用time.sleep()
7.2 调用sleep()函数时,必须在前面加上time. 这是因为,尽管我们已经用improt导入了time,
但是并没有让成为主程序的命名空间的一部分。所以每次使用sleep()函数时,都必须要使用time.sleep()
7.3 另外一种方法:“在time模块中寻找名为sleep的变量”(或者函数或对象),把它包含到我的命名空间中。” 就可以直接使用sleep()函数,而不需要再在前面加上time.
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
from time import sleep print("hello , talk to you again in 5 seconds....") sleep(5) print("hi again ")
7.4 如果想要得到这种将名字导入局部命名空间的方便(无需每次都指定模块名),但是又不知道需要模块中的哪些名字,可以用 from time import * 把所有名字导入命名空间
但是需要注意,我们在创建名字时会与time模块中的一个名字会冲突。建议导入自己最需要的部分。
7.5 随机数
7.5.1 random模块用于生成随机数。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# random 生成随机数 import random print(random.randint(0,100)) # 产生随机整数 print(random.randint(0,100)) print(random.random()) # 产生一个0至1之间的随机小数 print(random.random()) print(random.random()*10) # 产生一个1-10的随机数 print(random.random()*10)
8、课后习题 P-182 (动手试一试)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# 习题2 from my_model import c_to_f f =c_to_f(37) print("目前的华氏温度为:",f) # 习题3 编写一个小程序,生成1至20之间的5个随机整数的列表,并打印出来 import random a=[] for i in range (5): a.append(random.randint(1,20)) b = a[:] b.sort() print("5个随机数的列表为:",b) # 习题4 编写一个程序,要求他工作30秒,每3秒打印一个随机小数 import random,time count = 0 for i in range(30,0,-3): print(random.random()) time.sleep(3) count =count +1