侧边栏壁纸
博主头像
LittleAO的学习小站 博主等级

在知识的沙漠寻找绿洲

  • 累计撰写 125 篇文章
  • 累计创建 27 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Python的模块简单介绍

LittleAO
2023-04-10 / 0 评论 / 0 点赞 / 10 阅读 / 0 字
温馨提示:
本文最后更新于2023-11-13,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

资料来源于Github项目**30-Days-Of-Python,本文为第十二章翻译。**

模块

什么是模块

模块是包含一组代码或一组函数的文件,可以包含到应用程序中。模块可以是包含单个变量、函数或大型代码库的文件。

创建模块

为了创建一个模块,我们可以编写Python脚本代码,并将其保存为.py文件。在项目文件夹内创建一个名为mymodule.py的文件,并在其中编写一些代码。

# mymodule.py 文件
def generate_full_name(firstname, lastname):
    return firstname + ' ' + lastname

在你的项目目录中创建一个main.py文件,并导入mymodule.py文件。

导入模块

我们可以使用import关键字和文件名来导入模块。

# main.py 文件
import mymodule
print(mymodule.generate_full_name('Asabeneh', 'Yetayeh')) # Asabeneh Yetayeh

从模块中导入函数

我们可以在一个文件中拥有许多函数,并且可以单独导入所有这些函数。

# main.py 文件
from mymodule import generate_full_name, sum_two_nums, person, gravity
print(generate_full_name('Asabneh','Yetayeh'))
print(sum_two_nums(1,9))
mass = 100;
weight = mass * gravity
print(weight)
print(person['firstname'])

从模块中导入函数并重命名

在导入模块时,我们可以重命名模块的名称。

# main.py 文件
from mymodule import generate_full_name as fullname, sum_two_nums as total, person as p, gravity as g
print(fullname('Asabneh','Yetayeh'))
print(total(1, 9))
mass = 100;
weight = mass * g
print(weight)
print(p)
print(p['firstname'])

导入内置模块

和其他编程语言一样,我们也可以使用import关键字来导入文件/函数。让我们导入我们将在大多数情况下使用的常见模块。一些常见的内置模块有:mathdatetimeossysrandomstatisticscollectionsjsonre

OS模块

使用Python的os模块,可以自动执行许多操作系统任务。Python的os模块提供了许多函数,用于创建、更改当前工作目录和删除目录(文件夹),获取其内容,更改和标识当前目录。

# 导入模块
import os
# 创建目录
os.mkdir('directory_name')
# 更改当前目录
os.chdir('path')
# 获取当前工作目录
os.getcwd()
# 删除目录
os.rmdir()

sys模块

sys模块提供了用于操纵Python运行时环境不同部分的函数和变量。函数sys.argv返回一个列表,其中包含传递给Python脚本的命令行参数。该列表中索引0的项始终是脚本的名称,索引1是从命令行传递的参数。

script.py文件的示例代码:

import sys
#print(sys.argv[0], argv[1],sys.argv[2])  # this line would print out: filename argument1 argument2
print('Welcome {}. Enjoy  {} challenge!'.format(sys.argv[1], sys.argv[2]))

现在,为了检查这个脚本如何工作,我在命令行中编写了以下内容:

python script.py Asabeneh 30DaysOfPython

结果:

Welcome Asabeneh. Enjoy  30DayOfPython challenge!

一些有用的sys命令:

# 退出sys
sys.exit()
# 获取Python中int型变量能取的最大值
sys.maxsize
# 获取环境路径
sys.path
# 获取当前Python版本号
sys.version

statistics模块

statistics模块提供了对数值数据进行数学统计的函数。该模块中定义的流行统计函数有:平均数、中位数、众数、标准偏差等。

from statistics import * # 导入statistics模块
ages = [20, 20, 4, 24, 25, 22, 26, 20, 23, 22, 26]
print(mean(ages))       # ~22.9
print(median(ages))     # 23
print(mode(ages))       # 20
print(stdev(ages))      # ~2.3

math模块

该模块包含许多数学运算和常量。

import math
print(math.pi)           # 3.141592653589793, 圆周率常量
print(math.sqrt(2))      # 1.4142135623730951, 平方根
print(math.pow(2, 3))    # 8.0, 指数函数
print(math.floor(9.81))  # 9, 向下取整
print(math.ceil(9.81))   # 10, 向上取整
print(math.log10(100))   # 2, 以10为底的对数函数

现在,我们已经导入了包含许多数学计算函数的math模块。为了检查模块拥有哪些函数,我们可以使用help(math)dir(math)。这将显示模块中可用的函数。如果我们只想从模块中导入特定的函数,我们可以按以下方式导入:

from math import pi
print(pi)

同时导入多个函数也是可能的。

from math import pi, sqrt, pow, floor, ceil, log10
print(pi)                 # 3.141592653589793
print(sqrt(2))            # 1.4142135623730951
print(pow(2, 3))          # 8.0
print(floor(9.81))        # 9
print(ceil(9.81))         # 10
print(math.log10(100))    # 2

但如果我们想导入math模块中的所有函数,可以使用 *

from math import *
print(pi)                  # 3.141592653589793, pi constant
print(sqrt(2))             # 1.4142135623730951, square root
print(pow(2, 3))           # 8.0, exponential
print(floor(9.81))         # 9, rounding to the lowest
print(ceil(9.81))          # 10, rounding to the highest
print(math.log10(100))     # 2

在导入时,我们还可以重命名函数的名称。

from math import pi as  PI
print(PI) # 3.141592653589793

string模块

字符串模块是许多用途的有用模块。下面的示例显示了字符串模块的一些用途。

import string
print(string.ascii_letters) # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.digits)        # 0123456789
print(string.punctuation)   # !"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~

random模块

到目前为止,您已经熟悉了导入模块。让我们再导入一个模块,以更加熟悉它。让我们导入random模块,该模块给我们提供0到0.9999之间的随机数。随机模块有很多函数,但在本节中,我们只使用randomrandint。到目前为止,您已经熟悉了导入模块。让我们再导入一个模块,以更加熟悉它。让我们导入random模块,该模块给我们提供0到0.9999之间的随机数。随机模块有很多函数,但在本节中,我们只使用randomrandint

from random import random, randint
print(random())   # 它不需要任何参数;它返回0到0.9999之间的值
print(randint(5, 20)) # 它返回一个在[5,20]之间的随机整数

0

评论区