Python模块方法总结

一 模块简介

模块(module)和C语言中的头文件以及Java中的包很类似,在Python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入。

import math

#这样会报错
print sqrt(2)

#这样才能正确输出结果
print math.sqrt(2)

有时候我们只需要用到模块中的某个函数,只需要引入该函数即可,此时可以用下面方法实现:

from 模块名 import 函数名1,函数名2....
# 如果想一次性引入math中所有的东西,还可以通过from math import *来实现

注意:如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,不会被from xxx import *时导入。

二 模块定位

当你导入一个模块,Python解析器对模块位置的搜索顺序是:

当前目录
如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

三 模块制作

在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字,如下所示 test.py文件即为一个模块:

    def add(a,b):
        return a+b
    # 以下是模块作者的测试代码,无需执行,则需要根据__name__变量的结果能够判断出,是直接执行的python脚本还是被引入执行的,从而能够有选择性的执行测试代码
    if __name__ == 'main':
        print('test..')

在另外一个文件调用该模块:

    import test

    result = test.add(11,22)
    print(result)

四 包:Python中对模块的组织

多个模块互有关系,且最终在合作下统一向外提供一些功能,此时可以将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包。

init.py 控制着包的导入行为,仅仅是把这个包导入,不会导入包中的模块。在__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模块:

__all__ = ["sendMsg", "receiveMsg"]
print("---1---")
def test():
    print("---2---")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/552596.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初识ansible核心模块

目录 1、ansible模块 1.1 ansible常用模块 1.2 ansible-doc -l 列出当前anisble服务所支持的所有模块信息,按q退出 1.3 ansible-doc 模块名称 随机查看一个模块信息 2、运行临时命令 2.1 ansible命令常用的语法格式 3、常用模块详解与配置实例 3.1命令与…

RK3568驱动指南|第二篇 字符设备基础-第16章 一个驱动兼容不同设备实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

PhotoShop2024安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 Adobe Photoshop是一款由Adobe Systems开发的图像编辑软件。它被广泛用于图像处理和数字艺术创作,是设计师、摄影师和艺术家们的首选工具之一。 主要功能: 图像编辑: Photoshop提供了丰富的编辑…

content-type对数据采集的影响,猿人学58题

在拿猿人学网站 https://www.python-spider.com/api/challenge58 练习的时候发现请求头中少了 content-type之后结果全部不对了 当我设置headers如下时 headers {# accept: application/json, text/javascript, */*; q0.01,content-type: application/x-www-form-urlencode…

【前端Vue】Vue从0基础完整教程第7篇:组件化开发,组件通信【附代码文档】

Vue从0基础到大神学习完整教程完整教程(附代码资料)主要内容讲述:vue基本概念,vue-cli的使用,vue的插值表达式,{{ gaga }},{{ if (obj.age > 18 ) { } }},vue指令,综合…

使用WebSocket实现答题积分排名实时更新的功能

需求分析 接到一个需求,是一个答题积分小程序,其中有一个功能需求是需要实时更新答题积分排名的。之前通常比较常见的需求,都是指定某个时间点才更新答题排行榜的数据的。 经过技术调研,要实现答题积分排名实时更新的功能&#…

基于SpringBoot+Vue的装饰工程管理系统(源码+文档+包运行)

一.系统概述 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统装饰工程项目信息管理难度大,容错率低&a…

Word分节后,页码不连续、转PDF每节后多出空白页解决办法

1. 问题图例 废话少说,先上图: 2. 问题分析 问题分析:出现以上问题的原因可能有, 未链接到上一节页面布局中节的起始位置设置为[奇数页] 3. 解决问题 若为【1. 未链接到上一节】导致该问题出现,则我们需要选中页脚…

【Java开发指南 | 第十一篇】Java运算符

