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中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较 ...
随机推荐
- 在Docker中安装MongoDB
在Docker中安装MongoDB docker run -p 27017:27017 -v /data/mongodb:/data/db --name mongodb -d mongo --auth ...
- TensorFlow损失函数
TensorFlow损失函数 正如前面所讨论的,在回归中定义了损失函数或目标函数,其目的是找到使损失最小化的系数.本文将介绍如何在 TensorFlow 中定义损失函数,并根据问题选择合适的损失函数. ...
- DMS是临时解决方案?
DMS是临时解决方案? Who Says DMS Is an Interim Solution? 现在是认真对待DMS驱动程序监控系统的时候了. 特斯拉(Tesla)在台湾高速公路上撞上翻倒卡车的镜头 ...
- 一文教会你认识Vuex状态机
摘要:简单来说,Vuex就是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据的共享. 本文分享自华为云社区<Vuex状态机快速了解与应用>,原文作者:北极光之夜. 一. ...
- 用java实现图书管理系统。
图书管理系统. 一.项目设计到的知识 1.MVC设计模式思想(分包) >项目分包 >MVC简单介绍 2.GUI(图形化界面) 3.JDBC连接MySql数据库 4.I/O流 5.面向对象思 ...
- java容器学习笔记
容器 容器的组成 容器有两个接口Map和Collection. collection接口有List类和set类. List类可以分为:Vector.LinkedList.ArrayList.CopyO ...
- 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记番外(1) - JLinkScript妙用
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记番外篇之JLinkScript妙用. JLinkScript 文件是配套 J-Link 调试器使用的脚本,这个脚本适 ...
- 10个有趣又能编译为JavaScript的语言,你用过哪些?
现代应用相比普通的网页有不同的要求.但是浏览器是一个有着一套(大部分)固定可用的技术的平台,JavaScript依然是web应用的核心语言:任何需要在浏览器上跑的应用都需要使用这种语言. 我们都知道J ...
- 【题解】[LuoguP3503]「BZOJ2086」[POI2010] Blocks
题目描述 给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1.经过一定次数的操作 ...
- 注解式项目开发!详细解析Java中各个注解的作用和使用方式
@Target 作用: 指明了修饰的这个注解的使用范围, 即被描述的注解可以用在哪里 @Target(ElementType.Type) ElementType取值的类型: TYPE: 类,接口或者枚 ...