Python3 基础 —— 模块 Module 介绍

1、模块的作用

在交互模式下输出的变量和函数定义,一旦终端重启后,这些定义就都不存在了,为了持久保存这些变量、函数等的定义,Python中引入了模块(Module)的概念。一个Python模块其实就是一个脚本文件,具有后缀“.py”,例如 hello.py 就是一个模块文件名,和普通文件一样可以被永久保存在本地存储磁盘中。

2、模块的内容

Python模块中存放的是一些程序代码,例如,变量定义、函数定义或是代码语句。下面是hello.py模块的内容,其中有一个变量 a,一个函数 fun(),和一个打印语句。

# -*- coding:UTF-8 -*-
#! /usr/bin/python3
a = [1, 2, 3]
def fun():
        return ‘fun()‘
print(‘hello‘, fun(), a)

这里介绍一个模块属性 __name__ ,该属性存储了当前模块的名称,比如,上面的 hello.py 其__name__就是 ‘hello.py‘

3、模块的使用

(1)第一种方式时将模块当做脚本执行,模块中的代码语句会得到执行

[email protected]:~/Desktop$ python3 hello.py
hello fun() [1, 2, 3]

(2)第二种方式时将模块导入,然后使用导入模块中定义的变量、函数等

>>> import hello
>>> hello.a
[1, 2, 3]
>>> hello.fun()
‘fun()‘

使用"import module"导入模块方式时,被导入模块不能带后缀;使用导入模块中定义的变量、函数时,必须使用模块名作为前缀,如"hello.a"而不是直接使用"a"。如果感觉这样麻烦的,可以使用下面的方式,将模块中所有的定义信息全部导入。

>>> from hello import *
>>> a
[1, 2, 3]
>>> fun()
‘fun()‘

4、模块的相关信息

每个模块都有自己的定义信息,包括变量、函数等以及一些“与生俱来”的内建变量,这些可以通过Python内建函数 dir() 来查看。

直接在终端下输出dir(),输出当前环境下的变量名

>>> dir()
[‘__builtins__‘, ‘__doc__‘, ‘__loader__‘, ‘__name__‘, ‘__package__‘, ‘__spec__‘]

导入上面的 hello.py 模块后,使用dir()查看,不仅输出了默认的的变量名,还输出了hello.py中我定义的变量a和函数fun的名称

>>> import hello
>>> dir(hello)
[‘__builtins__‘, ‘__cached__‘, ‘__doc__‘, ‘__file__‘, ‘__loader__‘, ‘__name__‘, ‘__package__‘, ‘__spec__‘, ‘a‘, ‘fun‘]

输出模块名

>>> print(hello.__name__)

hello

5、模块的搜索路径

当导入模块时,Python按照一定的搜索顺序在指定的目录下搜索模块,如果找到则导入模块,否则会引发异常。例如,执行 “import hello”导入hello.py模块时,Python解释器首先根据模块名搜索内建模块;如果没有找到,则会去 sys.path 变量所列出的目录下搜索,sys.path的默认目录如下:

(1)输入脚本所在目录(或当前目录,如果没有指定导入脚本,如 import ×)

(2)环境变量 PYTHONPATH 所指定的目录(这个与系统环境变量中的PATH语法相同)

(3)安装的目录(默认)

如果导入的脚本是一个符号连接(Windows上的快捷方式),搜索目录是符号链接所连接的原始文件所在目录,而非符号连接所在目录。在Python解释器初始化之后,可以在程序中修改 sys.path

参考:

[1] The Python Tutorial https://docs.python.org/3/tutorial/modules.html

Python3 基础 —— 模块 Module 介绍,布布扣,bubuko.com

时间: 2024-12-18 13:17:55

Python3 基础 —— 模块 Module 介绍的相关文章

Python 基础 - 模块 Module - os模块

OS模块 操作系统功能, 涉及文件及目录等操作.不受平台限制.os模块允许一个程序不需要任何改动,同时在linux 和 windows下运行.和windows下powershell以及linux里的command操作类同. 常用操作 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字

Python 基础 - 模块 Module - sys模块

sys模块常见函 sys.argv: 实现从程序外部向程序传递参数. sys.exit([arg]): 程序中间的退出,arg=0为正常退出. sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii. sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8.

Ansible 安装 及 基础模块介绍

ansible 介绍 Ansible基于Python开发,集合了众多优秀运维工具的优点,实现了批量运行命令部署程序.配置系统等功能.默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单.可同时支持多台主机并行管理,使得管理主机更加便捷. ansible 安装 在管理端与 被管理端都要安装 yum install -y epel-release ##安装epel源 yum install ansible -y ansible --versio

Python基础--Python3基础语法

Python3 基础语法 编码 默认情况下,Python3源码文件以UTF-8编码,所有字符串都是Unicode字符串.当然也可以为源码文件指定不同的编码,例如: # -*- coding: cp-1252 -*- 标识符 1.第一个字符必须是字母表中字母或下划线: 2.标识符的其他的部分有字母.数字和下划线组成: 3.标识符对大小写敏感. 注:在Python3中,非ASCII标识符也是允许的. Python保留字 保留字即关键字,我们不能把它们用作任何标识符名称.Python的标准库提供了一个

OR1200处理器的计时器模块TT介绍

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 16.2.1 TT介绍 计时器模块(Tick Timer:TT)一般用在操作系统的进程调度.用户程序的定时参考等.TT内部会对时钟周期计数,当计数值达到一个预设值时,会产生中断,通知处理器进行处理.其实现的主体是两个特殊寄存器:计时器单元计数寄存器TTCR.计时器单元模式寄存器TTMR,通过这两个SPR的不同配置,实现不同的工作模式,以及计时中断的产生.TTCR.TTMR是第10组特殊寄存器,如表16.4所示.TTCR.TTMR的格式分别

python 模块的介绍(一)

模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保存了Python代码的文件.模块能定义函数,类和变量.模块里也能包含可执行的代码. 模块分为三种: 自定义模块 内置模块 (又称标准库) 第三方模块 (又称第三方模块) 自定义模块: 也就是自己写的, 创建一个.py文件 自己实现一些功能 叫做自定义模块 导入模块: Python之所以应用越来越广泛,在

Lua中的模块(module)和包(package)详解1

这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数.写一个模块.package.loaded.module函数等内容,需要的朋友可以参考下 前言 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包.require用于使用模块,module用于创建模块.简单的说,一个模块就是一个程序库,可以通过require来加载.然后便得到了一个全局变量,表示一个table.这个table就像是一个命

Python3 logging 模块

Python3 logging模块 日志模块: 用于便捷记录日志且线程安全的模块 CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN = WARNING INFO =20 DEBUG = 10 NOTSET = 0 设置为debug import logging 1 import logging 2 logging.debug('debug') 3 logging.info('info') 4 logging.warning('

数据分析 关于基础组件与介绍

第二部分 关于基础组件与介绍 基础信息库种类 基础信息库是账户或者自然人的纯真数据库查询系统.系统内积累存储的数据包括有: ü 手机号归属信息 ü IP数据纯真库 ü GPS信息对应地址信息 ü 域名空间身份信息 ü 3G分组域通讯信息 ü VPN服务器基础信息 ü VPN服务器日志信息(最新的区域时间段) ü 国内运输系统基础数据 ü 网络帐号密码查询系统 ü 网络帐号详情搜索查询 3S定位技术 3S 是通过遥感技术(RS).地理信息系统(GIS).全球定位系统(GPS)实现位置确认技术的统称