Python人工智能从入门到精通
$ pip3 install tensorflow :
第三方模块 tensorflow 的安装
电脑必须有网 命令行自动下载安装
dir(模块名):
查看模块所有属性
自定义模块导入
示例:
自定义模块的实现方法
def myfac(n): print('正在计算', n, '的阶乘') def mysum(n): print("正在计算1+2+3+...+%d的和" % n) name1 = "Audi" name2 = "TESLA" print("mymod模块被加载!")
注意事项:
自定义模块的文件要求以.py结尾,文件名必须是标识符的规则
导入 语句 import 语句等 搜索块的路径顺序
import mymod
from mymod import myfac
from mymod import *
去哪儿找这个mymod.py?
搜索顺序:
1. 搜索程序运行时的路径(当前路径)
2. sys.path 提供的路径 sys.path是一个列表,里面放的都是模块的搜索路径
3. 搜索内建模块
模块的加载过程:
1. 在模块导入时,模块的所有语句都会执行
2. 如果一个模块已经导入,则再次导入时不会重新执行模块内的语句
模块的重新加载
import mymod
import imp
imp.reload(mymod) # 重新加载mymod模块
模块以导入和执行的过程:
1. 先搜索相关的路径,找到模块名.py
2. 判断是否有此模块对应的.pyc文件。如果.pyc比.py文件新,则直接加载.pyc文件
3. 否则 用模块.py,文件生成.pyc,并加载执行
pyc python的编译
编译 解释执行
mymod.py --------> mymod.pyc --------> python3
模块 --------> 编译好的Python3文件 --------> Python3解释执行器
模块的文档字符串:
模块内第一个没有赋值给任何变量的字符串称为模块的文档字符串
模块的 __doc__ 属性
此属性用于绑定模块的文档字符串
模块的 __file__属性
此属性用于记录模块对应的文件路径名
示例:
# 模块的文档字符串:
'''我的自定义模块mymod2
此模块有两个函数
myfac和 mysum
...
'''
def myfac(n): '''自定义用来测试用的myfac的文档字符串''' print('正在计算', n, '的阶乘') def mysum(n): print("正在计算1+2+3+...+%d的和" % n) name1 = "Audi" name2 = "TESLA" print("mymod模块被加载!")
模块的 __name__属性
__name__属性 用来记录模块自身名字
作用:
1. 记录模块名
2. 用来判断是否为主模块
说明:
当此模块为主模块(也就是第一个运行的模块时)运行时, __name__绑定 '__main__'
当此模块不是主模块时,而是被其它模块导入时,此时 __name__ 绑定模块名
示例:
'''此示例示意 mymod3的 __name__属性的用法'''
def test(): pass print("__name__属性绑定的值是:", __name__) if __name__ == '__main__': print("当前mymod3.py 正在以主模块运行") else: print("当前mymod3.py 正在被其它模块导入") print("我的模块名是", __name__)
模块的 __all__列表
模块中的 __all__列表是一个用来存放可导出属性的字符串列表
作用:
当用 from xxx import *语句导入时,只导入 __all__ 列表内的属性 并且只对 from xx import * 有效
示例:
# __all__属性只对 from import * 语句有效 __all__ = ['hello1', 'name1'] def hello1(): pass def hello2(): pass def hello3(): pass name1 = 'aaaaaa' name2 = 'aaaaaa'
模块的隐藏属性
模块中以'_'开头的属性,在from xxx import * 导入时,将不被导入,通常称这些属性为隐藏属性
示例:
此模块在用from mymod5 import *导入时,只能导入: # f1和 name1 def f1(): pass def _f2(): pass def __f3(): pass name1 = 'aaaaa' _name2 = 'bbbbb'
随机模块 random
模块名: random
作用:
用于模拟或生成随机输出的模块
随机模块 random
说明:
random模块是用于模拟或生成随机输出的模块.
import random as R