Python17 模块
Posted thloveyl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python17 模块相关的知识,希望对你有一定的参考价值。
模块
- 模块:在Python中,一个.py文件就称之为一个模块(Module)
- python所有的内置函数:
https://docs.python.org/3/library/functions.html
- 包名:为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)
- 实例:
- 引入包:import 包名.模块名
- 创建自己的模块时,要注意:
模块名要遵循Python变量命名规范,不要使用中文、特殊字符;
模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块,检查方法是在Python交互环境执行import abc,若成功则说明系统存在此模块。
- - - - 使用模块:
- sys:系统模块、
实例:
```
#!/usr/bin/env python3 # 让代码能在unix/linux/mac上运行
# -- coding: utf-8 -- # 指定Python编码utf-8‘write test module‘ # 模块的文档注释
author = ‘Thloveyl‘ # 使用__author__变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名;
import sys # 导入sys模块
‘‘‘
导入sys模块后,我们就有了变量sys指向该模块,利用sys这个变量,就可以访问sys模块的所有功能。sys模块有一个argv变量,用list存储了命令行的所有参数。argv至少有一个元素,因为第一个参数永远是该.py文件的名称,
‘‘‘
‘‘‘
def test(): # sys.argv 获取到用户输入的数据,并放在列表中
if len(sys.argv) == 1:
print("Welcome to Python Modules")
elif len(sys.argv) == 2:
print(‘%s,Welcome !‘% sys.argv[1])
else:
print(‘this new module‘)
当我们在命令行运行do_module模块文件时,
Python解释器把一个特殊变量__name__置为__main__,
而如果在其他地方导入该do_module模块时,if判断将失败,因此,
这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,
最常见的就是运行测试。
‘‘‘
if name == ‘main‘:
test()
```- 运行结果:
- - -
- 作用域:在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过_前缀来实现的。
- 公开变量:
xx
正常的函数和变量名是公开的(public),可以被直接引用,比如:abc,x123,PI等; - 特殊变量:
__xx__
,这样的变量是特殊变量,可以被直接引用,但是有特殊用途,可使用__doc__
访问文档注释 - 非公开变量:
_xx
,__xx
,这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc,__abc等; - private函数和变量“不应该”被直接引用,而不是“不能”被直接引用,是因为Python并没有一种方法可以完全限制访问private函数或变量,但是,从编程习惯上不应该引用private函数或变量。
private访问变量实例:
```
def _age(name): # 私有函数
return (name + ‘18岁‘)def _height(name): # 私有函数
def get_prevate(name): # 公开函数
return (name + ‘身高180‘)
if name == "王富贵儿":
return _age(name) # 返回私有函数
elif name == "李星云":
return _height(name)
else:
return ‘查无此人‘
print(get_prevate("李星云"))
```- 外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public。
- - -
- 公开变量:
- 安装第三方模块:一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Pillow的名称叫Pillow
- 安装:
pip install pillow
如果同时存在Python3与Python2 需指定 pip3 - Anaconda:这是一个基于Python的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,我们装上Anaconda,就相当于把数十个第三方模块自动安装好了,非常简单易用。下载后直接安装,Anaconda会把系统Path中的python指向自己自带的Python,并且,Anaconda安装的第三方模块会安装在Anaconda自己的路径下,不影响系统已安装的Python目录。安装好Anaconda后,重新打开命令行窗口,输入python,可以看到Anaconda的信息:
- 模块搜索路径:当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件;默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中
如果我们要添加自己的搜索目录,有两种方法: 一是直接修改sys.path,添加要搜索的目录: import sys sys.path.append('/Users/michael/my_py_scripts') 这种方法是在运行时修改,运行结束后失效。 第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被 自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。 注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。
- 安装:
以上是关于Python17 模块的主要内容,如果未能解决你的问题,请参考以下文章