目录
(一)字符串定义
1. 字符串可以通过双引号和单引号进行定义
name_1 = "1" # 井号用于注释
name_2 = '1' # 单双引号定义字符串
name_3 = "'1'" # 单双引号内也可以有引号
name_4 = '\'' # 三个单引号是全局注释,前面加入转义字符 \,可以将其解释为字符串
print(name_1)
print(name_2)
print(name_3)
print(name_4)
1.1. 运行结果
1
1
'1'
'
(二)字符换的拼接
2. 字符串可以使用 '+' 进行拼接
# 使用 + 进行字符串的拼接
name_1 = "我是"
name_2 = "张三"
print(name_1 + name_2)
num = 12
print(name_1, num) # 数字类型数据不能用 + 拼接,这里用逗号隔开是print()可以用逗号隔开多个数据并打印
print(name_1 + str(num)) # 但是可以用str()强制转换为字符串类型
2.1. 运行结果
我是张三
我是 12
我是12
(三)字符串的格式化
3.1. 占位符格式化
字符串和数字可以通过格式化占位符插入其他字符串中,多个数据的插入在%后的括号中按照顺序添加数据即可, 主要注意在字符串后要添加%
num_1 = 21
num_2 = 16783
num_3 = 178.6
print("我是张三,年龄%d岁, 月薪%d, 身高%f"%(num_1, num_2, num_3))
# 在字符串中插入%s %d %f,分别表示字符串,整数,浮点数的格式化插入
num_4 = 12.2324
num_5 = 17.1206
num_6 = 20.1252
print("这个正方体长%5.2f, 宽%.3f, 高%10.4f"%(num_4,num_5,num_6))
# 在格式化符号中插入m.n来限制数字的长度和小数点的位数
# m是数字长度,小数点本身也算作一个长度
# n用于限制小数点位数,同时默认进行四舍五入
3.1.1. 运行结果
字符串本身长度小于限制长度,系统在打印时会在字符串前自动添加空格占位来满足长度要求,例如num_6, 同时注意若长度限制小于数字的整数部分,则限制不会生效
未进行限制的num_3(浮点数)则在其后面添加了多个0
同时在进行小数的位数的限制时默认会进行四舍五入的操作,例如num_5
我是张三,年龄21岁, 月薪16783, 身高178.600000
这个正方体长12.23, 宽17.121, 高 20.1252
3.2. 快速格式化
另一种格式化方法更加快速,利用 f " {} "对字符串进行快速格式化,但是不会考虑数字插入的精度,会直接原原本本的插入
num_1 = 21
num_2 = 16783
num_3 = 178.6
print(f"我是张三,年龄{num_1}岁, 月薪{num_2}, 身高{num_3}")
# 字符串前加 f 表示要进行格式化
# 大括号中添加格式化数据
3.2.1. 运行结果
我是张三,年龄21岁, 月薪16783, 身高178.6
3.3. 表达式格式化
括号和大括号中可以直接加入表达式进行计算
num_1 = 21
num_2 = 16
print("num_1 + num_2 = %d "%(num_1 + num_2))
print(f"num_1 + num2 = {num_1 + num_2}")
3.3.1. 运行结果
num_1 + num_2 = 37
num_1 + num2 = 37
(四)数据输入
4. Python利用input()可以直接进行输入,默认输入的是字符串类型
但是可以使用eval()将字符串转换为数字
num_1 = eval(input("输入一个数字:"))
num_2 = input("请输入一个数字:")
print(type(num_1) , f": {num_1}")
print(type(num_2) , f": {num_2}")
注意这里type是一个type类型,不是一个字符串类型,因此不能直接与后面的字符串相加拼接
4.1. 运行结果
输入一个数字:12132
请输入一个数字:12332
<class 'int'> : 12132
<class 'str'> : 12332
(五)字符串的切片
Python中对字符串可以进行非常方便的分割切片,进行切片操作时会产生新的字符串,而不会对原本的字符串产生影响
1. 单冒号切片
语法:Str[ 下标 : 下标]
# 字符串正向索引:0 1 2 3 4 5 ...... n-1
# 字符串反向索引:-(n-1) ...... -5 -4 -3 -2 -1
Str = "I love you"
# 切片时的切片范围是左闭右开的:[下标:下标)
# 取单个字符:0
print(Str[0:1])
# 取某一范围的字符串:2 3 4 5
print(Str[2:6])
# 反向索引: -8 -7 -6 -5
print(Str[-8:-4])
# 空下标索引:0 1 2 3 4 5 / 7 8 9
# 当有一边的下标索引为空时,将默认从字符串的边界开始
print(Str[:6])
print(Str[7:])
# 当两边的下标都为空时,表示取整个字符串
print(Str[:])
"""
运行结果
I
love
love
I love
you
I love you
"""
2. 双冒号切片
单个冒号划定了切片的范围,双冒号的引入让我们得以使用步长的方式进行切片
# 字符串正向索引:0 1 2 3 4 5 ...... n-1
# 字符串反向索引:-(n-1) ...... -5 -4 -3 -2 -1
Str = "I love you"
# 切片时的切片范围是左闭右开的:[下标:下标)
# 步长为2进行切片:0 2 4 6 8
print(Str[::2])
# 步长为3的切片:0 3 6 9
print(Str[0::3])
"""
运行结果
Ilv o
Io u
"""
通过切片操作可以很简单方便的进行字符串的处理...
3. 其他数据容器的切片处理
除了字符串以外的列表,元组也可以进行切片处理,且其他数据容器进行切片时同样也会返回新的对应类型的对象,而不会对原对象产生影响
但是集合和字典则不能够进行切片,首先集合具有无序性,不能够进行下标索引,因此也不能够进行切片;然后,字典作为键值对的集合,只能通过键进行索引查找,也不能通过下标索引,因此也不能够切片
List = [1, "3", 100, 90, False]
Tuple1 = (1, 4, 9, 8)
print(List)
print(Tuple1)
print(List[0:2])
print(Tuple1[0:2])
print(List)
print(Tuple1)
"""
运行结果
[1, '3', 100, 90, False]
(1, 4, 9, 8)
[1, '3']
(1, 4)
[1, '3', 100, 90, False]
(1, 4, 9, 8)
"""
有关数据容器的内容可以参考我的另一篇文章:
(六)感谢
感谢大家的阅读,希望这些笔记能够帮到大家解决一些实际问题,如果内容有什么错误可以在评论中指出,会及时做出更改,以后有新内容也会进行更新,感谢!
1536

被折叠的 条评论
为什么被折叠?



