Python3,我用这种方式讲解python模块,80岁的奶奶都说能理解。建议收藏 ~ ~

news/2024/5/6 8:23:26/文章来源:https://blog.csdn.net/wuyoudeyuer/article/details/126669948

Python模块讲解

  • 1、引言
  • 2、python模块详解
    • 2.1 含义
    • 2.2 代码示例
    • 2.3 进阶
  • 3、总结

1、引言

小屌丝:鱼哥,你看天上的月亮越来越圆了。
小鱼:唉~ 又是一年团圆夜,又是一年中秋节。
小屌丝:嘿嘿,可不滴, 这个中秋,你准备分享点啥知识嘞?
小鱼:嗯??
在这里插入图片描述

小屌丝:鱼哥,你这是啥表情嘛~
小鱼:我万万没想到,这么多年,你竟然…
小屌丝:鱼哥,我这不是想多学点知识嘛 ~
小鱼:有多远你轱辘多远…
小屌丝:嘿嘿 ~ ~ 鱼哥,你就来分享一个知识呗。
小鱼:你…说…啥…,我没听清…
小屌丝:我说,你给我讲讲啥是python模块呗。
小鱼:你…说… 要请我吃饭??
小屌丝:…只要你给我讲明白,那咱就去撸串。
小鱼:你早点这么大声说, 我不就开始整了嘛。

2、python模块详解

2.1 含义

什么是python模块, 就一句话:

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

换句话说:就是带.py后缀的可执行文件。
作用:用来重复调用变量和函数。

可以看这个示意图:
在这里插入图片描述

2.2 代码示例

我详细,写过项目的同学,都知道,如何来进行模块的封装及调用。
这里我就举个例子:
readcsv.py

# -*- coding:utf-8 -*-
# @Time   : 2022-09-01
# @Author : Carl_DJimport csv
desction = 'csv读取函数'
print(desction)
def read_csv(path):with open(path, newline='') as csvfile:reader = csv.DictReader(csvfile)for i in reader:print(i)

调用方式: 直接通过import 导入 read_csv 函数即可

代码示例

#导入rad_csv模块
from readcsv import read_csv#文件路径
file_path = './testfile.csv'
#运行
read_csv(file_path)

这就是一个简单的调用。
这样编写的好处,就是如果需要多个地方调用,
那么只需要编辑readcsv.py文件即可, 不需要重复单独的编译多次。

2.3 进阶

想一下, 如果我们在readcsv.py 文件中,添加 if name == “main” ,有什么 作用呢?

# -*- coding:utf-8 -*-
# @Time   : 2022-09-01
# @Author : Carl_DJimport csv
desction = 'csv读取函数'
print(desction)
def read_csv(path):with open(path, newline='') as csvfile:reader = csv.DictReader(csvfile)for i in reader:print(i)if __name__ == '__main__':print(f'运行此脚本函数')

我们运行结果看一下:
在这里插入图片描述
解析:

  • __main__始终指当前执行模块的名称(包含后缀.py);
  • __name__是内置变量,当该模块被直接执行的时候, __name__等于文件名(包含后缀 .py )
  • 如果该模块 import 到其他模块中,则该模块的 __name__等于模块名称(不包含后缀.py)

所以,

  • 所以当直接执行脚本时候,name == "main"为真成立,可以继续执行后面代码;
  • 而当import导入模块时候,name == "main"为假,不成立,无法执行后面代码;

3、总结

看到这里, 今天的分享差不多就结束了。
更多的python内建模块,可以通过命令来查看:

help('modules')

查询结果

由于我安装的模块太多(含第三方模块),这里只展示一部分。

