一. 目录
graph LR
Top[int bool str]
int[int]
bool[bool]
str[str]
Top-->int
Top-->bool
Top-->str
bool-->transform[类型转换]
str-->A[切片和索引]
A-->A1[切片]
A-->A2[索引]
str-->B[相关操作]
B-->B1[大小写转换: 全部大写,小写, 交叉转换]
B-->B2[居中,更改tab长度, 去空格, 字符串替换, 字符串切割]
B-->B3[格式化输出-3种]
B-->B4[查找]
B-->B5[条件判断]
B-->B6[计算字符串的长度]
B-->B7[迭代]
B7-->B71[for]
B7-->B72[while]
二. 代码
'''
int
str 不可变对象, 任何操作对原子符都不会有任何影响
bool
list 存储大量数据, 用[]表示
tuple 元组 不可以发生改变, 用()表示
dict 字典 保存键值对 一样可以保存大量数据
set 集合 , 保存大量数据 , 不可以重复, 其实就是步保存value的dict
'''
a = 23
b = False
c = 'nihao'
a = str(a)
b = int(b)
c = bool(c)
print(a,b,c)
print('---------------------------------')
'''
4.1 索引与切片
'''
s1 = 'python最牛'
print(s1[0])
print(s1[1])
print(s1[2])
print(s1[3])
print(s1[4])
print(s1[-1])
print(s1[-2])
print('------------------------------------------------')
s2 = 'java天下无敌'
print(s2[0:4])
print(s2[2:])
print(s2[:3])
print(s2[-1:-5])
print(s2[-5:-1])
print(s2[-5:])
print(s2[:-1])
print(s2[:])
print(s2[1:5:2])
print(s2[4::2])
print(s2[:5:2])
print(s2[-1:-5])
print(s2[-1:-5:-1])
print(s2[-5::-3])
print('-------------------------------------')
'''
4.2 str相关操作
'''
s1.capitalize()
print(s1)
ret1 = s1.capitalize()
print(ret1)
ret1 = s1.lower()
print(ret1)
ret1 = s1.upper()
print(ret1)
s1 = 'WsTp'
ret = s1.swapcase()
print(ret)
print('--------------------------------------')
'''
2. 切来切去
'''
s3 = '周杰伦你好'
ret = s3.center(10,"$")
print(ret)
s6 = "alex wusir\t\teggon"
print(s6)
print(s6.expandtabs())
s7 = " alex wusir haha "
ret = s7.strip()
print(ret)
ret = s7.lstrip()
print(ret)
ret = s7.rstrip()
print(ret)
print('----------------------------------------')
s8 = "sylar_alex_taibai_wusir_eggon"
ret = s8.replace('alex', '⾦金金⻆角⼤大王')
print(s8)
print(ret)
ret = s8.replace('i', 'SB', 3)
print(ret)
s9 = "alex,wusir,sylar,taibai,eggon"
lst = s9.split(",")
print(lst)
s10 = """诗⼈人
学者
感叹号
渣渣"""
print(s10.split("\n"))
s11 = "银王哈哈银王呵呵银王吼吼银王"
lst = s11.split("银王")
print(lst)
print('---------------------------------------------')
'''
格式化输出
'''
s12 = "我叫%s, 今年年%d岁了了, 我喜欢%s" % ('sylar', 18, '周杰伦')
print(s12)
s12 = "我叫{}, 今年年{}岁了了, 我喜欢{}".format("周杰伦", 28, "周润发")
print(s12)
s12 = "我叫{1}, 今年年{2}岁了了, 我喜欢{0}".format("周杰伦", "周润发", 28)
print(s12)
s12 = "我叫{name}, 今年年{age}岁了了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28)
print(s12)
print('--------------------------------------------------------------------------')
s13 = "我叫sylar, 我喜欢python, java, c等编程语⾔言."
ret1 = s13.startswith("sylar")
print(ret1)
ret2 = s13.startswith("我叫sylar")
print(ret2)
ret3 = s13.endswith("语⾔言")
print(ret3)
ret4 = s13.endswith("语⾔言.")
print(ret4)
ret7 = s13.count("a")
print(ret7)
ret5 = s13.find("sylar")
print(ret5)
ret6 = s13.find("tory")
print(ret6)
ret7 = s13.find("a", 8, 22)
print(ret7)
ret8 = s13.index("sylar")
print(ret8)
print('--------------------------------------------------------------')
s14 = "123.16"
s15 = "abc"
s16 = "_abc!@"
print(s14.isalnum())
print(s15.isalnum())
print(s16.isalnum())
print(s14.isalpha())
print(s15.isalpha())
print(s16.isalpha())
print(s14.isdigit())
print(s14.isdecimal())
print(s14.isnumeric())
print(s15.isdigit())
print(s16.isdigit())
print('----------------------------------------------')
s17 = "-123.12你好呀"
s17 = s17.replace("你好呀", "你真不错呀")
print(s17)
if s17.isdigit():
print("是整数")
else:
if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."):
print("是小数")
else:
print("不不是⼩小数")
print('------------------------------------------------------')
s18 = "我是你的眼, 我也是a"
ret = len(s18)
print(ret)
print('--------------------------------------------------------')
'''
7. 迭代
我们可以使⽤用for循环来便便利利(获取)字符串串中的每⼀一个字符
语法:
for 变量量 in 可迭代对象:
pass
可迭代对象: 可以⼀一个⼀一个往外取值的对象
'''
s19 = "⼤大家好, 我是VUE, 前端的⼩小朋友们. 你们好么?"
index = 0
while index < len(s19):
print(s19[index])
index = index + 1
for c in s19:
print(c)
'''
in有两种⽤用法:
1. 在for中. 是把每⼀一个元素获取到赋值给前⾯面的变量量.
2. 不在for中. 判断xxx是否出现在str中.
'''
print('VUE' in s19)
s20 = "I am sylar, I'm 1234 years old, I have 2 dogs!"
count = 0
for c in s20:
if c.isdigit():
count = count + 1
print(count)