python使用笔记008-模块
模块的原理:
1.就是一个python文件
2.标准模块是python自带的
3.第三方模块需要自己安装
导入模块的顺序:
1.从当前目录下找
2.从python的环境变量中找
一、自己定义的模块
1、第一种导入模块方式
导入的python文件和当前python文件在同一个文件夹下
1 #一种是import方式
2 #import a,c,d可以导入多个py文件
3 import a,sys#import一个模块就是将这个模块里的代码执行一遍
4 print(a.name)
5 a.func()
6
7 #一种是from方式
8 from a import func,name
9 func()
10 print(name)
2、第二种导入模块方式
引入不在当前文件夹下的py文件
2.1 第一种将py文件放在python的环境变量的目录下
调用sys.path,找到python的环境变量,将需要引入的py文件放到其中的一个目录下,就可以进行调用
1 import sys
2 print(sys.path)#打印出python的环境变量
3 import tools#将tools.py放到C:\Anaconda3\Lib\site-packages目录下,可以直接引入
4 print(tools.fun('fdsrewrwrw'))
2.2 第二种把要引用的文件夹加入到python的环境变量中
1 #2、tools.py在G:\\pythonWorkspace\\day003目录下,把要引入的文件夹加到环境变量中
2 #sys.path.append('G:\\pythonWorkspace\\day003')#这个是加在环境变量的末尾,效率不高
3 sys.path.insert(0,r'G:\pythonWorkspace\day003')#r:源字符,加到最前面,效率高
4 print(sys.path)
5 import tools
6 print(tools.fun('fdsrewrwrw'))
2.3 第三种需要引入的py文件和当前文件在同一个工作空间下
1 #一种方式
2 #import day003
3 #print(day003.tools.fun('fdsrekwrwjl'))#这种方式会报错
4
5 from day003 import tools#这种方式没问题
6
7 from day003.tools import fun#这种方式没问题
8 result = fun('fdsrewrew')
9 print(result)
1 #import day003
2 #print(day003.tools.fun('fdsrekwrwjl'))#这种方式会报错
3 #想要解决这种报错
4 #1.在day003下,建一个__init__.py文件
5 #2.在day004下import day003
6
7 import day003
8 print(day003.tools.fun('rewsdfsfs'))
__init__.py文件的内容如下:
1 from . import tools
二、第三方模块
第三方模块需要安装,可以自动安装(电脑联网情况下),手动安装(电脑不联网的情况下)
第三方模块都在pypi pip源这个网站这里可以找到
2.1 自动安装
执行命令:pip install xpinyin
可以进行自动安装,但是默认的pip源是国外的,有可能会导致下载失败
将pip源改为国内的地址的办法,执行以下代码,就可以将pip源改为国内的地址
1 import os,sys,platform
2 ini="""[global]
3 index-url = https://pypi.doubanio.com/simple/
4 [install]
5 trusted-host=pypi.doubanio.com
6 """
7 os_version=platform.platform()
8 if 'Windows' in os_version:
9 os_flag=False
10 file_name='pip.ini'
11 else:
12 os_flag=True
13 file_name='pip.conf'
14 if os_flag==True:
15 pippath=os.environ["HOME"]+os.sep+".pip"+os.sep
16 else:
17 pippath=os.environ["USERPROFILE"]+os.sep+"pip"+os.sep
18 if not os.path.exists(pippath):
19 os.mkdir(pippath)
20 with open(pippath+file_name,"w") as f:
21 f.write(ini)
2.2 手动安装
1.在pip源找到对应的资源,比如plmysql
2.安装.whl格式的文件
执行命令:pip install /Users/nhy/Downloads/PyMySQL-0.9.3-py2.py3-none-any.whl
3.安装.tar格式的文件
a.解压
b.进入解压目录
c.python setup.py install
三、常用模块
3.1 random模块
1 import random
2 num1 = random.randint(1,100)#随机整数
3 print(num1)
4 f1 = random.uniform(1,100)#随机小数
5 print(f1)
6 s = 'frewrewrw'
7 l = [1,2,3,4]
8 t = [12,13,34]
9 #res1 = random.choice()#从你给的数据里随机选一个
10 res2 = random.sample(l,3)#从list中随机取N个元素
11 #print(res1)
12 print(res2)
13
14 l2 = [str(i) for i in range(14)]
15 print(l2)
16 random.shuffle(l2)#洗牌,打乱
17 print(l2)
python使用笔记008-模块的更多相关文章
- python学习笔记_week5_模块
模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...
- Python学习笔记之模块与包
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...
- python学习笔记(八)-模块
大型python程序以模块和包的形式组织.python标准库中包含大量的模块.一个python文件就是一个模块.1.标准模块 python自带的,不需要你安装的2.第三方模块 需要安装,别人提供的. ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- Python学习笔记1—模块
模块的使用 引用模块的两种形式 形式一: import module_name 形式二: from module1 import module11 (module11是module的子模块) 例: ...
- Python学习笔记2——模块的发布
1.为模块nester创建文件夹nester,其中包含:nester.py(模块文件): """这是"nester.py"模块,提供了一个名为prin ...
- python学习笔记十——模块与函数
第五章 模块与函数 5.1 python程序的结构 函数+类->模块 模块+模块->包 函数+类+模块+包=Python pyth ...
- Python学习笔记14—模块
在python中所有的模块都被加入到了sys.path中,用下面的方法可以看见模块的位置. >>> import sys >>> import pprint > ...
- python学习笔记:模块——自定义模块的3种导入方式
一.定义 模块就是用一堆的代码实现了一些功能的代码的集合,通常一个或者多个函数写在一个.py文件里,而如果有些功能实现起来很复杂,那么就需要创建n个.py文件,这n个.py文件的集合就是模块.如果不懂 ...
- Python学习笔记—itertools模块
这篇是看wklken的<Python进阶-Itertools模块小结> 学习itertools模块的学习笔记 在看itertools中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较 ...
随机推荐
- pika详解(四) channel 通道
pika详解(四) channel 通道 本文链接:https://blog.csdn.net/comprel/article/details/94662394 版权 channel通道 通道 ...
- javascript数组排序之冒泡排序
冒泡排序 作为一名程序员数组的排序算法是必须要掌握的,今天来说最简单的一种数组排序----冒泡排序 冒泡排序原理 冒泡排序算法是一种简单直观的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如 ...
- 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈
用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈 深度学习已变得无处不在,不可或缺.这场革命的一部分是由可扩展的深度学习系统推动的,如滕索弗洛.MXNet.咖啡和皮托奇.大多数现有系统针对 ...
- TensorRT深度学习训练和部署图示
TensorRT深度学习训练和部署 NVIDIA TensorRT是用于生产环境的高性能深度学习推理库.功率效率和响应速度是部署的深度学习应用程序的两个关键指标,因为它们直接影响用户体验和所提供服务的 ...
- GStreamer跨平台多媒体框架
GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...
- Technology Document Guide of TensorRT
Technology Document Guide of TensorRT Abstract 本示例支持指南概述了GitHub和产品包中包含的所有受支持的TensorRT 7.2.1示例.Tensor ...
- Python分析离散心率信号(下)
Python分析离散心率信号(下) 如何使用动态阈值,信号过滤和离群值检测来改善峰值检测. 一些理论和背景 到目前为止,一直在研究如何分析心率信号并从中提取最广泛使用的时域和频域度量.但是,使用的信号 ...
- H5简介(转)
H5究竟是什么? "HTML5(WEB前端)技术由HTML(结构).CSS(样式).JavaScript(行为)组成.HTML5是WEB的未来,HTML5不仅在PC端,更是在移动端上也有广泛 ...
- Java IO学习笔记五:BIO到NIO
作者:Grey 原文地址: Java IO学习笔记五:BIO到NIO 准备环境 准备一个CentOS7的Linux实例: 实例的IP: 192.168.205.138 我们这次实验的目的就是直观感受一 ...
- DHCP:IP 并非与生俱来
初识 DHCP 众所周知,因特网上的每台设备都规定了其全世界唯一的地址,也就是说 "IP 地址",正是由于有了 IP 地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从 ...