基本操作:
1.+ - * / % // **
2. .bit_length() 计算整数在内存中占⽤的⼆进制码的⻓度
如:
二、布尔值(bool) True False
1.字符串 => 数字 int()
数字 = > 字符串 str()
x => y类型 y(x)
结论: 想把xxx数据转化成yy类型的数据. yy()
2.能够表示False的数据: 0, "", [], {}, set(), tuple(), None, False
三、字符串(str) ' " ''' """
字符串是不可变的,无论如何操作,对原来的字符串都不影响。
s = "今天中午吃包"
1.索引 s[]
print(s[2]) #输出结果为 "中"
print(s[-2]) #输出结果为 "吃"
2.切片 变量[start:end] 顾头不顾尾 end取不到
s = "中间的,你们为什么不说话.难受"
# print(s[3:7]) # ,你们为
# print(s[5:9]) # 们为什么
# print(s[-3: -7]) # 切不到东西, 默认是从左往右切
# print(s[-7: -3]) # 么不说话
# print(s[:6]) # 从头开始切
# print(s[6:]) # 切到末尾
# print(s[:]) # 从开始到结束
3.步长 默认是1 每xxx个取一个
[start: end: step]
s = "abcdefghijklmn"
print(s[::2])
print(s[1:5:3])
print(s[7:3]) # 默认步长1 从左往右切
print(s[7:3:-1]) # 从右往左切
step可以控制方向. 如果step是正数. 从左往右切. 如果是负数 . 从右往左切
print(s[-1:-8: -2]) # nljh
如:
4. s.upper() 全部转成大写
s.lower() 全部转成小写 (有问题)
s.casefold() 全部转成小写
s.capitalize() 把首字母变成大写
s.title() 每个单词的首字母(非字母间隔)大写
s.swapcase() 大写变小写 小写变大写
5. s.strip() 去掉左右两端的空白(空格、\t、\n)
中间不改变
s.strip("2") 去掉字符串中的 2
s.lstrip() 去掉左边空格
s.rstrip() 去掉右边空格
s.center(10) 在10个字符中居中
s.center(10,"-") 居中,其他位置用 - 填充
6. s.replace("a","b") 把s中的a替换成b
s.replace(" ","") 去掉内部空格
s.replace("a","b",2) 替换两次
7. s.split("_") 以 _ 进行切割 切割出的结果放在列表中
s.split("_",1) 以第一个 _ 进行切割
8.s.startswith("李") 判断是否以"李"开头
s.endswith("李") 判断是否以"李"结尾
9. s.count("i") 计数 i 出现的次数
10. s.find("i") 查找 i 是否存在
存在输出 索引 第一个 i出现的位置
不存在输出 -1
s.index("i") 查找 i 是否存在
存在输出 索引
不存在 报错
11. s.isdigit() 是否是数字组成 (阿拉伯数字)
s.isalpha() 是否是基本的文字(字母、中文)
s.isnumeric() 是否是数字(任何形式的数字 如 一、二、三 壹、贰 仟 百)
s.isupper() 是否是大写
s.islower() 是否是小写
12. len(s) 字符串长度 内置函数
四,for 循环
or循环遍历字符串
for 变量 in 可迭代对象:
循环体
for c in s: # c: charactor(字符) s: string
print(c)
in有两种⽤法:
1. 在for中. 是把每⼀个元素获取到赋值给前⾯的变量.
2. 不在for中. 判断xxx是否出现在str中.