python入门04 模块(自定义模块)

目录

模块

一、什么是模块?

二、如何创建模块

三、如何使用模块

出现错误!!

四、命名空间

① 什么是命名空间?

②、一般用途:

③ 导入命名空间

五、标准模块

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
>>> 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值