目录
[二、 运算符](#二、 运算符)
[2 算数运算符](#2 算数运算符)
[三、判断语句 if](#三、判断语句 if)
[2.1 for...else...](#2.1 for...else...)
[方式2: 使用f ' '](#方式2: 使用f ' ')
[3.1 下标](#3.1 下标)
[3.2 切片](#3.2 切片)
[split(): 按照指定字符分隔字符串](#split(): 按照指定字符分隔字符串)
一、Python数据类型
1.字面量
在计算机科学中,字面量(literal) 是用于表达源代码中一个固定值的表示法(notation)
通俗的说就是: 写在代码中的固定的值, 叫做字面量.
常见的字面量类型: 整数, 浮点数, 字符串.
2.注释
在python使用 # 作为对代码的解释, 即注释.
在python中可以使用三引号(""" """) 来作为多行注释. (单的双的都行)
还有todo注释,了解即可
3.变量
在python中定义变量是不需要指定类型的.
变量名称 = 值等号(=) 赋值, 将等号右边的值赋予等号左边的变量.
变量名称即: 变量名, 代表变量本身.
变量的值是可以改变的.
变量是可以重复使用的.
变量名的命名规则: 变量名要起的见名知意
变量名必须以字母或下划线字符开头
变量名称不能以数字开头,但是可以以数字结尾
变量名只能包含字母数字字符和下划线(A-z、0-9 和 _)(约定, 并不是强制.)
变量名称区分大小写(age、Age 和 AGE 是三个不同的变量)
不可使用关键词作为变量名
4.数据类型
|--------------|---------------------------------------|
| 类型 | 说明 |
| 字符串(string) | 描述文本的一种数据类型, 由任意的字符组成 |
| 整型(int) | 整数 如 1, 2, 3, 4... |
| 浮点型(float) | 浮点数, 如 12.34, 3.14 |
| 布尔型(bool) | 即真和假, 在python中True表示真, False表示假, 非0即真 |
| 复数型(complex) | 主要用于科学计算 |
| 列表(list) | 有序的可变的元素序列, 使用最频繁的一种类型 |
| 元组(tuple) | 有序的不可变的元素序列 |
| 集合(set) | 无序的不重复集合 |
| 字典(dict) | 无序的key-value集合 |
以上的数据类型包含的python的所有的数据类型, 后面会详细讲解字符串、列表、字典、元组等类型
那么如何查看数据类型呢?
在python中提供了一个**type()**方法查看数据类型.
二、 运算符
1.数据类型之间的相互转换
函数 | 说明 |
---|---|
int(a) | 将a转换为一个整数 |
float(a) | 将a转换为一个浮点数 |
str(a) | 将a转换为一个字符串 |
PS: 任何类型都可以转换成字符串.
但是不是所有类型都可以转换成int.
int是可以转换为float的.
float也可以转换为int,但是会丢失精度.
2 算数运算符
算数运算符 | 说明 | 示例 |
---|---|---|
+ | 表示2个元素相加, 可用于字符串的拼接 |
2+3 |
* | 表示2个元素相乘, 字符串可以和数字相乘 | 2*3 |
- | 表示2个元素相减 | 3-2 |
/ | 表示2个元素相除 | 4 / 2 |
// | 数字之间取整除 | 9 // 2 = 4 |
% | 数字之间取余数 | 9 % 2 = 1 |
** | 幂 | 2**4 |
PS: 字符串可以和数字相乘:
a = '666' * 3
print(a) # 666666666
特别注意的三个赋值运算符
|----|--------|----------------------|
| %= | 取余赋值运算 | a %= b 等效于 a = a % b |
|-------|-------|----------------------------|
| **= | 幂赋值运算 | a **= b 等效于 a = a ** b |
相当于a的b次方
|-----|--------|------------------------|
| //= | 整除赋值运算 | a //= b 等效于 a = a // b |
3、逻辑运算符
|-----|---------|------------------------------------------------------------|-----------------------------------------|
| 运算符 | 逻辑表达式 | 描述 | 实例 |
| and | x and y | 布尔 " 与 " :如果 x 为 False , x and y 返回 False ,否则返回 y 的值 | True and False ,返回 False,有一个假即为假 |
| or | x or y | 布尔 " 或 " :如果 x 是 True ,它返回 True ,否则 返回 y 的值 | True or False, 返回 True-- 有 一个真即为真 |
| not | not x | 布尔 " 非 " :如果 x 为 True ,它返回 False 。如果 x 为 False ,它返回 True 。 | not True ,返回 False , not False ,返回 True |
三、判断语句 if
python
if 条件:
条件成立执行的代码1
条件成立执行的代码2
......
python
if True:
print('条件成立执行的代码1')
print('条件成立执行的代码2')
# 下方的代码没有缩进到if语句块,所以和if条件无关
print('我是无论条件是否成功,都要执行的代码')

python
if 条件:
条件成立执行的代码1
条件成立执行的代码2
......
else:#隐藏条件
条件不成立执行的代码1
条件不成立执行的代码2
......
python
if 条件1:
条件成立执行的代码1
条件成立执行的代码2
....
elif 条件2:
条件成立执行的代码1
条件成立执行的代码2
....
elif 条件3:
----
elif 条件4:
-----
else: # else写不写都可以 语法上面不强制必须要写else
以上条件都不成立执行的代码
四、循环
1、while循环
python
while 条件:
条件满足时,做的事情 1
条件满足时,做的事情 2
条件满足时,做的事情 3
...(省略)...
2、for循环
用于 遍历循环
python
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
...
str1 = 'testfan'
for i in str1:
print(i)

2.1 for...else...
python
for 临时变量 in 序列:
重复执行的代码
......
else:
循环正常结束之后要执行的代码
所谓 else 指的就是循环正常结束之后要执行的代码,即如果是 break 终止循环的情况下, else 下方缩进的代码将不会执行
五、格式化字符串
1.字符串
字符串是 Python 中最常用的数据类型. 在python中, 引号之间的字符, 都是字符串.
1.1创建字符串的方式(字符串赋值):
单引号.
双引号.
三引号: 之前在注释的章节, 在python中三引号可以作为多行注释来用, 但是三引号内的本质上还是字符串, 如果使用变量去接受这个三引号的值, 那么这个变量的类型就是str
其中三引号可以用来定义内容有多行的字符串:
letter = '''刘总:
您好!
您简直是个大帅哥
2025年5月6日'''
print(letter)

1.2通过input()方法
在 python 中,使用 input() 接收用户输入。
python
username = input('请输入用户名:')
print(type(username))
print(f"您输入的名字是{username}")

2.字符串拼接
方式1:使用加号。
python
var1 = '字符串'
var2 = str(1)
print(var1 + var2)
print(type(var1 + var2))
要求:各个变量或者元素必须是字符串类型
经典误区:
print 打印时使用 , (逗号)不是字符串合并
print ( ' 你 ',' 好 ' )
方式2: 使用f ' '
(需要python解释器是3.6之后的版本)
python
var = '字符串'
name = f'我是{var}'
print(name)
print(type(name))

3.字符串操作
索引是从 0 开始的整数
正着数 从 0 开始
逆着数 从 -1
数据类型分为可变和不可变数据类型
不可变类型(数字,字符串,元组):不支持原址(内存地址)修改
3.1 下标
python
# 取到不同下标对应的数据
name = 'testfan'
print(name[0]) #t
print(name[1]) #e
print(name[2]) #s
#下标也可以写负数
print(name[-1]) #n
print(name[-2]) #a
3.2 切片
切片是指对操作的对象截取其中一部分的操作, 字符串,列表,元组 都支持切片
语法
字符串 [ 开始位置下标 : 结束位置下标 : 步长 ]
注意:
选取的区间属于左闭右开型,即从 " 起始 " 位开始,到 " 结束 " 位的前一位结束(不包含结束位本身 ) ,
如果不写步长默认是 1.
步长是控制方向的,正数从左往右取 ,负数是从右到左取我们以字符串为例讲解
python
s="testfun"
print(s[0]) #第一个字符t
print(s[-1]) #最后一个字符 n -1下表代表最后一个索引
print(s[::1]) #testfun
print(s[::-1]) #nuftset 反转
print(s[1:6:1]) #中间5个 estfu
print(s[-1:-3:-1])#nu
小结:
1.[:] 提取从开头(默认位置 0 )到结尾(默认位置 -1 )的整个字符串
2.[start:] 从 start 提取到结尾
3.[:end] 从开头提取到 end-1
4.[start:end] 从 start 提取到 end-1
5.[::-1] 逆序
4.字符串方法
字符串的常用操作方法有 查找,修改和判断 三大类 .
我们在这先提出最必须背下来的几个方法: find()、replace()、split()
find():
检测某个字符串是否在某个字符串中,如果在,就返回子串开始位置的下标,否则,返回 -1
1.语法
字符串序列 .find ( 子串**,** 开始位置下标**,**结束位置下标 )
注意:开始和结束位置下标可以省略,表示在整个字符串序列当中查找
python
s='hello world and testfan and shamo'
#我想找到这个字符串中and单词第一次出现的位置
index=s.find('and')
print(index) #12
#找到后半段第一次出现and的位置
index=s.find('and',int(len(s)/2),-1)
print(index) #24
#找到第二次出现and的位置
index=s.rfind('and')
print(index) #24
print(str.find('ands')) # -1
replace():替换
语法
字符串序列.replace(旧子串,新子串,替换次数)
注意:替换次数如果超出子串出现的次数,则替换次数为该子串出现的次数
python
s='hello world and testfan and shamo'
#把and替换成or
s1=s.replace('and','or') #替换会生成新的字符串,不会直接修改原始字符串
print(s1)
#只替换第一个and
s2=s.replace('and','or',1) #1代表替换次数 从左往右
print(s2)
注意:数据按照是否能直接修改分为可变类型和 不可变类型两种。字符串类型的数据修改的
时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型。
split(): 按照指定字符分隔字符串
语法
字符串序列 . split ( 分割字符, num )
注意: num 表示的是分隔字符出现的次数,即将来返回数据个数为 num+1
python
#把字符串拆分成一个个单词
s_list=s.split() #默认按照空格进行分割 得到结果是一个列表
print(s_list)
s='hello*world*and*testfan*and*shamo'
#按照*分割
s_list=s.split('*')
print(s_list)
s_list=s.split('*',3) #最大分割次数为3
print(s_list)

大小写转换
python
s='uP'
s=s.lower() #转小写
print(s) #up
s=s.upper()
print(s) #UP
去掉字符串空格
python
s=' 刘bobo '
s1=s.strip() #去掉空格
print(s1)
s2=s.lstrip() #去掉左边空格
print(s2)
s3=s.rstrip() #去掉右边空格
print(s3)
s='****刘bobo***'
s4=s.strip('*')
print(s4)

判断字符串是否以某个字符串为前缀或后缀
python
name='张三三'
print(name.startswith('张')) #判断字符串是否以某个字符串为前缀
#判断后缀
name='张三三_码同学'
print(name.endswith('_码同学'))

判断某个字符串中是否包含另一个字符串
python
name='张三三'
print('张' in name)
print('张' not in name)
