码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python学习六:模块


    文章目录

    • 一、概述
    • 二、自定义模块
      • 2.1 创建模块
      • 2.2 使用 import 语句导入模块
      • 2.3 使用 from...import 语句导入模块
      • 2.4 模块搜索目录
        • 添加sys.path目录方法一:临时添加
        • 添加sys.path目录方法二:添加.pth文件(推荐)
        • 添加sys.path目录方法三:在PYTHONPATH环境变量找那个添加
    • 三、Python中的包
      • 3.1 Python的包结构
      • 3.2 创建和使用包
        • 3.2.1 创建包
        • 3.2.2 使用包
    • 四、引入其他模块
      • 4.1 导入和使用标准模块
      • 4.2 第三方模块的下载与安装

    一、概述

    在Python中,一个扩展名为.py的文件就是一个模块
    通常是为了方便程序的可读性和可维护性、可重复性。
    即编好一个模块后,只要实现该功能的程序,都一个导入这个模块实现

    二、自定义模块

    2.1 创建模块

    新建一个文件,这个文件命名为“模块名+.py”的形式
    注意:创建模块时,设置的模块名不能是Python自带的标准模块名称

    模块文件的扩展名必须是.py

    eg:

    创建一个模块,命名为bmi.py

    def fun_bmi(person,height,weight):
        '''根据身高体重算出bmi值'''
        print(person+"的身高:"+str(height)+"米 \t 体重:"+str(weight)+"千克")
        bim=weight/(height*height)
        print(person+"的BMI指数为:"+str(bim))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.2 使用 import 语句导入模块

    语法

    import modulename [as alias][,modulename,modulename,modulename ]
    
    • 1
    1. modulename 要导入的模块名称
    2. as alias 别名
    3. [,modulename] 一次可以导入多个模块

    在调用模块中的变量、函数、或者类时,需要在变量名、函数或者类名前添加“模块名.”作为前缀

    新建一个模块test.py

    import bmi
    
    if __name__ == '__main__':
        bmi.fun_bmi("张三",1.75,120)
    》》》
    张三的身高:1.75米 	 体重:120千克
    张三的BMI指数为:39.183673469387756
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.3 使用 from…import 语句导入模块

    在使用import语句导入模块的时候,每一个导入都会创建一个新的命名空间,所以每次调用的时候需要加上前缀“模块名.”;如果每次不想创建新的命名空间,并且不使用前缀,就可以使用 from…import 语句,直接访问。

    语法
    from modelname import member

    1. modelname 模块名称,区分带小写
    2. member 用于指定的要导入的变量、函数或者变量名。可以同时导入多个,使用逗号隔开,所有就使用“*”代替
    from bmi import fun_bmi
    
    if __name__ == '__main__':
        fun_bmi("张三",1.75,120)
    》》》
    张三的身高:1.75米 	 体重:120千克
    张三的BMI指数为:39.183673469387756
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.4 模块搜索目录

    当使用import语句导入模块的手,默认情况下,会按照一下顺序进行查找

    1. 当前目录(即执行的Python脚本文件所在目录)下查找
    2. 到PYTHONPATH(环境变量)下的每个目录查找
    3. 到python的默认按照目录下查找

    以上的目录的具体位置可以通过sys的sys.path变量中查找

    import sys
    print(sys.path)
    
    • 1
    • 2

    添加sys.path目录方法一:临时添加

    
    import sys
    if __name__ == '__main__':
        sys.path.append('地址')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    通过该方法添加的目录只在执行当前文件的窗口中生效,窗口关闭后失效

    添加sys.path目录方法二:添加.pth文件(推荐)

    在Python的安装目录下的Lib\site-packages子目录中,创建一个扩展名为.pth的文件,文件里面写上地址就行了

    添加sys.path目录方法三:在PYTHONPATH环境变量找那个添加

    1. 在计算机图标右键,点击属性,点击高级系统设置
    2. 点击环境变量按钮
    3. 添加PYTHONPATH和所需要的模块位置
    4. 将PYTHONPATH添加到path中

    三、Python中的包

    3.1 Python的包结构

    在这里插入图片描述

    3.2 创建和使用包

    3.2.1 创建包

    1. 创建一个文件夹
    2. 在文件夹创建一个名为__init__.py的文件

    在webStorm
    在这里插入图片描述

    3.2.2 使用包

    语法一:导入该包的所有模块

    import + 完成的包名 +模块名
    
    • 1

    在这里插入图片描述
    语法一:导入该包的指定模块

    from + 完成的包名 +import +模块名
    eg shop import *
    
    • 1
    • 2

    在这里插入图片描述

    四、引入其他模块

    4.1 导入和使用标准模块

    标准模块:就是Python自带的使用的模块称之为标准模块(也称为标准库)

    import 模块名
    
    eg:
    import random 
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    执行结果
    在这里插入图片描述

    4.2 第三方模块的下载与安装

    pip <command> [modulename]
    
    • 1
    1. command 用于指定要执行的命令
    2. modulename 可选参数

    eg:安装第三方模块
    pip install numpy

  • 相关阅读:
    Linux操作系统的基础知识
    两张图完全理解单点登录
    随笔记录-看nacos源码
    玩转MySQL:程序中的“田氏代齐”,InnoDB为何能替换MyISAM?
    R统计绘图-变量分组相关性网络图(igraph)
    易基因|DNA甲基化方法全解析:方法发展、技术应用、优缺点
    Spring MVC中的异常处理
    2023-10-10 mysql-{rea_create_base_table}-失败后回滚-记录
    springboot快速入门一篇文章全
    力扣每日一题 ---- 2905. 找出满足差值条件的下标 II
  • 原文地址:https://blog.csdn.net/huiguo_/article/details/127417473
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号