1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 《Python零基础快乐学习之旅》学习笔记13——模块的设计与应用

《Python零基础快乐学习之旅》学习笔记13——模块的设计与应用

时间:2018-07-04 08:53:48

相关推荐

《Python零基础快乐学习之旅》学习笔记13——模块的设计与应用

文章目录

第13章 模块的设计与应用13.1 将自建的函数存储在模块中13.1.1 准备工作13.1.2 创建函数内容的模块13.2 应用函数模块13.2.1 import 语句13.2.2 from ... import 语句13.2.3 from ... import * 语句13.3 随机数random模块13.3.1 randint()13.3.2 choice()13.3.3 shuffle()13.3.4 sample()13.4 时间time模块13.4.1 time()13.4.2 sleep()13.4.3 asctime()13.4.4 localtime()13.5 日期calendar模块13.5.1 isleap()13.5.2 month()13.5.3 calendar()

第13章 模块的设计与应用

13.1 将自建的函数存储在模块中

一个大型程序通常是由许多的函数或类组成的,为了让程序的功能明确以及增强程序的可读性,我们可以将建立的函数或类存储成模块形式的独立文档,方便引用。

13.1.1 准备工作

假设有一个程序内容是制作冰淇淋与饮料的输出,如下所示。

def make_icecream(*toppings):# 列出制作冰淇淋的配料print("冰淇淋制作所需配料如下:")for topping in toppings:print("--- ", topping)def make_drink(size, drink, num):# 输入饮料规格(如小杯、中杯、大杯)与类型(如可乐、雪碧)print("需配送饮料:")print("%s %s x %d" % (drink, size, num))make_icecream('蓝莓酱')make_icecream('草莓酱', '巧克力')make_drink('大杯', '可乐', 2)

执行结果:

冰淇淋制作所需配料如下:--- 蓝莓酱冰淇淋制作所需配料如下:--- 草莓酱--- 巧克力需配送饮料:可乐 大杯 x 2

13.1.2 创建函数内容的模块

假设需要在其它程序中调用make_icecream()和make_drink(),此时可以将这两个函数创建成模块。模块的扩展名与Python程序文档一样,为.py。

将make_icecream()和make_drink()创建成一个模块,保存为makefood.py。

# makefood.pydef make_icecream(*toppings):# 列出制作冰淇淋的配料print("冰淇淋制作所需配料如下:")for topping in toppings:print("--- ", topping)def make_drink(size, drink, num):# 输入饮料规格(如小杯、中杯、大杯)与类型(如可乐、雪碧)print("需配送饮料:")print("%s %s x %d" % (drink, size, num))

13.2 应用函数模块

应用函数模块主要有以下几种方式:

导入模块 ==> import 语句导入模块内的函数 ==> from … import 语句导入模块内的所有函数 ==> from … import * 语句

13.2.1 import 语句

要导入创建的模块,只需在程序内执行import语句,语法如下:

import module# module为模块名称

程序中引用模块的函数语法为:模块名称.函数名

程序实例:导入模块makefood.py。

import makefood# 导入模块mdkefood.py# 引用makefood.py中的方法makefood.make_icecream('蓝莓酱')makefood.make_icecream('草莓酱', '巧克力')makefood.make_drink('大杯', '可乐', 2)

执行结果:

冰淇淋制作所需配料如下:--- 蓝莓酱冰淇淋制作所需配料如下:--- 草莓酱--- 巧克力需配送饮料:可乐 大杯 x 2

13.2.2 from … import 语句

如果只是想要导入模块中的部分指定的函数,则可以使用from语句,语法如下:

from 模块名称 import 函数名称 # 导入多个函数时,函数名之间用“,”隔开

程序实例:

from makefood import make_icecream, make_drink # 导入模块makefood.py中的函数make_icecream()和make_drink()# 引用已导入的函数,可省略模块名称make_icecream('草莓酱')make_icecream('草莓酱', '巧克力')make_drink('中杯', '雪碧', 1)

执行结果:

冰淇淋制作所需配料如下:--- 草莓酱冰淇淋制作所需配料如下:--- 草莓酱--- 巧克力需配送饮料:雪碧 中杯 x 1

13.2.3 from … import * 语句

如果想要导入模块内的所有函数,可使用如下声明:

from 模块名称 import *

程序实例:

from makefood import * # 导入模块makefood.py中的所有函数# 引用已导入的函数,可省略模块名称make_icecream('草莓酱')make_icecream('草莓酱', '巧克力')make_drink('中杯', '啤酒', 1)

执行结果:

冰淇淋制作所需配料如下:--- 草莓酱冰淇淋制作所需配料如下:--- 草莓酱--- 巧克力需配送饮料:啤酒 中杯 x 1

13.3 随机数random模块

所谓的随机数是指平均散布在某区间的数字。

13.3.1 randint()

randint()方法可以随机产生指定区间内的整数,它的语法如下:

randint(min, max) # 产生min与max之间的整数值

程序实例:

