第十章 Python 自定义模块及导入方法

news2024/11/25 20:26:26

系列文章目录

第一章 Python 基础知识
第二章 python 字符串处理
第三章 python 数据类型
第四章 python 运算符与流程控制
第五章 python 文件操作
第六章 python 函数
第七章 python 常用内建函数
第八章 python 类(面向对象编程)
第九章 python 异常处理
第十章 python 自定义模块及导入方法
第十一章 python 常用标准库
第十二章 python 正则表达式
第十三章 python 操作数据库


文章目录

  • 系列文章目录
  • 自定义模块
    • 示例
  • \__name__=="_main_" 作用
    • 示例
  • 模块帮助文档
    • \__doc__
  • help
  • 总结


自定义模块

一个较大的程序一般应分为若干个程序块,若干个程序块称为模块,每个模块用来实现一部分特定的功能。
这样做的目的是为了将代码有组织的存放一起,方便管理和重复应用

# 定义一个模块
# vim mymodule.py
name = "wang"
def count(a,b):
    result = a * b
    return f"{a}{b}的乘积是:{result}"

# 使用模块的方法:
# import <模块名称>
# from <模块名称> import <方法名>
# 注:模块名称即py文件名称

示例

# vim mymodule.py
name = "wang"
def count(a,b):
    result = a * b
    return f"{a}{b}的乘积是:{result}"

class Calc():
    def __init__(self,a,b):
        self.a = a
        self.b = b
    def count(self):
        return self.a * self .b

# vim de.py
# 使用模块的方法
import mymodule
# 调用变量
print(mymodule.name)
# 执行函数
print(mymodule.count(5,6))
# 执行类
calc = mymodule.Calc(5,6)
print(calc.count())

from mymodule import count # 导入单个的
# from mymodule import *   # 导入所有的
print(count(5,6))

在这里插入图片描述

_name_==“main” 作用

mymodule.py作为一个模块,我们希望保留末尾测试代码,既上面调用函数和类,但也不希望再导入模块的时候执行。该怎么办呢?
可以利用Python文件的一个内置属性__name__实现,如果直接运行Python文件,__name__的值是"main",如果import一个模块,那么模块的__name__的值是"文件名" 。

示例

# vim mymodule.py
print(__name__)
# vim de.py
# 使用模块的方法
import mymodule

在这里插入图片描述

# vim mymodule.py
if __name__ == "__main__":
    print("我再手动执行这个程序")
else:
    print("其他程序调用了我")
# vim de.py
# 使用模块的方法
import mymodule

在这里插入图片描述

模块帮助文档

我们知道,在定义函数或者类时,可以为其添加说明文档,以方便用户清楚的知道该函数或者类的功能。
自定义模块也不例外,也可以添加说明文档,与函数或类的添加方法相同,既只需在模块开头的位置定义一个字符串即可

_doc_

# vim mymodule.py
'''
这是一个统计的模块
提供了有以下几种使用方法:
变量
函数
类
'''
name = "wang"
def count(a,b):
    result = a * b
    return f"{a}{b}的乘积是:{result}"

class Calc():
    def __init__(self,a,b):
        self.a = a
        self.b = b
    def count(self):
        return self.a * self .b
if __name__ == "__main__":
    print("我再手动执行这个程序")
else:
    print("其他程序调用了我")
vim de.py
# 使用模块的方法
import mymodule

# 查看模块帮助
print(mymodule.__doc__)
# 调用变量
print(mymodule.name)
# 执行函数
print(mymodule.count(5,6))
# 执行类
calc = mymodule.Calc(5,6)
print(calc.count())

from mymodule import count # 导入单个的
# from mymodule import *   # 导入所有的
print(count(5,6))

在这里插入图片描述

import os
print(os.__doc__)

在这里插入图片描述

help

# 使用模块的方法
import mymodule
# 查看模块帮助
help(mymodule)

在这里插入图片描述


总结

以上就是今天学习的内容,本文仅仅简单学习了python自定义模块及导入使用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cookie、Session、Token、JWT 一篇就够了

什么是认证&#xff08;Authentication&#xff09; 通俗地讲就是验证当前用户的身份&#xff0c;证明“你是你自己”&#xff08;比如&#xff1a;你每天上下班打卡&#xff0c;都需要通过指纹打卡&#xff0c;当你的指纹和系统里录入的指纹相匹配时&#xff0c;就打卡成功&a…

git工作流(待续)

一、git git是分布式管理系统和集中式的区别在于每个人具有的本地份数不同&#xff0c;集中式只有一份 分布式 主要是 协同工作 gitlab github 等是git仓库的一个托管平台 二、git安装、初始化 基础配置 第一次需要对身份进行说明 git config --global user.name "xx&…

阿里云安全恶意程序检测(速通二)

阿里云安全恶意程序检测 高阶数据探索变量分析连续数值变量与连续数值变量单个类别变量与连续数值变量两个类别变量与连续数值变量两个变量线性关系探索查看多个双变量关系的技巧 高阶数据探索多变量交叉探索 高阶数据探索 变量分析 连续数值变量与连续数值变量 分析连续数值…

SQL第三次上机作业

1.查询与王利就读同一专业学生的借书证号和姓名 SELECT Lno,Rname FROM Reader WHERE Dept(SELECT DeptFROM ReaderWHERE Rname王利)2.查询比希望出版社出版的所有图书价格都高的图书信息 SELECT * FROM Book WHERE Price>(SELECT MAX(Price)FROM BookWHERE Press希望出版…

【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)

