首页 > 编程语言 >(11)python 模块和包

(11)python 模块和包

时间:2022-12-08 15:38:48浏览次数:46  
标签:11 __ 模块 python 导入 student print import

一、导入模块和包

模块相当于一个.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()#报错

(11)python 模块和包_包名

(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()#报错

(11)python 模块和包_包名_02

但是可以使用局部引入

from b import dog,student,cat
dog()
student.address("")
cat()

(11)python 模块和包_包名_03

 二、定义包

(11)python 模块和包_包名_04

创建一个 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,导入,student,print,import
From: https://blog.51cto.com/u_13854953/5922256

相关文章

  • 第八章python实训
    实验报告【实验目的】 1.掌握Python内置的标准模块和第三方模块的使用。【实验条件】1.PC机或者远程编程环境。 【实验内容】1.完成第八章  文件及目录操作实......
  • python将软件包和所有的依赖都下载到本地的目录?
    实现这个功能,只需2步 1、创建目录 目录用于存放包及其依赖 mkdir/root/rdbtools  2、安装软件 这里安装rdbtoolspython-lzf 重点:--download参......
  • python 包管理
    python官方的第三方库的仓库:​​https://pypi.org/​​ pip是python的包管理工具pip--version#查看当前版本 安装pipinstall-Upip#升级pippipinstall包名==1.0.4......
  • Python 解释器
    命令行输入py进入解释器py退出解释器quit() 1.在命令行输入多行会显示...  2.文件字符编码py默认文件的字符编码为utf-8如果使用其他类型,在文件的开头#-*-coding:gb23......
  • python列表
    列表的运用1.减少元素(1)dells[]place=['lasa','chengdu','litang','xian','lundon']delplace[0]#输出['chengdu','litang','xian','lundon']还可以删......
  • 强化学习——QLearning和Sarsa算法及其Python实现
    主要是强化学习的课程,作业中涉及到了QLearning和Sarsa算法,特此记录。宝藏博主的强化学习专栏中包含了这两个算法的讲解,极为清晰,非常推荐。链接:机器学习+深度学习+强化学......
  • MMDet——pipline及数据增强模块解析
    博主目前在基于mmdet做HDMap的相关工作,因此需要从数据集、pipline以及模型结构各个方面都需要进行重构,而在pipline中,对于之前Detection通用的pipline,需要对Box的GT处理进......
  • Micropython——UART串口(蓝牙)
    文章目录​​HC-06蓝牙模块​​​​接线​​​​连接手机APP调试​​​​调试注意事项​​​​测试代码​​​​测试发送代码​​​​测试接收代码​​​​发送数据​​​​......
  • Paddle Inference——基于Jetson AGX部署python API预测库
    系统环境JetPack4.3如果需要此镜像的同学可以在​​Jetson下载中心​​下载即可。安装PaddlePaddle有两种方式,因为官方有已经编译好的python3.6的whl,所以我们直接下载就好,......
  • python——基于gmplot实现调用谷歌地图进行GPS轨迹可视化
    文章目录​​安装gmplot模块​​​​获取GPS开源数据集​​​​调用gmplot模块读取GPS数据并实现地图轨迹绘制​​因为需要做一个GPS数据的地图轨迹绘制,基于gmplot可以很好......