您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

python中模块与包

时间:2022-09-14 13:55:47  来源:今日头条  作者:牛鹭软件测试

模块

当代码量很大的时候,我们不可能把所有的代码写在一个文件中,所以这时候就需要分多个.py文件进行写代码。一个.py文件就是一个模块。如文件名为main.py,那么模块名就为main。即可以把模块理解为文件。像之前的 import random,random就是一个文件

模块的使用

1. from 模块名 import xx

从指定的模块中导入指定的东西。如下在main文件中导入function模块中的函数

function.py

def add(a , b):
c = a + b
print(c)
def jian(a,b):
c = a + b
print(c)

print("ok")

main.py

将function模块中的add,jian函数导入,默认其他的输出语句也会导进来

from function import add,jian
add(2,3)
jian(5,2)

 

2. from 模块名 import *

从指定的模块中导入所有的东西。但是不推荐使用,容易导致函数不知道来自哪个模块

main.py

from function import *
add(2,3)
jian(5,2)

 

3. import 模块名

或者可以直接先导入模块,然后在需要调用模块中的函数的时候,模块名.函数名,即可

function.py

def add(a , b):
c = a + b
print(c)
def jian(a,b):
c = a + b
print(c)

print("ok")

main.py

import function
function.add(2,3)

 

if __name__ == "__main__":

在上面介绍的三种导入模块的方法中我们知道,导入的时候不仅会导入指定的函数,还会将其他的print等一些语句导入进去,这显然不会我们想要的

function.py

def add(a , b):
c = a + b
print(c)
def jian(a,b):
c = a + b
print(c)

print("ok")
add(4,4)

main.py

from function import add
add(5,6)

本来只想导入add这个函数,然后把其他的无关紧要的测试语句要导入进来了

 

为了避免这些测试代码在模块被导入后执行,可以利用__name__属性。

function.py

我们将一些测试语句放在__name__ == '__main__'下面,导包的时候就不会将这些无关的数据导入进去

def add(a , b):
c = a + b
print(c)
def jian(a,b):
c = a + b
print(c)
if __name__ == '__main__':
print("ok")
add(4,4)

main.py

from function import add
add(5,6)

 

那什么是包了?多个相同功能的模块,放在同一个文件夹下,并且拥有__init__.py 这个文件,那么这个文件夹就叫包。

__init__.py

当倒入包的时候,包中的__init__.py中的内容会自动执行,无需手动调用

package包内容如下

 

test.py

test.py与package文件夹处于同一级目录,导入包中的read, write模块中的函数,此时会自动导入__init__.py中的内容

from package.read import re #从包中的模块中导入函数
from package.write import wr
re()
wr()

__inti__.py中的文件内容

print("没有主动调用也会自动调用")

 

 

原文链接:
https://blog.csdn.NET/qq_44159028/article/details/120415294