Cython              charset_normalizer  mailbox             send2trash
IPython             chunk               mailcap             servicemanager
MyQR                ci_info             main                setup_cython
PIL                 click               markupsafe          setuptools
PyInstaller         cmath               marshal             shape_infer_helper
PyPDF2              cmd                 math                shape_optimizer
PySimpleGUI         code                matplotlib          shelve
__future__          codecs              matplotlib_inline   shlex
_abc                codeop              mimetypes           shutil
_aix_support        collections         mistune             signal
_ast                colorama            mmap                simplejson
_asyncio            colorsys            mmapfile            site
_asyncio_d          commctrl            mmsystem            six
_bisect             commonmark          modulefinder        skimage
_blake2             compare_bert_results mouseinfo           smtpd
_bootlocale         compileall          msgpack             smtplib
_bootsubprocess     concurrent          msilib              sndhdr
_bz2                configobj           msvcrt              sniffio
_bz2_d              configparser        multidict           socket
_cffi_backend       contextlib          multipart           socketserver
_codecs             contextvars         multiprocessing     socks
_codecs_cn          convert_longformer_to_onnx nbclient            sockshandler
_codecs_hk          convert_tf_models_to_pytorch nbconvert           some_reportlab_snippets
_codecs_iso2022     convert_to_onnx     nbformat            soupsieve
_codecs_jp          copy                nest_asyncio        spacy_pkuseg
_codecs_kr          copyreg             netbios             spider
_codecs_tw          coreapi             netrc               sqlite3
_collections        coreschema          networkx            sre_compile
_collections_abc    corsheaders         nibabel             sre_constants
_compat_pickle      crispy_forms        nipype              sre_parse
_compression        cronlog             nisext              srsly
_contextvars        crontab             nntplib             ssl
_csv                crontabs            notebook            sspi
_ctypes             crypt               nt                  sspicon
_ctypes_d           css_html_js_minify  ntpath              starlette
_ctypes_test        cssselect           ntsecuritycon       stat
_ctypes_test_d      cssutils            nturl2path          statistics
_datetime           csv                 numba               storemagic
_decimal            ctypes              numbers             string
_decimal_d          curl2py             numpy               stringprep
_distutils_hack     curses              odbc                struct
_elementtree        cv2                 onnx_exporter       subprocess
_elementtree_d      cycler              onnx_model          suit
_functools          cython              onnx_model_bart     sunau
_hashlib            cythonmagic         onnx_model_bert     symbol
_hashlib_d          dataclasses         onnx_model_bert_keras sympyprinting
_heapq              datetime            onnx_model_bert_tf  symtable
_imp                dateutil            onnx_model_gpt2     sys
_io                 dbi                 onnxruntime         sysconfig
_json               dbm                 opcode              tablib
_locale             dde                 openapi_codec       tabnanny
_lsprof             debugpy             openpyxl            tarfile
_lzma               decimal             operator            telnetlib
_lzma_d             decorator           operator_type_usage_processors tempfile
_markupbase         defusedxml          optimizer           tenacity
_md5                diff_match_patch    optparse            termcolor
_msi                difflib             ordlookup           terminado
_msi_d              dis                 orjson              test
_multibytecodec     distutils           ort_flatbuffers_py  testpath
_multiprocessing    django              ort_model_processor tests
_multiprocessing_d  doctest             os                  textwrap
_opcode             docutils            packaging           this
_operator           docx                pandas              threading
_osx_support        docxcompose         pandocfilters       tifffile
_overlapped         docxtpl             parity_check_helper time
_overlapped_d       dot_parser          parser              timeit
_peg_parser         email               parso               timer
_pickle             encodings           past                tkinter
_py_abc             encutils            pathlib             token
_pydecimal          ensurepip           pdb                 tokenize
_pydev_bundle       entrypoints         pdfkit              tornado
_pydev_comm         enum                pefile              tqdm
_pydev_imps         errno               pendulum            trace
_pydev_runfiles     et_xmlfile          perfmon             traceback
_pydevd_bundle      etelemetry          peutils             tracemalloc
_pydevd_frame_eval  fastapi             pickle              traitlets
_pyinstaller_hooks_contrib faulthandler        pickleshare         traits
_pyio               ffmpy               pickletools         treedir
_pyrsistent_version ffmpy3              pikepdf             tty
_queue              filecmp             pip                 turtle
_queue_d            filediff            pipes               turtledemo
_random             fileinput           pkg_resources       types
_sha1               filelock            pkgutil             typing
_sha256             filetype            platform            typing_extensions
_sha3               fire                playwright          unicodedata
_sha512             fitz                plistlib            unicodedata_d
_shaded_ply         flask               poplib              unittest
_shaded_thriftpy    flatbuffers         posixpath           uritemplate
_signal             float16             pprint              url_normalize
_sitebuiltins       fnmatch             premailer           urllib
_socket             formatter           profile             urllib3
_socket_d           formtools           profiler            utils
_sqlite3            fractions           prometheus_client   uu
_sqlite3_d          frontend            prompt_toolkit      uuid
_sre                frozenlist          prov                uvicorn
_ssl                ftplib              pstats              uwsgiconf
_ssl_d              functools           pty                 uwsgify
_stat               fusion_attention    pvectorc            validate
_statistics         fusion_base         py2exe              venv
_string             fusion_biasgelu     pyPdf               warnings
_strptime           fusion_embedlayer   py_compile          watchdog
_struct             fusion_fastgelu     pyautogui           watermarker
_symtable           fusion_gelu         pyclbr              wave
_testbuffer         fusion_gelu_approximation pycompletionserver  wcwidth
_testbuffer_d       fusion_gpt_attention pycparser           weakref
_testcapi           fusion_gpt_attention_megatron pydantic            webbrowser
_testcapi_d         fusion_gpt_attention_no_past pydev_app_engine_debug_startup webencodings
_testconsole        fusion_layernorm    pydev_console       websockets
_testconsole_d      fusion_options      pydev_coverage      werkzeug
_testimportmultiple fusion_reshape      pydev_ipython       wheel
_testimportmultiple_d fusion_shape        pydev_pysrc         widgetsnbextension
_testinternalcapi   fusion_skiplayernorm pydev_test_pydevd_reload win2kras
_testinternalcapi_d fusion_utils        pydev_tests         win32_setctime
_testmultiphase     future              pydev_tests_mainloop win32api
_testmultiphase_d   gc                  pydev_tests_python  win32clipboard
_thread             gdown               pydevconsole        win32com
_threading_local    generate_test_data  pydevd              win32con
_tkinter            genericpath         pydevd_concurrency_analyser win32console
_tkinter_d          getopt              pydevd_file_utils   win32cred
_tracemalloc        getpass             pydevd_plugins      win32crypt
_uuid               gettext             pydevd_pycharm      win32cryptcon
_uuid_d             gevent              pydevd_tracing      win32ctypes
_version            glob                pydoc               win32event
_virtualenv         gpt2_beamsearch_helper pydoc_data          win32evtlog
_warnings           gpt2_beamsearch_tester pydot               win32evtlogutil
_weakref            gpt2_helper         pyee                win32file
_weakrefset         gpt2_parity         pyexpat             win32gui
_win32sysloader     gpt2_tester         pyexpat_d           win32gui_struct
_winapi             graphlib            pyforest            win32help
_winxptheme         greenlet            pygetwindow         win32inet
_xxsubinterpreters  gridfs              pygments            win32inetcon
_yaml               gzip                pylab               win32job
_zoneinfo           h11                 pymatting           win32lz
_zoneinfo_d         hashlib             pymongo             win32netbert_perf_test      jsonschema          reprlib             wkhtmltopdf
bert_test_data      jupyter             requests            wsgiref
binascii            jupyter_client      requests_cache      xdrlib
binhex              jupyter_core        requests_cache_mongodb xlrd
bisect              jupyterlab_pygments rest_framework      xlsxwriter
bleach              jupyterlab_widgets  rest_framework_swagger xlwings
bs4                 keyword             retcode             xml
bson                kiwisolver          retrying            xmlrpc
builtins            lib                 reversion           xxsubtype
bz2                 lib2to3             rich                yaml
cProfile            libfuturize         rlcompleter         yarl
cachetools          libpasteurize       rmagic              zhdate
calendar            linecache           runfiles            zipapp
catalogue           llvmlite            runpy               zipextimporter
cattr               locale              sched               zipfile
cattrs              logging             scipy               zipfile36
cchardet            loguru              scripts             zipimport
certifi             longformer          secrets             zlib
cffi                longformer_helper   select              zmq
cgi                 lxml                select_d            zoneinfo
cgitb               lzma                selectors           
chardet             machine_info        selenium            

