IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 1-11Python入门之模块 -> 正文阅读

[Python知识库]1-11Python入门之模块

第1关:模块的定义

200

  • 任务要求
  • 参考答案
  • 评论60

任务描述

在 Python 程序的开发过程中,为了代码维护的方便,我们可以把函数进行分组,分别放到不同的.py文件里。这样,每个文件包含的代码就相对较少,这个.py文件就称之为一个模块(Module)。本关的目标是让学习者了解并掌握 Python 模块定义的相关知识。

相关知识

模块能够让我们有逻辑地组织 Python 代码段,模块中能够定义函数、类和变量,模块里也可以包含可执行的代码。

模块的引入

Python 中要用关键字import来引入某个模块。比如要引用模块math,就要在文件的开头用import math来引入。在调用math模块中的函数时,引用格式为:

 
  1. 模块名.函数名

因为这种调用方式可以避免特殊情况的发生。比如在多个模块中可能含有相同名称的函数,这时如果只是通过函数名来调用,程序无法知道是要调用哪个函数。所以如果用上述方法引入模块的时候,调用函数必须加上模块名。例如:

 
  1. import math
  2. print(fabs(-2))

输出结果:

 
  1. NameError: name 'fabs' is not defined

fabs()必须加上math前缀,例如:

 
  1. import math
  2. print(math.fabs(-2))

输出结果:

 
  1. 2

有些时候我们只需要用到模块中的某个函数,这时不需要导入整个模块,只需要导入该函数即可。语句格式如下:

 
  1. from 模块名 import 函数名1,函数名2....

通过这种方式导入函数的时候,调用函数时就只能给出函数名,而不能给出模块名。这种导入函数的方式会有一种缺陷,就是当两个模块中含有相同名称函数的时候,后面一次导入的函数会覆盖前一次导入的函数。

例如,假如模块A中有函数function(),模块B中也有函数function()。如果先导入模块A中的function(),后导入模块B中的function(),那么当我们在后面调用function()函数的时候,程序会去执行模块B中的function()函数。

如果想一次性引入模块math中所有的函数,可以通过如下方式导入:

 
  1. from math import *

自己定义模块

每个 Python 文件都可以看作一个模块,模块的名字就是 Python 文件的名字。所以我们完全可以自己写一个 Python 文件,作为自己定义的模块。例如,我们编写了my_module.py文件,里面定义了plus()函数:

 
  1. # my_module.py
  2. def plus(a,b):
  3. return a+b

之后我们就可以在其他 Python 文件中先引入my_module,然后通过my_module.plus(a,b)来调用my_module.py文件中的plus()函数。我们也可以直接通过from my_module import plus来导入plus()函数。

小结

使用模块可以大大提高代码的可维护性,而且也增加了代码的利用率。当一个模块编写完毕之后,在其他 Python 文件中导入该模块,模块中的函数就可以被其他 Python 文件使用了。

编程要求

本关的编程任务是补全src/step1/module.py文件的代码,实现相应的功能。具体要求如下:

  • 输入直角三角形的两个直角边的边长ab,要求计算出其斜边边长;
  • 要求使用math模块,并输出计算结果,结果保留小数点后三位小数。

本关涉及的代码文件src/step1/module.py的代码框架如下:

 
  1. import math
  2. # 输入正整数a和b
  3. a = int(input())
  4. b = int(input())
  5. # 请在此添加代码,输入直角三角形的两个直角边的边长a和b,计算出其斜边边长
  6. ########## Begin ##########
  7. ########## End ##########

测试说明

本关的测试文件是src/step1/module.py,测试过程如下:

  1. 平台自动编译生成module.exe
  2. 平台运行module.exe,并以标准输入方式提供测试输入;
  3. 平台获取module.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/step1/module.py的样例测试集:

测试输入:

 
  1. 3
  2. 4

预期输出:

 
  1. 5.000

测试输入:

 
  1. 1.5
  2. 3.9

预期输出:

 
  1. 4.179

测试输入:

 
  1. 9
  2. 12

预期输出:

 
  1. 15.000

测试输入:

 
  1. 3.71
  2. 4.26

预期输出:

 
  1. 5.649

开始你的任务吧,祝你成功!

如果你觉得这一关的内容对你有帮助,请你在下面点赞。

通关代码:

#?coding=utf-8

import?math

#?输入正整数a和b

a?=?float(input())

b?=?float(input())

#?请在此添加代码,输入直角三角形的两个直角边的边长a和b,计算出其斜边边长

##########?Begin?##########

print('%.3f'%math.sqrt(a**2+b**2))




?

##########?End?##########

第2关:内置模块中的内置函数

200

  • 任务要求
  • 参考答案
  • 评论60

任务描述

