(11)python 模块和包
一、导入模块和包
模块相当于一个.py文件,包相当于带有个__init__.py一个文件夹,既可按模块导入也可按包导入。
1.导入模块或包
import 包名或模块名 (as 别名),包名或模块名 (as 别名)
2.导入模块或包下的程序单元
from 包名或模块名 import 程序单元 (as 别名),程序单元 (as 别名)
如果导入的是模块,程序单元指的是py文件下的变量、方法、类
如果导入的是包,程序单元指的是包中的py文件
3.两种方式导入的区别
用import方式导入,引入的方法需要带上模块名
用from方式导入,引入的方法不需要带模块名
例如:有两个文件 a.py和b.py
b.py
def dog():
print('汪汪汪')
def cat():
print('喵喵喵')
class student:
age=18
name='tom'
def address(self):
print('湖北路')
a.py 用import方式引入
import b
b.dog()
b.student.address("")
a.py用from..import方式
from b import *
b.dog()
b.student.address("")
4.部分导入
(1)指定导入的模块或方法
对于模块 部分导入指的是导入某个变量方法或类
from b import dog,student
dog()
student.address("")
cat()#报错

(2)使用内置__all__
b.py
def dog():
print('汪汪汪')
def cat():
print('喵喵喵')
class student:
age=18
name='tom'
def address(self):
print('湖北路')
__all__=['dog','student']
a.py
from b import *
dog()
student.address("")
cat()#报错

但是可以使用局部引入
from b import dog,student,cat
dog()
student.address("")
cat()

二、定义包

创建一个 module1文件夹,里面创建两个文件
hello.py
def hello():
print('hello')
hi.py
def hi():
print('hi')
(1)用.子模块方式导入
import module1.hi
module1.hi.hi()
(2)或者创建__init__文件
__init__.py
from . import hi #从当前包中导入hi模块
(11)python 模块和包的更多相关文章
- Python/模块与包之模块
Python/模块与包之模块 1.什么是模块? 模块就是py文件 2.为什么要用模块? 如果在解释器上进行编码,把解释器关闭之前写的文件就不存在了,如果使用模块的话就能永久保存在磁盘中. 3.如何使用 ...
- Python模块、包、异常、文件(案例)
Python模块.包.异常.文件(案例) python.py #模块 # Python中的模块(Module),是一个Python文件,以.py文件结尾,包含了Python对象定义和Python语句, ...
- 【Python】解析Python模块与包
模块 模块是非常简单的Python文件,单个Python文件就是一个模块,两个文件就是两个模块. import语句是用来导入模块或者从模块里导入特定的类或者函数.如前面我们用过的math模块,从而可以 ...
- python 模块和包深度学习理解
python 模块和包 简单说相当于命名空间 1,python 模块 python模块就是一个文件,里面有函数,变量等 import 模块 模块.方法 from 模块 import fu ...
- (三)运用Python模块和包
1 引言 为了能够在Python项目中高效地运用Python模块和包,我们需要进一步地来了解它们是如何在Python项目中进行定义.使用和工作的. 2 Python模块和包 Python模块和包的基本 ...
- Python模块04/包/logging日志
Python模块04/包/logging日志 目录 Python模块04/包/logging日志 内容大纲 1.包 2.logging日志 3.今日总结 内容大纲 1.包 2.logging日志 1. ...
- 第10.11节 Python模块和包小结
Python的模块就是一个独立的Python文件,Python的包是一些功能相关的Python文件放到一个目录下进行统一管理的文件管理结构,包本质上是模块,加载包就是加载包下特定的模块文件__init ...
- python 模块和包的基础知识
1.常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀 2.为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理.这时我们不仅 ...
- Python模块和包
模块和包是python组织代码的基本方式. 模块: python的每一个脚本文件都可称之为模块,模块的名称就是脚本的文件名.例如当我们写了一个test.py的脚本文件,则可以在同目录下的另外一个脚本m ...
随机推荐
- 当xml结构很深时候 可以通过父节点删除子元素
当xml结构很深时候 可以通过父节点删除子元素
- P1368 工艺
题目描述 小敏和小燕是一对好朋友. 他们正在玩一种神奇的游戏,叫Minecraft. 他们现在要做一个由方块构成的长条工艺品.但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工艺品最左边的方 ...
- 【转】IBatis.Net项目数据库SqlServer迁移至Oracle
转自:http://www.2cto.com/database/201312/265514.html 最近完成了一个(IBatis.Net+MVC)项目的数据库+代码迁移工作,可把我折腾得~~~ IB ...
- ZJOI2018 Day2 滚粗记 + 流水账
一脸懵逼地就被直接拉过来浙江省选了,一年参加两次省选成就达成-- 讲课啥的都没听,过去休息了一天就进行比赛了.考试之前感冒没好透,精神不是 \(100\%\) 的状态,但是并无大碍(反正最后都很凉). ...
- TYVJ 1035 / codevs 2171 棋盘覆盖
Problem Description 给定一个n * m的棋盘,已知某些各自禁止放置,求最多往棋盘上放多少长度为2宽度为1的骨牌(骨牌不重叠) Input 第一行为n,m(表示有m个删除的格子)第二 ...
- ng的ngModel用来处理表单操作
https://segmentfault.com/a/1190000009126012
- idea 导入spring 源码注意的问题
问题:idea导入spring 源码的步骤是: 首先从官网下载spring的源码:git clone https://github.com/spring-projects/spring-framewo ...
- java程序在centos7里面开机自启动
1.我们先来个简单的start,status,stop程序: [root@localhost ~]# cat /home/tomcat/jarservice.sh #!/bin/bashCU_PID= ...
- linux查看操作系统是多少位
有三种方法: 1.echo $HOSTTYPE 2.getconf LONG_BIT,此处不应该是getconf WORD_BIT命令,在64位系统中显示的是32 3.uname -a 出现" ...
- org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported解决!
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported解决 ...