Python 基础1

变量

变量的命名规则

  1. 只能有数字,字母,下划线(_)组成
  2. 不能以数字开头
  3. 不能是关键字
  4. 区分大小写

命名规范

  1. 下划线命名法
    • my_first_name
    • my_last_name
  2. 驼峰命名法
    1. 大驼峰
      • MyFirstName
      • MyLastName
    2. 小驼峰
      • myFirstName
      • myLastName

变量类型

变量类型分为:数值型非数值型

数值型

数据类型 描述
int 整型
float 浮点型
bool 布尔型
complex 复数型

非数值型

数据类型 描述
str 字符串
list 列表
tuple 元组
set 集合
dict 字典

变量类型的特征和获取

在Python中定义变量不需要指定数据类型,变量的类型可以在使用过程中随时变化,以最后一次=操作为准

当我们需要获取该变量的类型的时候,可以使用 type获取当前变量的类型

算数运算符

运算符 描述
+
-
*
/
// 取整除
% 取余数
**

不同变量类型之间的运算

  1. 数值型变量之间可以直接计算
  2. 字符串之间使用+拼接字符串
  3. 字符串变量整型使用*重复拼接相同的字符串
  4. 数值型变量字符串不能进行其他计算

赋值运算符

运算符 描述
= 赋值
+= 加等于(a += b等同于a = a + b)
-= 减等于(a -= b等同于a = a - b)
*= 乘等于(a *= b等同于a = a * b)
/= 除等于(a /= b等同于a = a / b)
//= 整除等于(a //= b等同于a = a // b)
%= 模等于(a %= b等同于a = a % b)
**= 幂等于(a **= b等同于a = a ** b)

比较运算符

运算符 描述
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

逻辑运算符

运算符 描述
and 逻辑与
or 逻辑或
not 逻辑非

运算符优先级

  1. 单目运算符:只需要一个数据运算的运算符,比如 not
  2. 双目运算符:需要两个数据运算的运算符
  3. 总的来说:单目运算符的优先级高于双目运算符
运算符 描述
** 幂(最高优先级)
* / % // 乘、除、取余数、取整除
+ - 加、减
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += = *= 赋值运算符
not or and 逻辑运算符

输入输出操作

输出函数

  1. 普通输出
  2. 格式化输出

print()函数

格式化输出格式

格式化字符串 含义
%s 字符串
%d 有符号的十进制整数,%06d表示不足 6 位以 0 补齐
%f 浮点数,%.2f 表示小数后只显示两位
%% 输出%

###输入函数

获参考户从键盘上输入的信息,需要使用 input函数,不管用户输入了任何内容,Python 都会认为是一个字符串

转换输入函数

使用强制转换来使得用户输入的字符串转换为我们需要的数据类型

  1. float()转换为浮点类型
  2. int()转换为整型

条件控制语句if

  • 进程满足特定的条件才能执行的特定代码

  • 条件控制语句使用 if 关键字

格式如下:

1
2
3
4
if 条件:
条件为真时,要做的事情
else:
条件为假时,要做的事情

if...elif...else 格式如下:

1
2
3
4
5
6
if 条件1:
条件1为真时,要做的事情
elif 条件2:
条件1为假且条件2为真时,要做的事情
else:
以上条件均为假时,要做的事情

if 嵌套

在实际开发中,有多个条件判断的需求,就需要使用 if 嵌套

格式如下:

1
2
3
if 条件1:
if 条件2:
条件1,条件2均为真时,要做的事情

循环控制语句 while和 for

循环的作用就是让代码执行指定的重复的代码

while循环

while循环 主要用在遍历指定次数的时候使用

格式如下:

1
2
3
4
while 条件:
条件为真时,要做的事情
...
修改条件

条件主要控制循环何时结束,注意如果条件一直不能为假,则该循环就为死循环,死循环会一直执行该重复的命令,无法终止。

for循环

for循环 主要用在遍历容器类中的元素的时候使用

格式如下:

1
2
for 临时变量 in 容器:
循环满足条件需要执行的代码

range

range()可以理解为数学中左闭右开的区间,常常使用在 for 语句中

break 和 continue语句

break语句和 continue语句是专门在循环中使用的关键字

  1. 当某一条件满足时,执行了 break 语句,这层循环将不在进行,会直接退出当层循环(后面会讲到循环嵌套,break 只会跳出一层循环)
  2. 当某一条件满足时,执行了 continue 语句,会直接跳过该次循环,直接到下一次循环中(在循环嵌套中,同样只会跳到该层循环的下次循环中,其他层次的循环不会受到影响)

循环嵌套

