字符串类型:
字符串的定义是可以有多种引号嵌套
定义字符串是以开头的引号然后匹配和第一个引号相同的引号,所以当字符串中间出现和第一个引号相同的引号就会出错,这个时候就可以选择别的引号进行创建字符串,或者在中间的引号前加一个反斜杠,这样就表示这个引号没有特殊意义,就是普通字符串,这个反斜杠 成为转义符
# 需求:你是"好学生"
s1 = "你是\"好学生\""
print(s1)
# 可以通过引号的嵌套,使内部不同的引号在不转义的情况下直接输出
s2 = '你是"好学生"'
print(s2)
# 需求:你是"好学生",是'我的'
s3 = """你是"好学生",是'我的'"""
print(s3)
字符串的常规操作
字符串的索引取值是字符串加一个中括号里面放索引值
正向取值从0开始编号 反向取值从-1开始编号
s1 = '123abc呵呵'
print(id(s1)) # 2217572683576
print(s1[0], id(s1[0])) # 2217543167200
t_s = '1'
print(id(t_s)) # 2217543167200
# 取出c
print(s1[5], s1[-3])
字符串的拼接直接字符串+字符串然后用一个变量接收,就可以了。
如果要拼接其他类型的方法,可以用str先将其他类型的转为字符串类型然后拼接,或者用格式化输出的方法进行拼接
s2 = '你好'
s22 = '帅'
ss2 = s2 + s22
print(ss2, id(s2), id(s22), id(ss2))
# 如果要拼接其他类型
a = 10
b = "20"
c = True
# res = "1020True"
res = "%s%s%s" % (a, b, c) # 方法1
print(res)
res = str(a) + b + str(c) # 方法2
print(res)
字符串的长度用字符串点len()然后用一个变量接收一下 就是这个字符串的长度
s3 = '12345'
ln1 = s3.__len__()
print(ln1)
ln2 = len(s3)
print(ln2)
字符串的切片 取子字符串用字符串后面加[::]可以只放两个冒号 就代表从头取到尾,然后里面可以放起始值结束值 以及步长 步长默认为1
s4 = '123abc呵呵'
sub_s = s4[0:6:]
print(sub_s) # 123abc
sub_s = s4[0:6:2]
print(sub_s) # 13b
sub_s = s4[::-1]
print(sub_s) # 呵呵cba321
sub_s = s4[-1:-6:-1]
print(sub_s) # 呵呵cba
成员运算,判断某字符串是否在该字符串中
一个字符串1 然后 空格in 字符串2 如果字符串2中包含字符串1 那么返回 True 否则返回False
s5 = '123abc呵呵'
ss5 = '12a'
print(ss5 in s5) # False
print(ss5 not in s5) # True
字符串的循环遍历,for i in 某个字符串
然后字符串中字符每个都会被遍历一遍
s6 = '123abc呵呵'
for v in s5:
print(v)、
下面是几个重要的方法
1通过目标去获取他的索引坐标。用 index 字符串点index括号里面放某个字符串 就会返回他的索引坐标
s1 = '123abc呵呵'
print(s1.index('b'))
strip去字符串两端的留白,也可以取指定字符 字符串点strip()括号里面如果不填默认就是去字符串两端的空白,如果放入某个字符,就可以去掉字符串两端的这个字符
s2 = '***好 * 的 ***'
print(s2.strip('*'))
count 用来计算子字符串的个数 字符串点count(括号里面放子字符串)就会返回这个子字符串在大字符串中出现了几次
s3='123131313'
print(s3.count(13))
判断某个字符串是否全是数字 用isdigit 字符串点isdigit()如果是正整数就会返回True 否则False
s4 = '123'
print(s4.isdigit())
大小写转换全部转成全大写的用点upper() 全部转成小写的用lower
capitalize 是把整个字符串首字母转成大写
title是把每个单词的首字符转成大写
s5 = "AbC def"
print(s5.upper()) # 全大写
print(s5.lower()) # 全小写
# 了了解
print(s5.capitalize()) # 首字母大写
print(s5.title()) # 每个单词首字母大写
判断以什么开头 是用startswith括号里面放需要判断的字符串 如果是以这个字符串开头那么返回True 反之则False
判断以结什么结尾的 是用endswith()括号里面放需要判断的字符串
替换是用replace(前面放需要替换的字符串,然后紧接着是替换新的字符串,后面是替换的次数可以不写,默认全部替换)
格式化
字符串里面放大括号作为占位符,后面点format括号里有几个占位符就填几个值用逗号隔开
也可以在大括号里面标志位置,后面就会根据后面填的自动匹配位置
还可以直接指名道姓 大括号里面放个 变量 然后后面括号里 的格式是这个值=某个值
1. find | rfind:查找子字符串索引,无结果返回-1
2. lstrip:去左留白
3. rstrip:去右留白
4. center | ljust | rjust | zfill:按位填充
语法:center(所占位数, '填充符号')
5. expandtabs:规定\t所占空格数
6. captialize | title | swapcase:首字母大写 | 单词首字母大写 | 大小写反转
7. isdigit | isdecimal | isnumeric:数字判断
8. isalnum | isalpha:是否由字母数字组成 | 由字母组成
9. isidentifier:是否是合法标识符
10. islower | isupper:是否全小 | 大写
11. isspace:是否是空白字符
12. istitle:是否为单词首字母大写格式
'''
列表类型
列表中可以存放多个值,可以存放所有的数据类型
列表中是有序的 可以通过索引去取值
索引的取值 用列表名加中括号里面放索引,索引是从0开始计数,输入负数就是倒着读取
列表运算 可以直接拿两个列表相加,或乘某个数字,得到的是新的list
查列表的长度用len(括号里面放需要查长度的列表名)
列表的切片列表名加中括号里面放起始索引结束索引 以及步长 用冒号隔开,也可以直接放两个冒号,遮掩就是把列表整个复制了一遍
成员运算用in 判断某个值在不在列表里 用in 返回True 或False
列表可以用for循环迭代
列表的增删改查
查用索引取值
增是有三种,.append是在末尾增
.insert()前面放索引后面放需要增加的值 会添加到这个索引的前面
改是用索引取值然后重新赋值
删
可以点remove某个元素就删掉了某个元素
点pop 默认从末尾删,并返回删掉的值 可以用变量接收,也可以在括号里面放上索引。就删掉这个索引的元素并返回
del 后面跟上列表名,就直接把这个列表删掉了
clear()是清空列表
了解的方法
# 1)排序: 针对于同类型
ls = ['3', '1', '2']
ls.sort() # 默认正向排序
print(ls)
ls.sort(reverse=True) # 正向排序的结果上反转,形成倒序
print(ls)
# 2)反转
ls = ['3', '1', '2']
ls.reverse() # 按存储的顺序进行反转
print(ls)
# 3)计算值的个数 => 列表中可以存放重复数据
ls = [1, 2, 1, 2, 3, 1]
print(ls.count(1)) # 对象1存在的次数
了了解
# 1)整体增加,添加到末尾
ls = [1, 2, 3]
ls.extend('123')
print(ls)
ls.extend([0, 1, 2])
print(ls)
# 2) 目标的索引位置,可以规定查找区间
ls = [1, 2, 1, 2, 3, 1]
# 找对象1,在索引3开始往后找到索引6之前
ind = ls.index(1, 3, 6)
print(ind)