文档章节

Python3入门(七)——模块

o
 osc_x4h57ch8
发布于 2018/04/24 12:00
字数 1078
阅读 0
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

  在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  ,注意只添加自己的路径即可!

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

代理服务器和反向代理服务器之间有什么区别? - What's the difference between proxy server and reverse proxy server?

问题: 代理服务器和反向代理服务器有什么区别? 解决方案: 参考一: https://stackoom.com/question/wRc/代理服务器和反向代理服务器之间有什么区别 参考二: https://oldbug.net/q/wRc/W...

技术盛宴
46分钟前
16
0
第八讲:配置外界可以访问虚拟机里面的HDFS

本节通过配置实现外界访问虚拟机Centos6.4里面的HDFS。为后续的java读写HDFS做准备 步骤有: 1、修改主机Windos7的网络配置 2、修改虚拟机Centos6.4里面的网络配置 3、修改虚拟机Centos6.4里...

刘日辉
今天
26
0
OSChina 周四乱弹 —— 不劳而获的饭好吃么?好吃!非常好吃!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑推荐:《世界上不存在的歌 (2020重唱版)》- 陈奕迅 《世界上不存在的歌 (2020重唱版)》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
今天
31
2
从 GPU、TPU,到 Web 端、移动端,深度学习框架部署训练开始变简单

本文作者:o****0 早些时候的统计显示,今年3月,深度学习框架集中爆发。5月,有人发布可以直接在 iphone11上训练神经网络的开源项目。日前,百度开源国内首个可直接运行在 Web 端的深度学习...

百度开发者中心
昨天
16
0
如何从Git存储库中删除文件? - How can I delete a file from a Git repository?

问题: I have added a file named "file1.txt" to a Git repository. 我已将名为"file1.txt"的文件添加到Git存储库中。 After that, I committed it, added a couple of directories called......

富含淀粉
今天
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部