C 入门 四 1.内联函数1.1前言&#xff08;引出内联函数&#xff09;①写一个Add函数的宏定义②宏的缺点③C对宏的态度 1.2内联函数①概念②内联函数特性 2.auto关键字(C11)① 类型别名思考② auto简介③ auto的使用细则④ auto不能推导的场景 3. 基于范围的for循环(C11)① 范围…

【计算机网络笔记】TCP的拥塞控制机制

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

3.27每日一题(常系数线性非齐次方程的特解)

常系数非齐次线性方程的特解如何假设&#xff08;两种&#xff09;形式&#xff1a; 1、题目中 e 的 x 次幂以及 1&#xff0c;都是第一种&#xff1a;1可以看成为e的0次幂 注&#xff1a;题目给的多项式是特殊的形式&#xff0c;我们要设为一般的形式的多项式 2、题目中sin…

git使用全解析 | git的原理 配置 基础使用 分支 合并

文章目录 1 git初步了解1.1 git的安装1.2 git原理模型1.3 git基础配置1.4 git基础用法1 将文件加入暂存区2 查看当前的git仓库状态3 删除文件4 commit 将暂存区文件加入本地git版本仓库5 查看提交历史 更改 2 分支2.1 创建分支2.2 查看分支2.3 切换分支2.4 内容比较 3 合并 本文…

【单片机基础小知识-如何通过指针来读写寄存器】

寄存器的本质就是内存&#xff0c;RAM&#xff0c;而指针是可以对内存进行操作的&#xff0c;因此可以通过指针来读写寄存器。 如何读取以下一片地址&#xff1a; 步骤1、首地址 结构体&#xff0c;它所占用的内存空间大小与它内部成员有关。 构造一个28字节的类型 type…

nginx知识点-1

#因为是最小化安装&#xff0c;先安装vim编辑器&#xff0c;net-tools查看端口&#xff0c;psmisc可以使用killall命令bash-completion tab补全命令(需要重启生效)[rootlocalhost ~]# yum -y install net-tools psmisc vim bash-completion [rootlocalhost ~]# tar zxvf nginx-…

报错Could not resolve placeholder ‘driver‘ in value “${driver}“

这是我的报错&#xff1a; 原因是我的applicationContext.xml文件加载properties文件径错误&#xff1a; 应该把路径改成这样就可以了&#xff1a;

强化学习中值的迭代

一、价值的迭代 策略迭代的一个缺点是&#xff0c;其每次迭代都涉及策略评估&#xff0c;这本身可能是一个漫长的迭代计算&#xff0c;需要多次遍历状态集。如果策略评估是迭代进行的&#xff0c;那么只有当趋近于vπ时才会收敛。我们是否必须等待完全收敛&#xff0c;还是可以…

mac电脑系统清理软件CleanMyMac X2024破解版下载

基本上&#xff0c;不管是win版还是Mac版的电脑&#xff0c;其装机必备就是一款电脑系统清理软件&#xff0c;就比如Mac&#xff0c;目前在市面上&#xff0c;电脑系统清理软件是非常多的。 对于不熟悉系统的用户来说&#xff0c;使用一些小众工具&#xff0c;往往很多用户都不…

如何快速部署Apache服务器并使用内网穿透实现远程连接

Apache服务安装配置与结合内网穿透实现公网访问 文章目录 Apache服务安装配置与结合内网穿透实现公网访问前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpo…

nacos配置中心docker部署、配置及 goLang 集成使用

为什么需要配置中心 平时我们写一个demo的时候&#xff0c;或者说一个单体的应用&#xff0c;都会有一个配置文件&#xff0c;不管是 json文件或者yaml文件&#xff0c;里面包含了redis,mysql,es等信息&#xff0c;如果我们修改了配置文件&#xff0c;往往我们需要重启&#x…

【面试题01】找出数组中的最长前缀

题目1&#xff1a;如图&#xff0c;finally中的输出语句会执行吗&#xff1f;&#xff08;另外自己去考虑虚拟机退出、catch中抛异常、try中抛异常、守护线程等相关问题&#xff09; 题目2&#xff1a;Byte"hello"报错吗&#xff1f;Byte7报错吗&#xff1f; 不会报…

服务器的操作系统,你选择哪些?

OpenCloudOS CentOS CentOS Stream Ubuntu Debian Windows Server

【c++】——类和对象(中)——默认成员函数(上)

【学习目标】 1. 类的6个默认成员函数 2. 构造函数 3. 析构函数 4. 拷贝构造函数 目录 一.类的6个默认成员函数 二. 构造函数 2.1 概念 2.2.特性 三.析构函数 3.1.概念 3.2 特性 四.拷贝构造函数 4.1.概念 4.2.特性 一.类的6个默认成员函数 如果一个类中什么成员…

解决 SSLError: HTTPSConnectionPool(host=‘huggingface.co‘, port=443)

看我的回答&#xff1a; https://github.com/huggingface/transformers/issues/17611#issuecomment-1794486960 能问这个问题的都是网络不太好的&#xff0c;你懂的&#xff0c;所以答案全是解决网络的。 得益于这个回答&#xff1a;#17611 (comment) 看了一下代码&#xf…

Apache Doris (五十三): Doris Join类型 - Shuffle Join

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. shuffle Join的原理