Python 之 基础知识(三)
一、函数
def 函数名(): 函数封装的代码 ...
- def是英文define缩写
- 别的Python文件可以引入 调用
- 定义时 和其他代码包括注释保留两个空行
pycharm 调试时
- F8 Step Over 单步执行代码,会把函数调用看作一行代码直接执行
- F7 Step Into 单步执行代码,如果是函数,会进入函数内部
注释时 快捷键Ctrl+Q 查看函数的说明信息
二、模块
模块是Python程序架构的一个核心概念
- 模块好比是工具包,要使用需要导入,import这个模块
- 每一个.py结尾的Python源代码文件都是一个模块
- 在模块中定义的全集变量、函数都是模块可以提供给外界直接使用的工具
使用方法:(方便复用曾经写过的代码)
- 在一个Python文件中定义变量或函数,然后在另外一个文件中使用import导入这个模块
- 导入之后,就可以使用 模块名.变量/模块名.函数 的方式,使用这个模块中定义的变量或者函数
(科普)pyc文件——启动速度的优化
先将导入模块先编译成字节码文件放在__pycache__目录下
三、高级变量类型
首先Mark一点 Python中所有非数字型变量支持以下特点:
- 都是一个序列sequence,也可以理解为容器
- 取值[]
- 遍历 for in
- 计算长度、最大/小值、比较、删除
- 链接 + 和重复 *
- 切片
1、列表(List)(使用最频繁的数据类型("数组")| 通常存相同类型数据)
- 专门用于存储一串信息
- 列表用[]定义,数据之间用,分离
- 其索引从0开始
常用操作:(. 按下tab键即可查看)
(1)增加
- append 向列表的末尾追加数据
- insert 在列表的指定位置插入数据
- extend 可以把其他列表内的完整内容,追加到当前列表的末尾
(2)删除
- remove 删除指定数据 默认删除第一个该元素
- pop 默认删除列表最后一个数据,如果指定参数,可以删除元素的索引
- clear 可以清空列表
del 关键字(delete)删除列表元素(科普)
其本质是把一个变量从内存中删除,即后续不能再继续使用此变量。
(3)数据统计
- len(列表) 列表长度
- 列表.count(数据) 数据在列表出现的次数
(4)排序
- 列表.sort 升序排序
- 列表.sort(reverse=True) 降序排序
- 列表.reverse() 逆序、反转
(5)循环遍历
for循环可以遍历所有非数字型类型的变量:列表、元组、字典以及字符串
for name in name_list: print(name)
2、元组(Tuple)(元素不能修改 | 通常用来存不同类型数据)
- 元组表示多个元素组成的序列
- 用户存储一串信息,数据之间用,分隔
- 用()定义
- 索引同样从0开始
- 创建空元组 tuple = ()
- 取索引对应的值 元组名[0]
- 元组中只包含一个元素,需要在元素后面添加逗号
常用操作:(. 按下tab键即可查看)
- index 获取某一个数据在元组的下标
- count 统计计数
- len(元组) 元组长度
- 循环遍历 同列表一样(一般对元组 使用的不多 原因如下图)
应用场景
- 函数的参数和返回值
- 一个函数可以接收任意多个参数,或者一次返回多个数据
- 格式字符串
- 让列表不可以被修改,保护数据安全
-
- 元组和列表之间转换
- list(元组) 元组 --> 列表
- tuple(列表) 列表 --> 元组
- 元组和列表之间转换
3、字典(dictionary)(除列表外 Python中最灵活的数据类型)
- 同样可以存储多个数据
- 通常用于存储描述一个物体的相关信息
- 和列表的区别
- 列表是有序的对象集合
- 字典是无序的对象集合
- 字典用{}定义
- 字典使用键值对存储数据、键值对之间使用,分隔
- 键key是索引
- 值value是数据
- 键和值之间使用 : 分隔
- 键必须是唯一的
- 值可以取任何数据类型,但键只能使用字符串、数字或元组
常用操作:(. 按下tab键即可查看)
其他操作
循环遍历
应用场景
- 使用多个键值对描述一个物体的相关信息
- 将多个字典放在一个列表中,再进行遍历,在循环体内部对每一个字典进行操作者
4、字符串(表示文本信息的数据类型)
- 用一对双引号或者一对单引号 都可以定义一个字符串(大多数编程语言使用"来定义字符串)
- 灵活使用
- 使用索引获取对应位置的字符,同样从0开始
- 可以使用for循环遍历
常用操作:(. 按下tab键即可查看)
-
(1)判断类型 9种
-
(2)查找和替换 7种
-
-
(3)大小写转换 5种
-
(4)文本对齐 3种
-
(5)去掉空白字符 3种
-
(6)拆分和连接 5种
字符串的切片(适用于字符串、列表和元组)
- 使用索引值来限定范围,从一个大的集合中切出小的集合
- 字典是一个无序的集合,使用键值对保存数据
字符串[开始索引:结束索引:步长]
跳跃切片
想切到字符串末尾 结束索引不写即可
做几个例题试试~
num_str = "0123456789"
- (1)、num_str[2:6]
- (2)、num_str[2:]
- (3)、num_str[0:6] / num_str[:6]
- (4)、num_str[:]
- (5)、num_str[::2]
- (6)、num_str[1::2]
- (7)、num_str[2:-1] (-1即截取到 倒数第一)
- (8)、num_str[-2:]
- (9)、num_str[::-1] (步长-1 即向左切)