当前位置: 首页 > news >正文

Python第二语言(七、Python模块)

目录

1. 什么是模块

2. 基本语法

2.1 模块的导入方式

2.2 基本语法 import 模块名

2.3 基本语法 from 模块名 import 功能名

2.4 基本语法as 别名

3. 自定义模块

4. 调用自定义模块时,如何让其模块中的函数不被调用(__name__)

5. 调用自定义模块时只取定义的函数(__all__)


1. 什么是模块

  1. Python 模块(Module),是一个 Python 文件,以.py 结尾;
  2. 模块的作用:python中有很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,比如实现和时间相关的功能就可模以使用time块我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用进而实现各种不同的功能;

2. 基本语法

2.1 模块的导入方式

常用的组合形式如:

  1. import 模块名**;**
  2. from 模块名 import 类、变量、方法等from 模块名 import *;
  3. import 模块名 as别名;
  4. from模块名import功能名as 别名;
[from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名] 
2.2 基本语法 import 模块名

基本语法:

# 基本语法
import 模块名
import 模块名1, 模块名2模块名.功能名()

案例:

# 导入模块
import timeprint("开始")
time.sleep(1)  # 使程序睡眠1秒
print("结束")

2.3 基本语法 from 模块名 import 功能名
# from 模块名 import功能名
# 功能名()from time import sleep
print("开始")
sleep(1)
print("结束")

2.4 基本语法as 别名
# 模块定义别名import 模块名 as 别名# 功能定义别名
from 模块名 import 功能 as 别名
# 案例
import time as imim.time(2)from time import sleep as spsp(2)

3. 自定义模块

Python中有很多已经实现的模块,不过有时候需要我们定义个性化的模块:

4. 调用自定义模块时,如何让其模块中的函数不被调用(__name__)

  • Python中if name == ‘main‘:的作用和原理_python if-CSDN博客
  • 这个if的作用是:__name__这是python自带的不用管,'main'会把下面这个函数取一个叫做'main'的名字,当等于这个名字的时候才会执行。防止被调用整个模块的时候把当前的函数也调用了。
  • if name == "main": 这句话就是作为一个条件限制吧,这句话以下的代码只有在运行的这个.py文件的时候才会执行,当作为模块在别的.py文件中调用的时候本.py文件中这句话下面的代码不会执行
def test(a, b):print(a + b)# '__main__'会把下面这个函数取一个叫做'__main__'的名字,
# 当等于这个名字的时候才会执行,防止被调用整个模块的时候把当前的函数也调用了;
if __name__ == '__main__':test(1, 2)

5. 调用自定义模块时只取定义的函数(__all__)

# 如果模块文件有__all__变量,当使用from xxx import * 导入时,只能导入这个列表中的元素
__all__ = ['test_a']def test_a():print('testA')def test_b():print('testB')
from test import *# 只可调用test_a
test_a()

http://www.lryc.cn/news/368767.html

相关文章:

  • 介绍单例模式
  • 【C++修行之道】类和对象(五)日期类的实现、const成员、取地址及const和取地址操作符重载
  • 来腾讯第4天,我已经焦虑昏了啊!
  • MacOS升级ruby版本
  • 【MySQL数据库基础】
  • QT系列教程(9) 主窗口学习
  • 【C++进阶】深入STL之 栈与队列:数据结构探索之旅
  • SpringBoot发邮件服务如何配置?怎么使用?
  • AutoCAD Mechanical机械版专业的计算机辅助设计软件安装包下载安装!
  • json.load报错AttributeError: ‘str‘ object has no attribute ‘load‘
  • 单词记忆(第二周)
  • RAG:如何从0到1搭建一个RAG应用
  • leetcode:67二进制求和
  • 大模型日报2024-06-10
  • 【博士每天一篇文献-综述】Modularity in Deep Learning A Survey
  • Sentinel不使用控制台基于注解限流,热点参数限流
  • HTML做成一个端午节炫酷页面
  • 解决Ubuntu系统/usr/lib/xorg/Xorg占用显卡内存问题原创
  • 【Activiti7系列】基于Spring Security的Activiti7工作流管理系统简介及实现(附源码)(下篇)
  • 解密Spring Boot:深入理解条件装配与条件注解
  • 【数据结构与算法】使用数组实现栈:原理、步骤与应用
  • cell的复用机制和自定义cell
  • Redis 双写一致原理篇
  • 《软件定义安全》之四:什么是软件定义安全
  • 将AIRNet集成到yolov8中,实现端到端训练与推理
  • hcache缓存查看工具
  • Java 数据类型 -- Java 语言的 8 种基本数据类型、字符串与数组
  • kafka-生产者事务-数据传递语义事务介绍事务消息发送(SpringBoot整合Kafka)
  • 免费!GPT-4o发布,实时语音视频丝滑交互
  • DevOps的原理及应用详解(四)