Python3入门(七)——模块
在Python中,一个.py文件就称之为一个模块(Module)。(例如main.py就称之为main模块)
为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。
每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的(使用pycharm建包时会自动创建),可以为空,也可以有代码
一、使用模块
一个模块定义的模板如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*- """这是一个测试模块"""
__author__ = '江北' import sys def test():
args = sys.argv
if len(args) == 1:
print("hello world!") if __name__ == "__main__":
test()
第一行/第二行:注释,分别用于Linux下直接执行以及指定编码
第三行:文档注释,任何模块的第一个字符串都视为文档注释。根据pycharm的提示,建议使用三引号(triple)
第四行:亮明身份,表明作者。当然和其他IDE一样,以上几行都可以通过设置为模板,在新建时自动生成(将在pycharm使用教程中介绍)
以上是推荐使用的模板
使用模块的第一步,是导入模块:
import sys
导入后便可以使用变量sys来指向并使用该模块了。
形如from...import可以只引入模块中的部分name:
from modname import name1[, name2[, ... nameN]]
相关细节可以参考https://www.cnblogs.com/lidagen/p/7090777.html
python模块中变量的作用域:
1.普通变量是公开的,例如abc,age
2.形如"__name__"的是特殊变量,可以直接引用,自己的变量一般不要使用这种变量
3.形如"_count"和"__count"(一个和两个下划线)的变量是私有变量,一般不应该被公开直接访问(但python中没有强制限制不能访问,为了规范,请不要公开访问私有变量)私有变量和私有函数都不应该被公开访问,模块公开普通公开函数即可
二、安装第三方模块
1.python包管理工具
Python中的包管理工具,叫pip
unix系统中不用再次安装pip了,直接运行pip即可(python3请尝试pip3)
windows中在安装时确保勾选了pip(默认是安装了的,自定义安装时不要勾掉即可):