import random # 导入模块randommin, max = 1, 10answer = random.randint(min, max) # 随机产生min与max之间的整数while True:num = int(input("猜一个1 ~ 10之间的整数:"))if num == answer:print("恭喜答对啦~~")breakelif num < answer:print("再大一点")else:print("再小一点")

执行结果:

13.3.2 choice()

choice()方法可以在一个列表中随机返回一个元素。

程序实例:

import random # 导入模块randomprizes = ['一等奖', '二等奖', '三等奖', '特等奖', '安慰奖']print("本次开奖结果:",random.choice(prizes))

执行结果:

13.3.3 shuffle()

shuffle()方法可以将列表元素重新排列。

程序实例:

import random # 导入模块randomcards = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']for i in range(5):random.shuffle(cards) # 将顺序打乱重新排列print(cards)

执行结果:

13.3.4 sample()

sample()的语法如下:

sample(name_list, num)# 随机返回列表name_list中的num个元素

程序实例:

import random # 导入模块randomlotterys = random.sample(range(1,50), 7) # 7组号码specialNum = lotterys.pop() # 特别号print("本期大乐透号码:", end="")for lottery in sorted(lotterys):print(lottery, end=" ")print("\n特别号:%d" % specialNum)

执行结果:

本期大乐透号码:11 14 41 43 46 47特别号:2

13.4 时间time模块

13.4.1 time()

time()方法可以返回自1970年1月1日0时0分0秒以来的秒数(时间戳)。

程序实例:

import random # 导入模块randomimport time # 导入模块timemin, max = 1, 10answer = random.randint(min, max) # 随机产生min与max之间的整数startTime = int(time.time()) # 起始秒数,时间戳while True:num = int(input("猜一个1 ~ 10之间的整数:"))if num == answer:print("恭喜答对啦~~")endTime = int(time.time()) # 结束秒数print("共耗时:", endTime - startTime, "秒")breakelif num < answer:print("再大一点")else:print("再小一点")

执行结果:

13.4.2 sleep()

sleep()方法可以让工作暂停,参数单位为秒。

程序实例:

import time# 导入模块timefruits = ['apple', 'banana', 'orange', 'peach', 'pear']for fruit in fruits:print(fruit, "当前时间戳:", int(time.time()))time.sleep(1) # 暂停1s

执行结果:

apple 当前时间戳: 1612153005banana 当前时间戳: 1612153006orange 当前时间戳: 1612153007peach 当前时间戳: 1612153008pear 当前时间戳: 1612153009

13.4.3 asctime()

asctime()方法会以可阅读方式列出当前系统时间。

程序实例:

import time # 导入模块timeprint(time.asctime()) # 列出当前系统时间

执行结果:

Mon Feb 1 12:19:18

13.4.4 localtime()

localtime()方法可以返回当前时间的结构数据,所返回的结构可以用索引方式获得个别内容。

程序实例:

import time # 导入模块timelocalTime = time.localtime()print(localTime) # 列出当前系统时间print(type(localTime))print("年份:", localTime[0])print("月份:", localTime[1])print("天数:", localTime[2])# 这个月的第几天print("时:", localTime[3])print("分:", localTime[4])print("秒:", localTime[5])print("星期几:", localTime[6]) # 0代表星期一,以此类推print("第几天:", localTime[7])# 该年份的第几天print("夏令时间:", localTime[8]) # 1代表是夏令时间,0代表不是

执行结果:

13.5 日期calendar模块

13.5.1 isleap()

isleap()方法可以判断所给出的年份是否为闰年,是则返回True,否则返回False。

程序实例:

import calendarprint("是否为闰年:", calendar.isleap())print("是否为闰年:", calendar.isleap())

执行结果:

是否为闰年: True是否为闰年: False

13.5.2 month()

month()方法完整的参数为:month(year,month),可以列出指定年份月份的月历。

程序实例:

import calendarprint(calendar.month(, 1)) # 列出1月份的月历

执行结果:

13.5.3 calendar()

calendar()方法完整的参数为:calendar(year),可以列出指定年份的年历。

程序实例:

import calendarprint(calendar.calendar())# 列出的年历

执行结果:

参考文章链接:

/python3/python3-module.html

往期文章:

《Python零基础快乐学习之旅》学习笔记2——认识变量与基本数学运算《Python零基础快乐学习之旅》学习笔记3——Python的基本数据类型《Python零基础快乐学习之旅》学习笔记4——基本输入与输出《Python零基础快乐学习之旅》学习笔记5——程序的流程控制使用if语句《Python零基础快乐学习之旅》学习笔记6——列表(list)《Python零基础快乐学习之旅》学习笔记7——循环设计《Python零基础快乐学习之旅》学习笔记8——元组(tuple)《Python零基础快乐学习之旅》学习笔记9——字典(dict)《Python零基础快乐学习之旅》学习笔记10——集合(set)《Python零基础快乐学习之旅》学习笔记11——函数设计《Python零基础快乐学习之旅》学习笔记12——类-面向对象

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。