目录
模块
一、什么是模块?
二、如何创建模块
三、如何使用模块
出现错误!!
四、命名空间
① 什么是命名空间?
②、一般用途:
③ 导入命名空间
五、标准模块
time 模块
随机数 random 模块
模块
一、什么是模块?
模块(module)是包含在一个更大程序中类似的部分。
- 每个模块或部分都是硬盘上的一个单独的文件。可以把一个大程序分解为多个模块或文件。
- 或者反过来,从一个小的模块开始,逐渐增加其他部分来建立一个大程序。
模块存在的原因:
- 这样做文件会更小,就能更容易地查找代码。
- 一旦创建模块,这个模块就能在很多程序中使用
- 并不是所有模块都要使用。
二、如何创建模块
把温度转成华氏度
# this is the file "my_module.py"
# we are going to use it in anothoer program
def c_to_f(celsius):
fahrenheit = celsius * 9.0 / 5 +32
return fahrenheit
三、如何使用模块
使用模块:关键字 import
import my_module
import my_module #调用自定义函数
celsius = int(input("enter a temoerature in celsius:"))
fahrenheit = c_to_f(celsius)
print("that is ", fahrenheit, "degrees Fahrenheit")
出现错误!!
问题:自定义python模块没法调用里面函数被指示没有定义
答:
import my_module
celsius = int(input("enter a temoerature in celsius:"))
fahrenheit =my_module.c_to_f(celsius)
print("that is ", fahrenheit, "degrees Fahrenheit")
特别指出:c_to_f() 函数在 my_module 模块中,fahrenheit = my_module.c_to_f(celsius)
四、命名空间
① 什么是命名空间?
假设学校,Morton老师的班级有个Amy的同学,在Wheeler老师班级也有应该叫Amy的学生。
在Morton老师班级说“Amy have a schoolbag ”,班级其他人都会知道,指的是Morton老师班级的Amy,班级有一个Amy,班级其他同学知道说的是哪个,可以说Morton老师班级是命名空间,在这个命名空间里只有一个 Amy,
若校长必须通过学校广播系统把Amy叫到办公室,校长只会说:“Morton老师班级的Amy到办公室”,不然会造成2个Amy到办公室,造成混淆。;对于广播系统的校长来说,命名空间是整个学校,
对于校长来说,另外一种方法找Amy,直接走到Morton老师班级找,这里只有一个Amy听见,在这里命名空间就只是一个教室,而不是整个学校。
一般来讲,程序员把较小的命名空间(比如你的教室)称作局部命名空间,而较大的命名空间(如整个学校)称为全局命名空间。
②、一般用途:
从模块导入某些特性
③ 导入命名空间
假设John Young 学校没有一个名叫 Fred 的人。如果校长通过广播系统想找 Fred,肯定找不到这个人。现
在假设与John Young学校同在一条街上的另一个Stephen Leacock 学校正在进行部分校舍维修,Stephen Leacock学校把一个班级临时搬到John Young 学校的活动房里上课。在这个班里,恰好有一个学生名叫Fred。不过这个活动房还没有连上广播系统。如果校长找 Fred,肯定还是找不到。但是,如果她把这个新的活动房连入广播系统,然后再找Fred,就会找到 Stephen Leacock 学校的 Fred。
对于Python,导入一个模块 == 连接活动室 ,导入模块——可以访问模块的所有名字,即变量、函数及对象。
导入模块时,就导入了命名空间
五、标准模块
python提供大量标准库模块|(python标准库),可以用来完成很多工作,如查找文件,报时等等
time 模块
利用 time 模块,能够获取计算机时钟的信息,如日期和时间。还可以利用它为程序增加延迟。(有时计算机动作太快,你必须让它慢下来。)
time 模块中的 sleep() 函数可以用来增加一个延迟
import time
print("How")
time.sleep(2)
print("are")
time.sleep(2)
print("you")
time.sleep(2)
print("today?")
随机数 random 模块
random 模块用于生成随机数
随机整数( 1 ~ 100)
>>> import random
>>> print(random.randint(0,100))
13
>>> print(random.randint(0,100))
65
随机小数(0 ~ 1)
>>> print(random.random())
0.14797595411843478
>>> print(random.random())
0.07653567535890482
其他范围内的一个随机小数,比如说 0 到 10 之间
>>> print(random.random() * 10)
1.033931894326089
>>> print(random.random() * 10)
6.160149358041004
>>>