在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入门(七)——模块的更多相关文章

  1. 全面系统Python3入门+进阶课程 ✌✌

    全面系统Python3入门+进阶课程 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 无论是大数据.人工智能还是机器学习,Python都是最热门的首选语言 ,这 ...

  2. 【转】Python3 (入门6) 库的打包与安装

    Python3 (入门6) 库的打包与安装 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/6940288 ...

  3. Python3中正则模块re.compile、re.match及re.search函数用法详解

    Python3中正则模块re.compile.re.match及re.search函数用法 re模块 re.compile.re.match. re.search 正则匹配的时候,第一个字符是 r,表 ...

  4. Python爬虫入门七之正则表达式

    在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...

  5. python3入门之类

    在面向对象的语言中,类是最重要的一环,python自然拥有类这个机制.python的类机制,与C++,java的区别不是很大,类的大多数的重要特性都被沿用了,一样可以多态,抽象,封装: python3 ...

  6. python3入门之赋值语句介绍

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...

  7. python3入门之print,import,input介绍

    本节主要介绍print,import和input,t函数,包括他们在python2.7和python3 的区别以及用法.下面附有之前的文章: ​ python3的print函数的变化 python3之 ...

  8. python3入门之字典

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍字典,字典也成映射,时python中唯一内建的映射类型.更多详细请点击readmore.下面附有之前的文章: python入门之字符串 ...

  9. Python3入门之软件安装

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 最近将我的Python笔记整理下,希望能对他人有所帮助,这是第一课,安装入门篇: windows下安装Python 1.下载,从这里下载:[下载链 ...

  10. 转 Python爬虫入门七之正则表达式

    静觅 » Python爬虫入门七之正则表达式 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串 ...

随机推荐

  1. SD从零开始59-61,跨公司的库存转移,Interface 修改,可用性检查和需求传递

    [原创]SD从零开始59 跨公司的库存转移处理流程 库存转移流程Stock Transfer Procedure 2个工厂间的库存转移能够使用不同的流程来执行: 只执行一个库存转移记账的流程使用MM库 ...

  2. 将数据导入MongoDB集群与MySQL

    import sys import json import pymongo import datetime from pymongo import MongoClient client = Mongo ...

  3. ActiveReports 报表应用教程 (10)---交互式报表之向下钻取(详细数据按需显示解决方案)

    在葡萄城ActiveReports报表中可以动态的显示或者隐藏某区域的数据,通过该功能用户可以根据需要显示或者隐藏所关心的数据,结合数据排序.过滤等功能可以让用户更方便地分析报表数据. 本文中展示的是 ...

  4. 【Zookeeper】Zookeeper集群单节点提供服务

    以下只在特殊情况下使用,不要用在生产环境. 一.问题背景 公司的产品使用Zookeeper做为集群支持,但是客户在验收的时候提出了一个很为难人的要求,那就是3台集群服务,停止2台以后,还要求我们的应用 ...

  5. Linux简单使用

    1.基本命令 创建目录pathA:mkdir pathA 进入目录pathA:cd pathA 查看目录内容:ls 查看目录下文件的详细信息:ls -l,也可以是:ll(l是小写的L,别看错了) 拷贝 ...

  6. LeetCode题解之Univalued Binary Tree

    1.题目描述 2.问题分析 遍历一遍树,然后将所有节点的数值放入到一个set中,最后检查set中元素的个数是否为1. 3.代码 bool isUnivalTree(TreeNode* root) { ...

  7. 类Unix上5个最佳开源备份工具 Bacula/Amanda/Backupninja/Backuppc/UrBackup

    当为一个企业选择备份工具的时候,你都考虑什么呢? 确定你正在部署的软件具有下面的特性 开源软件 – 你务必要选择那些源码可以免费获得,并且可以修改的软件.确信可以恢复你的数据,即使是软件供应商/项目停 ...

  8. C语言中的数组与指针

    1. 数组的初始化 数组的初始化方法有很多,常用的方法有 定义时初始化 ]={,,}; 或 ]={}; //未初始化的元素全为0: 定义后遍历赋值初始化 int arr[3]; for(int i=0 ...

  9. Java入门系列:实例讲解ArrayList用法

    本文通过实例讲解Java中如何使用ArrayList类. Java.util.ArrayList类是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征.可以随时从链表中添 ...

  10. Redis雪崩、穿透、热点key等优化

    一.缓存 Redis做缓存是最常见的应用场景.客户端请求在缓存层命中就直接返回,如果miss就去读取存储层,存储层读取到就写入缓存层,然后再返回到客户端. 优点: 加速读写 降低后端负载 缺点: 数据 ...