Python基础语法-菜鸟教程-第16章:Python3 模块

本文介绍了Python3的模块概念,包括模块的作用、如何导入模块、import语句的使用方式,以及from...import语句的多种形式。还讨论了模块的搜索路径、__name__属性的用途,以及dir()函数在查看模块内容中的应用。此外,文章还提到了标准模块、包的管理和导入,强调了包中init.py文件的重要性,以及如何通过from package import *来导入模块内容。

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

学习网址:https://www.runoob.com/python/python-basic-syntax.html
运行代码后即可生成笔记

#代码如下:

import sys
# chapter16:Python3 模块
print("\nchapter16:Python3 模块\n")
print("1.概述")
print("1)在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。")
print("2)模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。")
print("2.import语句")
print("1)想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如下:\n"

"import module1[, module2[,... moduleN]")

print("2)当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support,需要把命令放在脚本的顶端:")

print("3)一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。")

print("4)当我们使用import语句的时候,Python解释器是怎样找到对应的文件的呢:\n"
      "这就涉及到Python的搜索路径,搜索路径是由一系列目录名组成的,Python解释器就依次从这些目录中去寻找所引入的模块。\n"
      "这看起来很像环境变量,事实上,也可以通过定义环境变量的方式来确定搜索路径。\n"
      "搜索路径是在Python编译或安装的时候确定的,安装新的库应该也会修改。\n"
      "搜索路径被存储在sys模块中的path变量\n")
print("eg:")
print(">>> import sys\n"
">>> sys.path\n"
"['', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']\n"
">>> ")
print("5)可以使用模块名称来访问函数")
print("eg:")
print(">>> import fibo\n"
      ">>>fibo.fib(1000)\n"
"1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987\n"
">>> fibo.fib2(100)\n"
"[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]\n"
">>> fibo.__name__\n"
"'fibo'")
print("3.from … import 语句")
print("1)Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:\n"

"from modname import name1[, name2[, ... nameN]]")

print("2)eg:例如,要导入模块 fibo 的 fib 函数,使用如下语句:")
print(">>> from fibo import fib, fib2\n"
">>> fib(500)\n"
"1 1 2 3 5 8 13 21 34 55 89 144 233 377")
print("解析:这个声明不会把整个fibo模块导入到当前的命名空间中,它只会将fibo里的fib函数引入进来。")

print("4.from … import * 语句")
print("1)把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:\n"

"from modname import *")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值