当然了,如果想看内建函数,也可以直接点击跳转:

  • Python3,这应该是,使用最广泛的6个内置函数,别说你还不知道。
  • Python3,不知道Python内置库函数,不要错过这篇,必须收藏!!!

我是小鱼

  • CSDN博客专家
  • 51Testing认证讲师

关注我,带你学习更多更专业更有趣的Python知识。

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

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

相关文章

二维凸包问题

什么是二维凸包 假设墙上顶一组钉子,这些钉子的集合为X,我们用橡皮筋围住这些钉子,橡皮筋的形状就是凸包(来源于网络)。 向量的叉乘 对于两个向量pq⃗\vec{pq}pq​和qr⃗\vec{qr}qr​ 如果pq⃗\vec{pq}pq​和qr⃗\vec{qr}qr​的叉积结果大于0…

分销商城小程序开发运营逻辑是什么?

商城分销现在用的人比较多,其中用的最多的差不多就是二级分销、三级分销,除了这两种分销方式,还有一种是一级分销,不过裂变效果可能不如二级分销、三级分销要好,所以用的人不是特别的多。 二级分销跟三级分销的逻辑都差…

C++PrimerPlus跟读记录【第五章】循环和关系表达式

1、for 循环 for(initialization; test-expression; updata-expression)test-expression 关系表达式,结果强制为bool类型,true or false。 表达式和语句 C表达式是 值 或 值与运算符的组合,每个表达式都有值。表达式只要加上分号&#xff0…

