来源于菜鸟教程及实验楼-python3 简明教程

文章目录

  • 来源于菜鸟教程及实验楼-python3 简明教程
  • python3模块
    • 1,import语句
    • 2,from ... import语句
    • 3,属性__name__:
      • dir()函数
    • 4,包
    • 5,标准模块
      • OS模块
      • 第三方:Requests模块

python3模块

Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

import sys

print("命令行参数如下:")
for i in sys.argv:
	print(i)

print("\n\nPython路径为: ", sys.path, '\n')

  • import sys 引入python标准库中的sys.py模块;这是引入模块的一种方法。
  • sys.argv是一个包含命令行参数的列表。
  • sys.path包含了一个python解释器自动查找所需模块的路径的列表。

1,import语句

在本文件内想使用其他模块,需要导入。
如:

import module1 [, module2, module3 . ..]

当解释器遇到import语句,就会在它的搜索路径内进行搜索该模块。首先搜索的是当前路径
如:

#Filename: support.py

def print_func(par):
	print("Hello: ", par)
	return 

用test.py导入support.py:

#Filename: test.py

import support

#调用该模块内的函数。
support.print_func("World!!")

  • 一个模块只会被导入一次;不管你执行了多少次import。
  • 当执行到import语句时,python解释器会在搜索路径内的各个目录中去寻找所导入的模块。
  • 搜索路径是在python编译或安装的时候确定的,安装新的库会修改。
  • 搜索路径被存储在sys模块的path变量中。


以上为在解释器,和编译器中的python搜索路径;(第一项为当前路径。)
了解了搜索路径的概念,就可以在脚本中修改sys.path来引入一些不在搜索路径中的模块。
如在当前目录或sys.path目录里创建一个fibo.py的文件:

#Fibonacci数列模块

def fib(n):
	a, b = 0, 1
	while b < n:
		print(b, end = ' ')
		a, b = b, a + b
	print()
def fib2(n):
	result = []
	a, b = 0, 1
	while b < n:
		result.append(b)
		a, b = b, a + b
	return result

2,from … import语句

这个·语句可以让我们从模块中导入一个指定的部分到当前空间内。

from modulename import name1[, name2, ..., nameN] 

如 :导入fibo模块的fib函数:

from fibo import fib
print(fib2(10000))


这个声明只是将fib函数导入当前空间。

一般不推荐使用from module import *,因为很可能导入来的函数或变量覆盖已有的定义。

3,属性__name__:

当一个模块被另一个程序第一次引入时,其主程序将会运行。
如果我们想在模块被引入时,模块中的某一程序块不被执行,可以使用__name__属性来使该程序块仅在自身程序运行时执行。

#!/usr/bin/env python3
# Filename: using_name.py

if __name__ == '__main__':
	print('程序自身在运行')
else:
	print('另一个模块')


注:每个模块都有一个__name__属性,当其值是__main__时,表明该模块自身在运行,否则是被引用的。

dir()函数

内置的函数dir()可以找到模块内定义的所有名称。以一个字符串列表的形式返回。

4,包

含有__init__.py模块的目录才可以用来作为一个包,
目录里的所有.py文件都是这个包的子模块。

具体–菜鸟教程包描述

5,标准模块

python自带一些标准的模块库,用以实现不同的功能。可以在解释器里使用help()函数查找任何模块/类的文档。

OS模块

os模块提供了与操作系统相关的功能。

第三方:Requests模块

Requests是第三方模块,第三方模块不是默认的模块,需要对它进行安装。

更多推荐

python3 简明教程 --模块