读者可订阅专栏:Java开发指南 |【CSDN秋说】 文章目录 算术运算符关系运算符位运算符逻辑运算符赋值运算符条件运算符(?:)instanceof 运算符Java运算符优先级 Java运算符包括:算术运算符、关系运算符、位运算符、逻辑运算符、赋值…

Resilience中的RateLimiter

Resilience中的RateLimiter 一、RateLimiter(限流)1.常见的限流算法漏桶算法(Leaky Bucket)令牌桶算法(Token Bucket)——Spring cloud 默认使用该算法滚动时间窗口(tumbling time window&#…

JVM之方法区的详细解析

方法区 方法区:是各个线程共享的内存区域,用于存储已被虚拟机加载的类信息、常量、即时编译器编译后的代码等数据,虽然 Java 虚拟机规范把方法区描述为堆的一个逻辑部分,但是也叫 Non-Heap(非堆) 设置方法…

就业班 第三阶段(nginx) 2401--4.17 day1 nginx1

负载均衡集群 1、集群是什么? 1 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。 …

【AI】什么是Ai Agent

什么是AI Agent? AI Agent是指人工智能代理(Artificial Intelligence Agent)是一种能够感知环境进行自主理解,进行决策和执行动作的智能体。AI Agent具备通过独立思考、调用工具逐步完成给定目标的能力。不同于大模型的区别在于&…

20240417,友元 FRIEND

本来要学习的吃瓜吃了一下午 目录 3.1 全局函数做友元 3.2 友元类 3.3 成员函数做友元 三&#xff0c;友元 3.1 全局函数做友元 #include<iostream> using namespace std; class Building {friend void goodGay(Building* building);//好朋友&#xff0c;可以访问…

13.哀家要长脑子了!

1. 442. 数组中重复的数据 - 力扣&#xff08;LeetCode&#xff09; 哎哟&#xff0c;可能是我太蠢了&#xff0c;我是真的觉得这些题目好神奇的&#xff0c;就这样做到了。感觉这道题跟昨天那道消失的它很类似&#xff0c;但是简单一点。 按照题目的要求数组如果排好序的话应…

必应Bing国内广告推广,帮助企业降低获客成本!

搜索引擎广告作为数字营销的重要手段之一&#xff0c;因其精准定位和效果可衡量而备受青睐。而在众多搜索引擎平台中&#xff0c;必应Bing以其独特的市场定位和用户群体成为不可忽视的广告推广渠道。云衔科技作为一家专业的数字营销服务提供商&#xff0c;致力于帮助企业实现高…

Fiddler抓包工具之高级工具栏中的Inspectors的使用

高级工具栏中的Inspectors的使用 Inspectors 页签允许你用多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片&#xff0c;HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合http标准的请求和响应头。Cookies标签可以看到…

标志寄存器

文章目录 标志寄存器1. ZF标志2. PF标志3. SF标志4. CF标志5. OF标志6. adc指令7. sbb指令8. cmp指令9. 检测比较结果的条件转移指令10. DF标志和串传送指令11. pushf和popf 标志寄存器 flag 和其他寄存器不一样&#xff0c;其他寄存器是用来存放数据的&#xff0c;都是整个寄…

MCU最小系统晶振模块设计

单片机的心脏&#xff1a;晶振 晶振模块 单片机有两个心脏&#xff0c;一个是8M的心脏&#xff0c;一个是32.768的心脏 8M的精度较低&#xff0c;所以需要外接一个32.768khz 为什么是8MHZ呢&#xff0c;因为内部自带的 频率越高&#xff0c;精度越高&#xff0c;功耗越大&am…

直拍打法 漫漫长夜

小时候爱玩的时候&#xff0c;有马琳&#xff0c;刘国梁这些大腿在&#xff0c;谁敢想象现在顶尖高手中只有一根独苗而且是欧洲本土独苗了&#xff1f; 小勒布伦&#xff0c;真*直拍之光。 有一说一&#xff0c;国际乒联对于器材的调整&#xff0c;无论是改低粘度的无机胶水&am…