📜  Python模块

📅  最后修改于: 2020-04-09 02:06:30             🧑  作者: Mango

模块是包含Python定义和语句的文件。一个模块可以定义函数,类和变量。模块也可以包含可运行的代码。将相关代码分组到一个模块中可使代码更易于理解和使用。
例:

# 一个简单的模块, calc.py
def add(x, y):
    return (x+y)
def subtract(x, y):
    return (x-y)

import语句
我们可以通过一些其他的Python源文件执行import语句使用任何Python源文件作为一个模块。
当解释器遇到导入语句时,如果模块在搜索路径中存在,它将导入模块。搜索路径是解释器搜索以导入模块的目录列表。例如,要导入模块calc.py,我们需要在脚本顶部放置以下命令

# 导入模块calc.py
import calc
print add(10, 2)

输出:

12

import声明
Python的from语句可让您从模块导入特定属性。在from..import..语法如下:

# 从模块math中导入sqrt()和阶乘
from math import sqrt, factorial
# 如果我们仅做 "import math", 那么
# math.sqrt(16) 和 math.factorial()
# 才是正确的写法
print sqrt(16)
print factorial(6)

输出:

4.0
720

dir()函数
dir()内置函数返回包含模块定义名称的字符串排序列表。该列表包含模块中定义的所有模块,变量和功能的名称。

#  导入内置模块random
import  random
print  dir(math)

输出:

['BPF','LOG4','NV_MAGICCONST','RECIP_BPF','Random',
'SG_MAGICCONST','SystemRandom','TWOPI','WichmannHill',
'_BuiltinMethodType','_ MethodType','__ all__',
'__builtins __','__ doc __','__ file __','__ name__',
'__package __','_ acos','_ ceil','_ cos','_ e','_ exp',
'_hashlib','_ hexlify','_ inst','_ log','_ pi','_ random',
'_sin','_ sqrt','_ test','_ test_generator','_ urandom',
'_warn','betavariate','choice','division',
'expovariate','gammavariate','gauss','getrandbits',
'getstate','jumpahead','lognormvariate','normalvariate',
'paretovariate','randint','random','randrange',
'样本','种子','设置状态','随机播放','三角形',
[制服],[vonmisesvariate],[weibullvariate]]

说明Python内置模块的代码段:

# 导入math
import math
# 使用数学模块中包含的平方根(sqrt)函数
print math.sqrt(25)
# 使用数学模块中包含的pi函数
print math.pi
# 2弧度= 114.59度
print math.degrees(2)
# 60度= 1.04弧度
print math.radians(60)
# 2弧度的正弦
print math.sin(2)
# 余弦值为0.5弧度
print math.cos(0.5)
# 切线为0.23弧度
print math.tan(0.23)
# 1 * 2 * 3 * 4 = 24
print math.factorial(4)
# 导入random
import random
# 打印0到5之间的随机整数
print random.randint(0, 5)
# 打印0到1之间的随机浮点数
print random.random()
# 0到100之间的随机数
print random.random() * 100
List = [1, 4, True, 800, "Python", 27, "hello"]
# 使用随机模块中的选择功能从列表等集合中选择随机元素
print random.choice(List)
# 导入内置的模块datetime
import datetime
from datetime import date
import time
# 返回自1970年1月1日Unix时代以来的秒数
print time.time()
# 将秒数转换为日期对象
print date.fromtimestamp(454554)

输出:

5.0
3.14159265359
114.591559026
1.0471975512
0.909297426826
0.87758256189
0.234143362351
24
3
0.401533172951
88.4917616788
True
1461425771.87
1970-01-06