我们在安装好了 Python 配置文件后,也将 Python 本身带有的库也安装好了, Python 自带的库也叫做 Python 的内置模块。Python 的内置模块是 Python 编程的重要组织形式,内置模块中的内置函数也极大方便了编程过程中对函数等功能的使用。本关的目标是让学习者了解并掌握 Python 内置模块和内置函数的相关知识。

相关知识

内置模块

Python 中常见的内置模块如下:

  1. os模块:文件和目录,用于提供系统级别的操作;
  2. sys模块:用于提供对解释器相关的操作;
  3. json模块:处理JSON字符串;
  4. logging: 用于便捷记录日志且线程安全的模块;
  5. time&datetime模块:时间相关的操作,时间有三种表示方式;
  6. hashlib模块:用于加密相关操作,代替了md5模块,主要是提供SHA1SHA224SHA256SHA384SHA512MD5算法;
  7. random模块:提供随机数。

内置模块中的内置函数

Python 的内置模块中也有很多使用十分方便的内置函数。

dir()函数

dir()函数是一个排好序的字符串列表,其内容是一个模块里定义过的名字,包含在一个模块里定义的所有模块、变量和函数。例如:

 
  1. # 导入内置math模块
  2. import math
  3. # 调用math模块中的dir()函数
  4. content = dir(math)
  5. # 输出math模块中所有模块、函数和变量的名字
  6. print(content)

输出结果:

 
  1. ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs','factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin','sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']

程序输出了math模块中所有模块、函数和变量的名字。特殊字符串变量__name__是指向模块的名字,变量__file__是指向该模块的导入文件名。

globals()locals()函数

globals()locals()函数可被用来返回全局和局部命名空间里的名字。如果在函数内部调用的是globals()函数,那么返回的是所有在该函数里能够访问的全局名字。如果在函数内部调用的locals()函数,返回的是能够在该函数里访问的局部命名。globals()函数和locals()函数的返回类型都是字典,所以名字们能用keys()函数摘取。

reload()函数

当一个模块被导入到一个脚本中后,程序只会将模块顶层部分的代码执行一次。因此,如果我们想再次执行模块顶层部分的代码,可以用reload()函数。该函数便会重新将之前导入过的模块导入。格式如下:

 
  1. reload(module_name)

在这里,module_name要直接放模块名,而不能是一个字符串形式。例如,我们想重载hello模块:

 
  1. reload(hello)

小结

Python 中的内置模块和内置函数可以帮助程序员快速完成编程功能,使他们不必重复开发已存在的常用代码,因此极大的提高了办事效率和代码质量。Python 中的内置模块和内置函数的应用也十分广泛,希望学习者在接下来的学习生活中有更加深刻的体会。

编程要求

本关的编程任务是补全src/step2/built-module.py文件的代码,实现相应的功能。具体要求如下:

  • 输入两个正整数ab,要求判断是否存在两个整数,它们的和为a,积为b
  • 如果存在,则输出Yes,若不存在,则输出No

本关涉及的代码文件src/step2/built-module.py的代码框架如下:

 
  1. # coding=utf-8
  2. # 导入math模块
  3. import math
  4. # 输入两个整数a和b
  5. a = int(input())
  6. b = int(input())
  7. # 请在此添加代码,要求判断是否存在两个整数,它们的和为a,积为b
  8. ########## Begin ##########
  9. ########## End ##########

测试说明

本关的测试文件是src/step2/built-module.py,测试过程如下:

  1. 平台自动编译生成built-module.exe
  2. 平台运行built-module.exe,并以标准输入方式提供测试输入;
  3. 平台获取built-module.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/step2/built-module.py的样例测试集:

测试输入:

 
  1. 9
  2. 15

预期输出:

 
  1. No

测试输入:

 
  1. 9
  2. 20

预期输出:

 
  1. Yes

测试输入:

 
  1. 20
  2. 36

预期输出:

 
  1. Yes

测试输入:

 
  1. 18
  2. 40

预期输出:

 
  1. No

开始你的任务吧,祝你成功!

如果你觉得这一关的内容对你有帮助,请你在下面点赞。

通关代码:

#?coding=utf-8

#?导入math模块

import?math

#?输入两个整数a和b

a?=?int(input())

b?=?int(input())

#?请在此添加代码,要求判断是否存在两个整数,它们的和为a,积为b

##########?Begin?##########

c?=?max(a,b)

for?i?in?range(c):

????for?j?in?range(c):

????????if?i+j?==?a?and?i*j?==?b:

????????????d?=?'Yes'

????????????break

????????else:

????????????d?=?'No'

????if?d?==?'Yes':

????????break

print(d)???????????


?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:42:11  更:2021-09-09 11:44:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 13:36:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计