循环嵌套的意思就是循环中还有循环

循环结合 else

循环后面跟了一个 else 语句,该语句会在循环正常结束后执行,但是如果循环是通过 break语句进行结束的,该 else 中的语句就不会执行了

高级数据类型

所有的非数值型变量都有以下特点:

  1. 都是一个序列 sequence,也可以理解为容器
  2. 都可以取值[0] (集合除外)
  3. 都可以用 for ... in ... 遍历
  4. 计算长度、最大/最小值、比较、删除
  5. 连接+和重复*
  6. 切片

字符串

  • 字符串就是一串字符,是编程语言中表示文本的数据类型
  • 在Python 中可以使用一对双引号 ""一对单引号 ''来定义一个字符串
    • 虽然有转义字符帮助我们转义"',但是在开发中
      • 在字符串内部有使用"的需求,一般使用'来定义字符串
      • 在字符串内部有使用'的需求,一般使用"来定义字符串
  • 可以使用索引来获取字符串指定位置的字符,索引从 0 开始

Python 中可以使用多行字符串,多行字符串的定义方式与多行注释的方式一致,使用三个"""进行定义

1
2
3
str1 = """
这是一个多行字符串的🌰
"""

字符串操作

判断操作
方法 说明
isalpha() 如果一个字符串所有字符都是字母的时候,返回 True
isdecimal() 如果一个字符串所有字符都是数字的时候,返回 True
islower() 如果一个字符串所有字符都是小写字母的时候,返回 True
isupper() 如果一个字符串所有字符都是大写字母的时候,返回 True
startwith(str) 检查一个字符串是以 str 开头的时候,返回 True
endswith(str) 检查一个字符串是以 str 结尾的时候,返回 True
查找和替换
方法 说明
find(str, start = 0, end = len(string)) 查找 str 是否在这个字符串中,如果在则返回开始的索引值,查不到则返回-1
rfind(str, start = 0, end = len(string)) 类似find(),但是是从右边开始查找
index(str, start = 0, end = len(string)) 跟find()类似,但是查不到会抛出异常
rindex(str, start = 0, end = len(string)) 跟rfind()类似,但是是从右边开始查找
replace(old_str, new_str, num=string.count(old)) 返回一个新的字符串,把 old_str 替换成 new_str
拆分和连接
方法 说明
partition(str) 返回一个元组,把字符串根据 str 分隔成 3 元素的元组
rpartition(str) 类似partition(),但是是从右边开始查找
split(str, num) 根据 str 分隔字符串到一个列表中,num 是分隔的次数
splitlines() 返回列表,根据行分隔
string1 + string2 拼接两个字符串
join(seq) 返回一个字符串,以 str作为分隔符,将 seq 中所有元素合并成一个新的字符串
大小写转换
方法 说明
lower() 将所有字符转化为小写
upper() 将所有字符转化为大写
文本对齐
方法 说明
ljust(width) 返回一个新字符串,在左边填充直到字符串长度为 width,默认填充空格
rjust(width) 返回一个新字符串,在右边填充直到字符串长度为 width,默认填充空格
center(width) 返回一个新字符串,在两边填充直到字符串长度为 width,默认填充空格
去除空白符
方法 说明
lstrip() 返回新字符串,截掉左边的空白字符,或指定字符
rstrip() 返回新字符串,截掉右边的空白字符,或指定字符
strip() 返回新字符串,截掉两边的空白字符,或指定字符

list 列表

list列表将是我们学习 Python 中使用最频繁的一个数据类型,该类型用来存储一串数据,存储的数据我们称之为元素

列表的定义

  1. 列表用[]定义,元素之间用,分隔开即可
  2. 列表中可以有不同的数据类型,每个元素可以是任意类型

列表的访问

访问列表一般通过索引的方式,这里要注意的是,索引是从 0 开始的,即列表中的第一个元素的索引为 0

当然,我们最常用的还是用循环去遍历列表中的元素,通过 for 和 while 都可以,建议使用 for,看起来会更加简洁,但是在一些需要知道索引的情况下,while 也不失为一种优秀的选择。while 的循环条件比 for 来的更加灵活

列表的操作

增加操作
方法 说明
append(item) 在末尾追加item
insert(index, item) 在 index 位置插入 item
extend(Iterable) 将可迭代对象中的元素添加到列表中
删除操作
方法 说明
del List(index) 删除List的指定 index 的元素
remove(item) 删除第一个出现的指定item
pop() 删除末尾数据,并返回被删除的元素
pop(index) 删除指定索引的元素,返回被删除的元素
clear() 清空列表
修改操作

List[index] = item # 修改 List中指定 index 的元素为 item

查询操作
方法 说明
List[index] 查询 List指定 index 的元素,index 不存在时将会抛出异常
index(item) 根据 item 查找指定 List 中的该 item 的位置,没查到的时候会抛出异常
count(item) item在列表中出现的次数
len(List) List 的长度
if item in List: 检查List 中是否包含 item
排序操作
方法 说明
sort() 升序
sort(reverse = True) 降序
reverse() 逆序,反转
最值操作
方法 说明
max() 最大值
min() 最小值

列表嵌套

列表嵌套和上文讲到的循环嵌套类似,即在列表中还有列表,即列表的元素还是一个列表,这就是列表嵌套,在实际使用中经常出现,eg:a = [[1,2,3],[4,5,6],[7,8,9]]这就是一个简单的两个列表嵌套

tuple 元组

元组和列表类似,不同的地方在与元组不允许对内部的元素进行修改

  1. 元素用()定义
  2. 用于存储一串数据,元素之间用,分隔
  3. 元组的索引从 0 开始
  4. 元组的类型:tuple

元组的定义

info_tuple = (1, 2, 3, 4)

注意,如果元组中只有一个元素的时候需要在后加一个,

eg:

a = (10) # 如果这样定义一个一元素元组是错误的,次数的 a 为 int 类型而不是tuple

a = (10,) #一元素元组的正确定义方式

元组最大的特点就是不能修改

元组的操作

元组的操作和数组的操作类似,只是没有数组的增加,删除,修改,排序操作。

元素的使用场景

  1. 作为自动组包的默认类型
  2. 自动解包
  3. 交换数据
  4. 格式化输出
  5. 让列表不可被修改,保护数据安全

set集合

集合是无序的,且集合中的元素是唯一的

集合一般用来对列表或元组进行去重操作,注意:如果用 set 进行了去重操作,列表或元组中的元素位置将变化,因为 set 是无序的

集合操作

方法 说明
add() 添加一个元素到集合中
update() 将传入数据拆分,然后添加到集合中
remove() 删除集合中一个元素,如果没有,进程抛出异常
pop() 随机删除一个元素,如果没有元素,进程将抛出异常
discard() 元素存在直接删除,不存在不做任何操作

集合的交集、子集、超集、并集、异或、差集

方法 符号 说明
s1.issubset(s2) s1 < s2 s1 是否是 s2 的子集
s1.issuperset(s2) s1 > s2 s1 是否是 s2 的超集
s1.union(s2) s1 & s2 s1 和 s2 的并集
s1.intersection(s2) s1 & s2 s1 和 s2 的交集
s1.difference(s2) s1 - s2 s1 和 s2 的差集
s1.symmetric_difference(s2) s1 ^ s2 s1 和 s2 的异或

dict 字典

dict 是除列表以外 Python 中最灵活的数据类型

  • 字典可以用来存储多个数据
  • 字典用{}定义
  • 字典使用键值对存储数据,键值对之间的关系用,分隔
    • 键 key是索引
    • 值 value是数据
    • :进行分隔
    • 可以是任何数据类型,但只能是字符串、数字或元组
    • 必须唯一

字典的操作

分类 方法 说明
增加 dict[key] = value 键不存在时,会添加键值对;键存在时,会修改键值对
dic.setdefault(key, value) 键不存在时,会添加键值对;键存在时,不做任何处理
删除 del dict[key] 删除指定键值对
dict.pop(key) 删除指定键值对,并返回被删除的值
dict.clear() 清空字典
修改 dict[key] = value 键不存在时,会添加键值对;键存在时,会修改键值对
dict.update(key=value) 键不存在时,会添加键值对;键存在时,会修改键值对
查询 dict[key] 根据键取出值,键不存在时,会抛出异常
dict.get(key) 根据键取出值,键不存在时,不会抛出异常
dict.keys() 可进行遍历,获取所有键
dict.values() 可进行遍历,获取所有值
dict.items() 可进行遍历,获取所有(键,值)

公共语法

Python 内置函数

函数 描述 备注
len(item) 计算容器中元素个数
del item 删除变量
max(item) 返回容器中元素最大值 字典只比较 key
min(item) 返回容器中元素最小值 字典只比较 key

运算符

运算符 描述 支持的数据类型
+ 合并 字符串、列表、元组
* 重复 字符串、列表、元组
in 是否存在(字典中判断键) 字符串、列表、元组、集合、字典
not in 是否不存在(字典中判断键) 字符串、列表、元组、集合、字典
> >= == < <= 比较 字符串、列表、元组