Tags:python   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
大家好,我是皮皮。一、前言前几天在小小明大佬的Python交流群中遇到一个粉丝问了一个使用Python实现数理统计的实战问题,觉得还挺有用的,这里拿出来跟大家一起分享下。Excel数...【详细内容】
2022-11-03  Tags: python  点击:(5)  评论:(0)  加入收藏
#安装数据库#根据数据用途选择MySQL\PostgreSQL\SQLite\MariaDB\MongoDB\clickhouse等数据库#本文以MySQL PostgreSQL 为例,其他类似。安装方法自行搜索,不在赘述。# -*- codi...【详细内容】
2022-11-01  Tags: python  点击:(8)  评论:(0)  加入收藏
为什么叫猴子补丁?猴子补丁的这个叫法起源于Zope框架,大家在修正Zope的Bug的时候经常在程序后面追加更新部分,这些被称作是“杂牌军补丁(guerillapatch)”,后来guerilla就渐渐的...【详细内容】
2022-11-01  Tags: python  点击:(6)  评论:(0)  加入收藏
一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对,地图上显示的结果和网络爬虫抓到...【详细内容】
2022-10-31  Tags: python  点击:(6)  评论:(0)  加入收藏
mport sysimport osfrom PyQt5 import QtWidgetsfrom PyQt5.QtGui import QIconimport xlrdimport datetimeimport timefrom openpyxl import Workbookfrom openpyxl.styles...【详细内容】
2022-10-26  Tags: python  点击:(14)  评论:(0)  加入收藏
Python作为时下最热门的编程语言之一,有许多库资源。这么多资源,有哪些是程序员必备的Python库呢?老K根据了自己和身边程序员同事及朋友的经验,结合了Github上的star数据,汇总出...【详细内容】
2022-10-25  Tags: python  点击:(18)  评论:(0)  加入收藏
参加数学建模比赛,需要明确的一点: 专业知识是一方面,不要单纯地以为把文章写好就能够拿奖; 软件的运用,文章的排版也很重要,排版美观,插图好看,讲事实摆道理通过仿真图,比如函数的拟...【详细内容】
2022-10-24  Tags: python  点击:(2)  评论:(0)  加入收藏
来源丨网络前言在使用 Python 的早些年,为了解决 Python 包的隔离与管理 virtualenvwrapper 就成为我的工具箱中重要的一员。后来,随着 Python 3 的普及,virtualenvwrapper 逐...【详细内容】
2022-10-24  Tags: python  点击:(4)  评论:(0)  加入收藏
案例需求:定义一个数字(1~10,随机产生),通过3次判断来猜出来数字 案例要求: 1.数字随机产生,范围1-10 2.有3次机会猜测数字,通过3层嵌套判断实现 3.每次猜不中,会提示大了或小了...【详细内容】
2022-10-24  Tags: python  点击:(9)  评论:(0)  加入收藏
用python画不断增大的渐变色片状立体图形,源码解释如下:import turtle as t 调用turtle库import colorsys 调用颜色t.bgcolor("black") 设置背景颜色t.tracer(100) 设置追踪频...【详细内容】
2022-10-24  Tags: python  点击:(11)  评论:(0)  加入收藏
▌简易百科推荐
大家好,我是皮皮。一、前言前几天在小小明大佬的Python交流群中遇到一个粉丝问了一个使用Python实现数理统计的实战问题,觉得还挺有用的,这里拿出来跟大家一起分享下。Excel数...【详细内容】
2022-11-03  Python进阶学习交流  今日头条  Tags:Python   点击:(5)  评论:(0)  加入收藏
#安装数据库#根据数据用途选择MySQL\PostgreSQL\SQLite\MariaDB\MongoDB\clickhouse等数据库#本文以MySQL PostgreSQL 为例,其他类似。安装方法自行搜索,不在赘述。# -*- codi...【详细内容】
2022-11-01  Pgabc    Tags:Python   点击:(8)  评论:(0)  加入收藏
为什么叫猴子补丁?猴子补丁的这个叫法起源于Zope框架,大家在修正Zope的Bug的时候经常在程序后面追加更新部分,这些被称作是“杂牌军补丁(guerillapatch)”,后来guerilla就渐渐的...【详细内容】
2022-11-01  VT漫步  今日头条  Tags:Python   点击:(6)  评论:(0)  加入收藏
一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对,地图上显示的结果和网络爬虫抓到...【详细内容】
2022-10-31  Python进阶者    Tags:Python   点击:(6)  评论:(0)  加入收藏
mport sysimport osfrom PyQt5 import QtWidgetsfrom PyQt5.QtGui import QIconimport xlrdimport datetimeimport timefrom openpyxl import Workbookfrom openpyxl.styles...【详细内容】
2022-10-26  张先生870707  今日头条  Tags:Python   点击:(14)  评论:(0)  加入收藏
学习目标 了解分类器的任务和数据样式 掌握如何用Pytorch实现一个分类器分类器任务和数据介绍 构造一个将不同图像进行分类的神经网络分类器, 对输入的图片进行判别并完成分...【详细内容】
2022-10-25  传智教育官方账号  今日头条  Tags:Pytorch实   点击:(11)  评论:(0)  加入收藏
Python作为时下最热门的编程语言之一,有许多库资源。这么多资源,有哪些是程序员必备的Python库呢?老K根据了自己和身边程序员同事及朋友的经验,结合了Github上的star数据,汇总出...【详细内容】
2022-10-25  老K玩代码  今日头条  Tags:Python库   点击:(18)  评论:(0)  加入收藏
参加数学建模比赛,需要明确的一点: 专业知识是一方面,不要单纯地以为把文章写好就能够拿奖; 软件的运用,文章的排版也很重要,排版美观,插图好看,讲事实摆道理通过仿真图,比如函数的拟...【详细内容】
2022-10-24  思铺学院    Tags:数学建模   点击:(2)  评论:(0)  加入收藏
案例需求:定义一个数字(1~10,随机产生),通过3次判断来猜出来数字 案例要求: 1.数字随机产生,范围1-10 2.有3次机会猜测数字,通过3层嵌套判断实现 3.每次猜不中,会提示大了或小了...【详细内容】
2022-10-24  念兮暮霞如烟    Tags:python   点击:(9)  评论:(0)  加入收藏
用python画不断增大的渐变色片状立体图形,源码解释如下:import turtle as t 调用turtle库import colorsys 调用颜色t.bgcolor("black") 设置背景颜色t.tracer(100) 设置追踪频...【详细内容】
2022-10-24   嘻呱嘻呱大又圆     Tags:python   点击:(11)  评论:(0)  加入收藏
站内最新
站内热门
站内头条