(Python Primary) - 廖雪峰Python3 - 7.模块

本文介绍了Python3中的模块概念,包括模块的结构、如何自主编写模块及作用域规则。详细讲解了模块变量,特别是命令行参数的存储,以及公共和私有变量的区分。此外,还提到了安装第三方模块的方法,如使用pip,并讨论了Python解释器的搜索路径及如何添加额外的搜索目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7.模块

7.0介绍

  • 模块mycompany的结构如下,注意不可与python自带模块名称冲突
mycompany
├─ __init__.py
├─ abc.py
└─ xyz.py

7.1使用模块

7.1.1 自主编写一个hello模块

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' a test module '

__author__ = 'Michael Liao'

import sys

def test():
    args = sys.argv
    if len(args)==1:
        print('Hello, world!')
    elif len(args)==2:
        print('Hello, %s!' % args[1])
    else:
        print('Too many arguments!')

if __name__=='__main__':
    test()
  • sys模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称

  • 运行python3 hello.py获得的sys.argv就是['hello.py']

  • 运行python3 hello.py Michael获得的sys.argv就是['hello.py', 'Michael']

7.1.2 作用域

  • public:abcx123PI等;

  • 特殊变量:__xxx__,如__name____author__

  • private:_xxx__xxx

private函数或变量是不应该被直接引用,而不是不能被直接引用,一般将private函数或变量进行封装和抽象,使外部不需要关心其内部细节

7.2安装第三方模块

  • 安装指令
pip install [-i https://pypi.tuna.tsinghua.edu.cn/simple]  package
  • 若Python2.x和Python3.x共存,使用pip3

  • PIL只支持Python2.7,可用Pillow取而代之

  • 使用Anaconda管理Python环境

  • 搜索模块路径

    • 默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中
    >>> import sys
    >>> sys.path
    ['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', ..., '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']
    
    • 添加搜索目录
    >>> import sys
    >>> sys.path.append('/Users/michael/my_py_scripts')
    

参考教程

廖雪峰老师的Python3教程

(转载整理自网络,如有侵权,联系本人删除,仅供技术总结使用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值