如果没有。恭喜。。卸载重装吧。重装时记得勾选pip和add to path了!
2.python库在哪
第三方库一般来说会在https://pypi.org/注册(有点儿像maven中央仓库了)
配置pip源,和配置maven仓库类似:https://www.cnblogs.com/microman/p/6107879.html
3.Python如何安装库
例如,安装一个图像处理库Pillow的命令如下:
pip install Pillow
// 静待安装完成即可
4.anaconda
这是一个基于Python的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,我们装上Anaconda,就相当于把数十个第三方模块自动安装好了,非常简单易用。
下载好后再次在命令行运行python可以看到anaconda的信息。这个时候可以直接使用例如numpy等第三方库了!
更多介绍,参考知乎,
5.模块搜索路径
使用Import导入模块时:
import mymodule
默认会在当前路径、内置模块、已安装第三方模块中搜索模块,内置模块的路径在sys模块的path中:
pycahrm的console:
import sys
sys.path
['F:\\Program Files\\JetBrains\\PyCharm 2018.1.1\\helpers\\pydev', 'F:\\Program Files\\JetBrains\\PyCharm 2018.1.1\\helpers\\pydev', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages', 'F:\\Program Files\\JetBrains\\PyCharm 2018.1.1\\helpers\\pycharm_matplotlib_backend', 'F:\\py\\lenarPy', 'F:/py/lenarPy']
cmd命令行
>>> import sys
>>> sys.path
['', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36\\DLLs', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36\\lib', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36', 'C:\\Users\\zcc\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']
>>>
添加自定义搜索路径有两种方式:
1.临时修改,运行时有效,结束后失效
>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts')
2.永久修改
添加环境变量 PYTHONPATH ,注意只添加自己的路径即可!
Python3入门(七)——模块的更多相关文章
- 全面系统Python3入门+进阶课程 ✌✌
全面系统Python3入门+进阶课程 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 无论是大数据.人工智能还是机器学习,Python都是最热门的首选语言 ,这 ...
- 【转】Python3 (入门6) 库的打包与安装
Python3 (入门6) 库的打包与安装 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/6940288 ...
- Python3中正则模块re.compile、re.match及re.search函数用法详解
Python3中正则模块re.compile.re.match及re.search函数用法 re模块 re.compile.re.match. re.search 正则匹配的时候,第一个字符是 r,表 ...
- Python爬虫入门七之正则表达式
在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...
- python3入门之类
在面向对象的语言中,类是最重要的一环,python自然拥有类这个机制.python的类机制,与C++,java的区别不是很大,类的大多数的重要特性都被沿用了,一样可以多态,抽象,封装: python3 ...
- python3入门之赋值语句介绍
获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...
- python3入门之print,import,input介绍
本节主要介绍print,import和input,t函数,包括他们在python2.7和python3 的区别以及用法.下面附有之前的文章: python3的print函数的变化 python3之 ...
- python3入门之字典
获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍字典,字典也成映射,时python中唯一内建的映射类型.更多详细请点击readmore.下面附有之前的文章: python入门之字符串 ...
- Python3入门之软件安装
获得更多资料欢迎进入我的网站或者 csdn或者博客园 最近将我的Python笔记整理下,希望能对他人有所帮助,这是第一课,安装入门篇: windows下安装Python 1.下载,从这里下载:[下载链 ...
- 转 Python爬虫入门七之正则表达式
静觅 » Python爬虫入门七之正则表达式 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串 ...
随机推荐
- Cobalt Strike 学习
前言 本文以一个模拟的域环境为例对 Cobalt Strike 的使用实践一波. 环境拓扑图如下: 攻击者(kali) 位于 192.168.245.0/24 网段,域环境位于 192.168.31. ...
- Java:基本数据类型与类型转换
相关内容: 基本数据类型 整型 浮点型 字符型 布尔型 数据类型转换 数组 首发时间:2017-06-22 21:18 修改时间: 2018-03-16 15:40 :修改了一下文字布局和样式,增加 ...
- Python+Selenium笔记(九):操作警告和弹出框
#之前发的 driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用) 改成 driver.switch_to.alert就不会了. (一 ...
- Azure 中的 Windows 虚拟机概述
Azure 虚拟机 (VM) 是 Azure 提供的多种可缩放按需分配计算资源之一. 通常情况下,如果需要以更大的力度(相对于其他控制选项)控制计算环境,则应选择 VM. 本文介绍创建 VM 之前的注 ...
- 参数innodb_force_recovery影响了整个InnoDB存储引擎的恢复状况
参数innodb_force_recovery影响了整个InnoDB存储引擎的恢复状况.该值默认为0,表示当需要恢复时执行所有的恢复操作.当不能进行有效恢复时,如数据页发生了corruption,My ...
- Python实例---beautifulsoup小Demo
豆瓣 # coding:utf - 8 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen( ...
- EF5.0中的跨数据库操作
以前在用MVC + EF 的项目中,都是一个数据库,一个DbContext,因此一直没有考虑过在MVC+EF的环境下对于多个数据库的操作问题.等到要使用时,才发现这个问题也不小(关键是有个坑).直接说 ...
- IIS 部署SSL证书
1.导入证书 打开IIS服务管理器,点击计算机名称,双击‘服务器证书 双击打开服务器证书后,点击右则的导入 选择证书文件,点击确定 2.站点开启SSL 选择证书文件,点击确定 点击网站下的站点名称,点 ...
- 如何删除sharepoint列表List中的全部数据。
可以使用excel,但是powershell会比较方便 (admin mode - Sharepoint powershell) [System.reflection.Assembly]::LoadW ...
- vue2.0学习笔记之组件
[易错点]: 1. 组件内html代码片段超过一个标签时必须套一个根元素,即template模板子元素只能是一个. 2. 组件名称采用横杠间隔命名时,第一个字母大写会报错. 写法一:全局 ...