美文网首页Python
[Python基础]D7 模块、高级变量类型之列表

[Python基础]D7 模块、高级变量类型之列表

作者: 巩翔宇Ibrahimovic | 来源:发表于2020-03-24 13:43 被阅读0次

    06. 使用模块中的函数

    模块是 Python 程序架构的一个核心概念

    • 模块 就好比是 工具包,要想使用这个工具包中的工具,就需要 导入 import 这个模块
    • 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块
    • 在模块中定义的 全局变量函数 都是模块能够提供给外界直接使用的工具

    6.1 第一个模块体验

    步骤

    • 新建 hm_10_分隔线模块.py
      • 复制 hm_09_打印多条分隔线.py 中的内容,最后一行 print 代码除外
      • 增加一个字符串变量
    name = "黑马程序员"
    
    • 新建 hm_10_体验模块.py 文件,并且编写以下代码:
    import hm_10_分隔线模块
    
    hm_10_分隔线模块.print_line("-", 80)
    print(hm_10_分隔线模块.name)
    

    体验小结

    • 可以 在一个 Python 文件定义 变量 或者 函数
    • 然后在 另外一个文件中 使用 import 导入这个模块
    • 导入之后,就可以使用 模块名.变量 / 模块名.函数 的方式,使用这个模块中定义的变量或者函数

    模块可以让 曾经编写过的代码 方便的被 复用

    6.2 模块名也是一个标识符

    • 标示符可以由 字母下划线数字 组成
    • 不能以数字开头
    • 不能与关键字重名

    注意:如果在给 Python 文件起名时,以数字开头 是无法在 PyCharm 中通过导入这个模块的

    6.3 Pyc 文件(了解)

    Ccompiled 编译过 的意思

    操作步骤

    1. 浏览程序目录会发现一个 __pycache__ 的目录
    2. 目录下会有一个 hm_10_分隔线模块.cpython-35.pyc 文件,cpython-35 表示 Python 解释器的版本
    3. 这个 pyc 文件是由 Python 解释器将 模块的源码 转换为 字节码
      • Python 这样保存 字节码 是作为一种启动 速度的优化

    字节码

    • Python 在解释源程序时是分成两个步骤的

      1. 首先处理源代码,编译 生成一个二进制 字节码
      2. 再对 字节码 进行处理,才会生成 CPU 能够识别的 机器码
    • 有了模块的字节码文件之后,下一次运行程序时,如果在 上次保存字节码之后 没有修改过源代码,Python 将会加载 .pyc 文件并跳过编译这个步骤

    • Python 重编译时,它会自动检查源文件和字节码文件的时间戳

    • 如果你又修改了源代码,下次程序运行时,字节码将自动重新创建

    提示:有关模块以及模块的其他导入方式,后续课程还会逐渐展开!

    模块是 Python 程序架构的一个核心概念

    高级变量类型

    目标

    • 列表

    • 元组

    • 字典

    • 字符串

    • 公共方法

    • 变量高级

    知识点回顾

    • Python 中数据类型可以分为 数字型非数字型

    • 数字型

      • 整型 (int)

      • 浮点型(float

      • 布尔型(bool

        • True 非 0 数 —— 非零即真

        • False 0

      • 复数型 (complex)

        • 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
    • 非数字型

      • 字符串

      • 列表

      • 元组

      • 字典

    • Python 中,所有 非数字型变量 都支持以下特点:

      1. 都是一个 序列 sequence,也可以理解为 容器

      2. 取值 []

      3. 遍历 for in

      4. 计算长度最大/最小值比较删除

      5. 链接 +重复 *

      6. 切片

    01. 列表

    1.1 列表的定义

    • List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组

    • 专门用于存储 一串 信息

    • 列表用 [] 定义,数据 之间使用 , 分隔

    • 列表的 索引0 开始

      • 索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标

    注意:从列表中取值时,如果 超出索引范围,程序会报错

    name_list = ["zhangsan", "lisi", "wangwu"]
    
    001_列表示意图.png

    1.2 列表常用操作

    • ipython3 中定义一个 列表,例如:name_list = []

    • 输入 name_list. 按下 TAB 键,ipython 会提示 列表 能够使用的 方法 如下:

    In [1]: name_list.
    name_list.append   name_list.count    name_list.insert   name_list.reverse
    name_list.clear    name_list.extend   name_list.pop      name_list.sort
    name_list.copy     name_list.index    name_list.remove 
    
    序号 分类 关键字 / 函数 / 方法 说明
    1 增加 列表.insert(索引, 数据) 在指定位置插入数据
    列表.append(数据) 在末尾追加数据
    列表.extend(列表2) 将列表2 的数据追加到列表
    2 修改 列表[索引] = 数据 修改指定索引的数据
    3 删除 del 列表[索引] 删除指定索引的数据
    列表.remove[数据] 删除第一个出现的指定数据
    列表.pop 默认删除最末尾数据
    列表.pop(索引) 删除指定索引数据
    列表.clear 清空列表
    4 统计 len(列表) 列表长度
    列表.count(数据) 数据在列表中出现的次数
    5 排序 列表.sort() 升序排序
    列表.sort(reverse=True) 降序排序
    列表.reverse() 逆序、反转

    逆序(就是把原来正向排列变成反向排列)。

    del 关键字(科普)

    • 使用 del 关键字(delete) 同样可以删除列表中元素

    • del 关键字本质上是用来 将一个变量从内存中删除的

    • 如果使用 del 关键字将变量从内存中删除,后续的代码就不能再使用这个变量了

    del name_list[1]
    

    在日常开发中,要从列表删除数据,建议 使用列表提供的方法

    关键字、函数和方法(科普)

    • 关键字 是 Python 内置的、具有特殊意义的标识符
    In [1]: import keyword
    In [2]: print(keyword.kwlist)
    In [3]: print(len(keyword.kwlist))
    

    关键字后面不需要使用括号

    • 函数 封装了独立功能,可以直接调用
    函数名(参数)
    

    函数需要死记硬背

    • 方法 和函数类似,同样是封装了独立的功能

    • 方法 需要通过 对象 来调用,表示针对这个 对象 要做的操作

    对象.方法名(参数)
    

    在变量后面输入 .,然后选择针对这个变量要执行的操作,记忆起来比函数要简单很多

    1.3 循环遍历

    • 遍历 就是 从头到尾 依次列表 中获取数据

      • 循环体内部 针对 每一个元素,执行相同的操作
    • Python 中为了提高列表的遍历效率,专门提供的 迭代 iteration 遍历

    • 使用 for 就能够实现迭代遍历

    # for 循环内部使用的变量 in 列表
    for name in name_list:
    ​
     循环内部针对列表元素进行操作
     print(name)
    
    002_forin循环流程图.png

    1.4 应用场景

    • 尽管 Python列表 中可以 存储不同类型的数据

    • 但是在开发中,更多的应用场景是

      1. 列表 存储相同类型的数据

      2. 通过 迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作

    以上内容来自黑马程序员Python基础课程。
    要是觉得不错,何不赞一下

    相关文章

      网友评论

        本文标题:[Python基础]D7 模块、高级变量类型之列表

        本文链接:https://www.haomeiwen.com/subject/hqnnyhtx.html