剑指offer32-42字符串数组的应用

剑指 Offer II 032. 有效的变位词 给定两个字符串 s 和 t ,编写一个函数来判断它们是不是一组变位词(字母异位词)。t 是 s的变位词等价于「两个字符串不相等且两个字符串排序后相等」 注意:若 s 和 t 中每个字符出现的次数都相同…

QT QTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能

QT QTextEdit富文本插入字体-表格-编号-图片与查找功能,输入char 自动变成蓝色-语法高亮功能 QTQTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能.rar-QT文档类资源-CSDN下载QTQTextEdit富文本插入字体-表格-编号-图片-查找-语法高亮功能.rarhttps:/更多…

Vue使用脚手架(ref、props、mixin、插件、scoped)(七)

系列文章目录 第一章:Vue基础知识笔记(模板语法、数据绑定、事件处理、计算属性)(一) 第二章:Vue基础知识(计算属性、监视属性、computed和watch之间的区别、绑定样式)(…

四、 java的对象和类

四、 java的对象和类 对象(Object):对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。类(c…

物理服务器安装CentOS 7操作系统

目录 1、下载系统镜像 2、制作安装盘 2.1 方法一:光盘制作 2.2 方法二:U盘制作 3、更改bios启动顺序 4、安装CentOS 7操作系统 4.1 安装命令选择,及常见错误解决 4.2 语言选择 4.3 时区选择 4.4 软件选择 4.5 安装位置选择 4.6 手…

猿创征文|【C++游戏引擎Easy2D】学C++还不会绘制一个简单的二维图形?一篇文章教会你

🧛‍♂️iecne个人主页::iecne的学习日志 💡每天关注iecne的作品,一起进步 💪学C必看iecne 本文专栏:【C游戏引擎】. 🐳希望大家多多支持🥰一起进步呀! ✨前…

Apache Maven 3.6.0的下载安装和环境配置(详细图解+不限速下载链接)

标题工具/原料 apache-maven-3.6.0 下载地址 云盘不限速下载 或者进入官网按下图下载 方法/步骤一 安装 打开压缩包,将maven压缩包解压至软件安装处,建议D根目录或其他,记住安装位置 类似于 方法/步骤二 环境变量配置 变量 1.新建变…

Eolink 通过可信云权威认证,数据保护能力业内领先!

Eolink 正式通过由中国信息通信研究院组织发起的可信云评估考核,在数据安全保障领域获得权威认证,并荣获 “企业级 SaaS 服务” 认证证书。 在云时代,保护用户数据安全、预防隐私泄露是数字化企服厂商的重中之重。Eolink 作为一个 API 在线管…

计算机毕业设计ssm+vue基本微信小程序的个人健康管理系统

项目介绍 首先,论文一开始便是清楚的论述了小程序的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了小程序的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数…

IIC协议详解

文章目录1 IIC简介2 IIC物理层2.1 IIC硬件2.2 IIC协议特点3 IIC协议层4数据传输4.1 IIC写数据4.2 IIC读数据1 IIC简介 IIC(Inter-Integrated Circuit)总线是一种由 NXP(原 PHILIPS)公司开发的两线式串行总线, 用于连接微控制器及其…

s19.基于 Kubernetes v1.25.0(kubeadm) 和 Docker 部署高可用集群(一)

基于 Kubernetes v1.25.0 和 Docker 部署高可用集群 主要内容 Kubernetes 集群架构组成容器运行时 CRIKubernetes v1.25 新特性Kubernetes v1.24 之后不再支持 Docker 的解决方案Kubernetes v1.25 高可用集群架构基于 Kubernetes v1.25.0 和 Docker 部署高可用集群实战案例 …

Redis持久化机制分析

什么是持久化? 简单来说持久化就是将数据保存到磁盘,让即使服务宕机、重启、断电等操作后数据仍热存在,并且是完整的。 1、为什么要持久化? 1、Redis是一个内存数据库,宕机之后存储在内存的数据会消失。2、Redis重启…

传述最详细的干货,让简历面试不再成为你找工作的绊脚石

📢📢📢📣📣📣 哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝 一位上进心十足的【Java ToB端大厂…

【蓝桥杯省赛真题37】Scratch三国演义字数统计 少儿编程scratch编程蓝桥杯省赛真题讲解

​​​​​​​ 目录 scratch三国演义字数统计 一、题目要求 编程实现 二、案例分析 1、角色分析

Linux内核设计与实现 第三章 进程管理

3.1进程 实际上,进程就是正在执行的程序代码的实时结果。 进程是出于执行期的程序以及相关的资源的总称。 进程的另一个名字是任务。 进程不仅仅局限于一段可执行程序代码通常进程还要包含其他资源,像打开的文件,挂起的信号,内核…

springboot项目整理(持续更新)

SpringSecurity 1.导入依赖&#xff1a; 在pom.xml中导入依赖&#xff0c;再访问页面就会出现login&#xff0c;这是SpringSecurity自己写的页面&#xff0c;用于登录认证 <dependency><groupId>org.springframework.boot</groupId><artifactId>spr…

整合流量与资源的分享购商业模式,实现整个生态布局

大多数企业都很容易忽视一个市场&#xff0c;就是我们的日常生活服务板块&#xff0c;所谓民以食为天&#xff0c;我们应该顺应人们的生活习惯而做出来的电商商业模式&#xff0c;才是最贴合民心的&#xff0c;也能够从用户的最基础的需求出发来为其打造商业模式。 将目标放在生…