Python 基金会 —— 模块和包简介
1、模块的作用
一个Python模块事实上就是一个脚本文件,具有后缀“.py”,比如 hello.py 就是一个模块文件名称。和普通文件一样能够被永久保存在本地存储磁盘中。
以下是hello.py模块的内容。当中有一个变量 a,一个函数 fun()。和一个打印语句。
# -*- coding:UTF-8 -*-
#! /usr/bin/python3
a = [1, 2, 3]
def fun():return 'fun()'
print('hello', fun(), a)
wuhui@wuhui-H55M-S2H:~/Desktop$ python3 hello.py
hello fun() [1, 2, 3]
>>> import hello
>>> hello.a
[1, 2, 3]
>>> hello.fun()
'fun()'
使用"import module"导入模块方式时,被导入模块不能带后缀;使用导入模块中定义的变量、函数时。必须使用模块名作为前缀,如"hello.a"而不是直接使用"a"。假设感觉这样麻烦的。能够使用以下的方式。将模块中所有的定义信息所有导入。
>>> from hello import *
>>> a
[1, 2, 3]
>>> fun()
'fun()'
>>> dir()
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
>>> import hello
>>> dir(hello)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'fun']
hello
PkgA/ # 顶层包__init__.py # 初始化 PkgAPkgB/ # PkgA 的子包 PkgB__init__.py # 初始化 PkgBmodule1.pymodule2.pyPkgC/ # PkgA 的子包 PkgC__init__.py # 初始化 PkgCmodule1.pymodule2.py
def say():print(’hello')
# 方式一:导入函数所在模块
>>> import PkgA.PkgB.module1
>>> PkgA.PkgB.module1.say()
hello
# 方式二:从包 PkgA.PkgB 中导入函数所在模块
>>> from PkgA.PkgB import module1
>>> module1.say()
hello
# 方式三:从模块中导入函数
>>> from PkgA.PkgB.module1 import say
>>> say()
hello
>>> from PkgA.PkgB import module1
>>> module1.say()
hello
>>> def say():
... print('world')
...
>>> say()
world
>>> module1.say()
hello
# __init__.py中没有定义__all__时
from PkgA.PkgB import * # 只导入包 PkgB
# __init__.py 中定义 __all__ = ['module1']
from PkgA.PkgB import * # 只导入PkgB包中的模块 module1,而模块 module2则不会被导入
拿前面的代码举个样例。假设想在 PkgA.PkgC.module1中使用 PkgA.PkgB.module2中的函数 say(),能够这么写:
[1] The Python Tutorial https://docs.python.org/3/tutorial/modules.htm
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Python 基金会 —— 模块和包简介相关推荐
- python基础---模块与包
1.模块导入方法 常见的场景: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀,导入模块可以实现功能的重复利用 import加载的模块分为四个通用类别: 1 使 ...
- Python中 模块、包、库
模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块. 包:在模块之上的概念,为了方便管理而将文件进行打包.包目录下第一个文件便是 __init__.py,然后是一些模块文件和 ...
- Python 之 模块和包
模块和包 目标 模块 包 发布模块 模块 1.1 模块的概念 模块是 Python 程序架构的一个核心概念 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块 模块名 同样也是一个 ...
- 25 Python之模块与包
一.模块 模块就是一个包含了python定义和申明的文件,文件名就是模块的名字加上.py的后缀/ 模块的分类: 1.使用python编写的py文件 2.已被编译位共享库或者DLL或C或者C++的扩展 ...
- python 必备模块和包_量化金融分析师(AQF)|这45道Python面试题都对你非常有帮助!(二)...
量化金融分析师(AQF)|这45道Python面试题都对你非常有帮助!(二) 21)如何在Python中复制对象? 要在Python中复制对象,可以尝试copy.copy()或copy.deepcop ...
- Python基础——模块和包详解以及pip操作模块和包的指令
随着项目越来越大,所有代码都放在一个文件中,已经不能满足我们的需求了.这时候就要将代码进行整理了,模块和包的出现就是为了解决这个问题的.模块可以将一些相关联的代码组合在一个py文件中,包可以将一些相关 ...
- Python之模块,包,文件,异常
目录 前言 模块 模块,包导入 文件 异常 高阶函数 后记 前言 在我们之前的学习中,做测试是不会有第二个py文件的,那么就不太了解一个py文件是代表着什么,是否跟java编程中的.java文件有什么 ...
- python规范模块和包
主要内容: 1.模块 2.包 1.模块 模块分为三种: 1)内置模块 2)扩展模块 3)自定义模块 3)自定义模块 模块的创建 导入 模块名 创建: 1. 注意 模块名 需要符合变量命名规范 2. ...
- 深入理解并使用python的模块与包
模块 编写好的一个python文件可以有两种用途: 1)脚本,一个文件就是整个程序,用来被执行 2)模块,文件中存放着一堆功能,用来被导入使用 模块的分类 1)开发者编写的 .py文件 2 ) 由C或 ...
最新文章
- 零基础学C++进腾讯,这份GitHub热榜的「从入门到高薪」请你收下
- Jmeter也能IP欺骗!
- 开发人员对Spring vs JavaEE的看法
- fsync与fflush的关系和区别
- linux qtopia-2.2.0编译,qtopia-2.2.0在linux上的安装(基于mini2440)
- ffmpeg解析TS流
- STP RSTP MSTP PVST+学习 (1)
- ubuntu 启动进入initramfs错误解决办法
- HDU2795 billboard【转化为线段树。】
- ios GCD ---- (1)
- sqlyog与mysql编码语法_如何解决sqlyog连接的数据库乱码的问题
- ubuntu 14.04 安装惠普打印机驱动(测试成功)
- openlayers4xy坐标转为经纬度坐标
- 产业科技创新杂志产业科技创新杂志社产业科技创新编辑部2022年第3期目录
- C++标准库string类型那些事儿
- icp增值电信业务经营许可证怎么办理
- 【干货】S7-PLCSIM Advanced V3.0 无法下载组态(搜索到设备地址为红色)问题解决方法
- 计算机图形学5--绘制基本图元
- [WTL/ATL]_[Gdi/Gdiplus]_[实现双缓冲]
- create connection SQLException, url: jdbc:mysqlAccess denied for user ‘CC‘@‘localhost‘ (using passwo
热门文章
- RPM方式安装MySQL5.5.48 (Aliyun CentOS 7.0 卸载MySQL5.7)
- Linux---之conda换源
- 数据结构上机实践第11周项目1 - 图基本算法库
- java jsp 特殊标签_JSP复习(四):JSTL标记
- 一加功耗dump开关_一加5/5TFlyme8 9.11.14 支持功能一览
- oracle apex表隐藏,oracle-apex 处理表格形式
- php获取页面指定内容,php 获取页面中的指定内容类
- linux 系统修复 启动盘,linux服务器系统盘坏且系统盘为软raid的修复方法
- registered php streams sqlsrv,tp5与SQL Server的爱恨情仇(1)
- pycharm的下载,安装及首次启动