zoukankan      html  css  js  c++  java
  • python基础-模块详解

    一、python模块化简介

    模块(moudle)
    在python中,一个文件(以“.py为后缀名)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件。模块让你能够有逻辑地组织你的 Python 代码段。
    

    模块化的好处:

    • 把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量等,模块里也能包含可执行的代码。
    • 一个模块编写完毕之后,其他模块可直接调用;
    • 避免函数名称和变量名称重复,在不同的模块中可以存在相同名字的函数名和变量名,
      == 注意:==模块名要符号标识符的规范

    模块的三种来源:
    ①标准库中的
    ② 第三方的
    ③自定义的

    为什么要用模块:
    ① 方便开发
    ② 方便维护
    ③ 模块可以复用!

    二、模块的创建及引入

    模块的引入:
    在一个模块中引入外部模块
    ① import 模块名 (模块名,就是python文件的名字,注意不要py)
    ② import 模块名 as 模块别名

    • 可以引入同一个模块多次,但是模块的实例只会创建一个
    • import可以在程序的任意位置调用,但是一般情况下,import语句都会统一写在程序的开头
    • 在每一个模块内部都有一个__name__属性,通过这个属性可以获取到模块的名字
    • __name__属性值为 __main__的模块是主模块,一个程序中只会有一个主模块
      主模块就是我们直接通过 python 执行的模块
      import test_module as test
    # import m
    
     # 访问模块中的变量:模块名.变量名
    ## print(m.a , m.b)
    
    # # m.test2()
    
    # p = m.Person()
    
    # print(p.name)
    
    def test2():
        print('这是主模块中的test2')
    
    
    # 也可以只引入模块中的部分内容
    # 语法 from 模块名 import 变量,变量....
    # from m import Person
    # from m import test
    # from m import Person,test
    # from m import * # 引入到模块中所有内容,一般不会使用
    # p1 = Person()
    # print(p1)
    # test()
    # test2()
    
    # 也可以为引入的变量使用别名
    # 语法:from 模块名 import 变量 as 别名
    # from m import test2 as new_test2
    
    # test2()
    # new_test2()
    
    from m import *
    # print(_c)
    
    # import xxx
    # import xxx as yyy
    # from xxx import yyy , zzz , fff
    # from xxx import *
    # from xxx import yyy as zz
    
    

    三、包

    包 Package:包也是一个模块
    当我们模块中代码过多时,或者一个模块需要被分解为多个模块时,这时就需要使用到包
    普通的模块就是一个py文件,而包是一个文件夹
      包中必须要一个一个 __init__.py 这个文件,这个文件中可以包含有包中的主要内容
    
    

    补充说明:

    __pycache__ 是模块的缓存文件
    py代码在执行前,需要被解析器先转换为机器码,然后再执行
      所以我们在使用模块(包)时,也需要将模块的代码先转换为机器码然后再交由计算机执行
      而为了提高程序运行的性能,python会在编译过一次以后,将代码保存到一个缓存文件中
      这样在下次加载这个模块(包)时,就可以不再重新编译而是直接加载缓存中编译好的代码即可
    

    四、python标准库

    ↑↑单击python访问标准库说明文档↑↑

    为了实现开箱即用的思想,Python中为我们提供了一个模块的标准库
    在这个标准库中,有很多很强大的模块我们可以直接使用,
    并且标准库会随Python的安装一同安装

    # 常用举例
    1. pprint 模块它给我们提供了一个方法 pprint() 该方法可以用来对打印的数据做简单的格式化。
    2. sys模块,它里面提供了一些变量和函数,使我们可以获取到Python解析器的信息或者通过函数来操作Python解析器
    引入sys模块
    import pprint
    import sys
    sys.argv
    获取执行代码时,命令行中所包含的参数
    该属性是一个列表,列表中保存了当前命令的所有参数
    print(sys.argv)
    
    sys.modules
    获取当前程序中引入的所有模块
    modules是一个字典,字典的key是模块的名字,字典的value是模块对象
    pprint.pprint(sys.modules)
    
    sys.path
    他是一个列表,列表中保存的是模块的搜索路径
    
    pprint.pprint(sys.path)
    
    sys.platform
    表示当前Python运行的平台
    print(sys.platform)
    
    sys.exit()
    函数用来退出程序
    sys.exit('程序出现异常,结束!')
    print('hello')
    
    os 模块让我们可以对操作系统进行访问
    import os
    
    os.environ
    通过这个属性可以获取到系统的环境变量
    pprint.pprint(os.environ['path'])
    
    os.system()
    可以用来执行操作系统的名字
    os.system('dir')
    os.system('notepad')
    
  • 相关阅读:
    AI Dropout
    笔记2 区块链
    Visual Studio的下载安装
    第48课 thinkphp5添加商品库
    一个手机号可以注册绑定5个百度网盘,永久2T
    第39-43课 thinkphp5完成商品会员价格功能(后置勾子afterInsert)
    第37课 thinkphp5添加商品基本信息及通过前置钩子上传商品主图 模型事件(勾子函数)
    php中 为什么验证码 必须要开启 ob_clean 才可以显示
    网站同一用户只能在同一个地方登录
    微信小程序第3课 目录结构及小知识点
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12755241.html
Copyright © 2011-2022 走看看