神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)

模块(Module)

模块是一个python文件(.py),拥有多个功能相近的函数或类

便于代码复用,提高编程效率,提高了代码的可维护性。

避免函数名和变量名冲突。

包(Package)

为了避免模块名冲突,Python引入按目录来组织模块的方法。

一个包对应一个文件夹,将功能相近的模块(Python文件),放 在同一个文件夹下。

在作为包的文件夹下有一个__init__.py文件。

子包:子目录中也有__init__.py文件。

库(Liberay):

具有相关功能的模块或包的集合

包的结构

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第1张图片

导入模块/包/库

导入整个包

import 名称 as 别名

导入包中指定的模块或者子包

from 模块/包名称 import 函数名 as 函数别名

入语句的作用域:

程序顶部导入模块,作用域是全局的。

函数的内部导入语句,作用域就是局部的。

导入顺序:

    python 标准库/模块

    python 第三方库/模块

    自定义模块

使用模块/包/库中的函数和变量

import math
print(math.pow(2,3))
from math import pow,sqrt
print(pow(2,3))
print(sqrt(16))
from math import sqrt as s
print(s(16))

自定义模块

新建mymodule.py

def print_str(str):
    print(str)

def sum(a,b):
    return a+b

在相同文件夹下创建调用程序6.py

import mymodule as mm
mm.print_str("python")
print(mm.sum(2,3))

Python标准库中的模块

sys模块:提供有关Python运行环境的变量和函数

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第2张图片

import sys
#sys.platform 获取当前操作系统
print(sys.platform)
#sys.path 获取指定模块搜索路径
print(sys.path)
#sys.argv 获取当前正在执行的命令行参数的参数列表
print(sys.argv)
#sys.path.append("路径")退出python环境后添加路径消失
sys.path.append("C:\\Users\\10618\\Desktop\\人工智能与机器学习")

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第3张图片

platform模块:获取操作系统的详细信息和与Python有关的信息。

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第4张图片

import platform
#获取操作系统名称及版本号信息
print(platform.platform())
#获取操作系统类型
print(platform.system())
#获取操作系统的版本信息
print(platform.version())
#获取计算机的处理器信息
print(platform.version())
#获取Python的版本信息,包括Python的主版本、编译版本号和编译时间等信息
print(platform.python_build())

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第5张图片

math模块:提供了常用的数学运算。

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第6张图片

import math
x=3
y=5
a=3
print(math.e) #返回自然对数e的值
print(math.pi) #返回π的值
print(math.exp(x)) #返回e的x次幂
print(math.fabs(x)) #返回x的绝对值
print(math.ceil(x)) #返回大于等于x的最小整数
print(math.floor(x)) #返回小于等于x的最大整数
print(math.log(x,a)) #返回logax,如果不指定参数a,则默认使用e
print(math.log10(x)) #返回log10x
print(math.pow(x,y)) #返回x的y次幂
print(math.sqrt(x)) #返回x的开平方

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第7张图片

random模块:生成随机数。

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第8张图片

import random
a=2
b=9
x=[1,2,3,4,5,6,7,8,9,10]
print(random.random()) #生成一个0到1的随机浮点数
print(random.uniform(a, b)) #生成一个指定范围内的随机浮点数。其中a是下限,b是上限
print(random.randint(a, b)) #生成一个指定范围内的随机整数。a是下限,b是上限
print(random.choice(x)) #从序列中随机获取一个元素。参数seq表示一个有序类型,可以是一个列表、元组或者字符串
random.shuffle(x)
print(x) #将一个列表x中的元素打乱

神经网络与深度学习——TensorFlow2.0实战(笔记)(四)(python模块、包和库)_第9张图片

小数和分数处理模块

decimal模块:表示和处理小数。

参考链接:https://finthon.com/python-decimal/

a=3.2
b=4.1
print(a+b)

fractions模块:表示和处理分数。

参考链接:https://www.runoob.com/note/24857

from fractions import Fraction
x=Fraction(1,3)
y=Fraction(4,6)
print(x+y)

时间处理模块

time:返回当前时间的时间戳

参考链接:http://qinxuye.me/article/details-about-time-module-in-python/

datetime:提供了处理日期和时间的类

参考链接:https://blog.csdn.net/gty931008/article/details/80254806

calendar:提供与日历相关的其他有用功能

参考链接:https://blog.csdn.net/y472360651/article/details/82291753

个人公众号

你可能感兴趣的:(python,python)