一.python基本数据类型
1. int==> 整数.主要用来进行数学运算
2. str==>字符串,可以保存少量数据并进行相应的操作
3. bool==>判断真假,True,False
4. list==>存储大量数据的用[]表示
5. tuple==>元组,不可以发生改变用()表示
6. dict==>字典,保存键值对,一样可以保存大量数据
7. set==>集合,保存大量数据,不可以重复.其实就是不保存vaule的dict
二.整数(int)
常见操作就是加减乘除 //**
bit_length() 一个数的二进制长度
三.布尔值(bool)
取值只有True, False. bool值没有操作.
转换问题:str => int int(str) int => str str(int) int => bool bool(int). 0是False 非0是True bool=>int int(bool)
True是1, False是0 str => bool bool(str)空字符串串是False, 不空是True bool => str str(bool) 把bool值转换成相应的"值"
四.字符串.在python中用',",''',"""引起来的内容称为字符串.
1.切片和索引
1.索引:就是下标.切记,下标从0开始
s1="python最牛B"
print(s1[0]) p
print(s1[1]) y
print(s1[2]) t
print(s1[3]) h
print(s1[4]) o
print(s1[5]) n
print(s1[8]) B
print(s1[-2]) 牛
2.切片,我们可以使用下标来截取部分字符串的内容
语法:str[start:end]
规则:顾头不顾腚,从start开始截取.截取到end位置.但不包括end
s2="python最牛B"
print(s2[0:3]) 结果:pyt
print(s2[6:9]) 结果:最牛B
print(s2[-1:-5]) 没有结果
print(s2[-5:]) 结果:on最牛B
print(s2[:]) 结果:python最牛
3.跳着截取
跳着取步长
print(s2[1:5:2]) 结果:yh
print(s2[:5:2]) 结果:pto
print(s2[4::2]) 结果;o最B
print(s2[-1:-5]) 结果:什么都没有
步长: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1 切片语法:
str[start?step] start: 起始位置 end: 结束位置 step:步长
4. 字符串串的相关操作方法 切记, 字符串串是不可变的对象, 所以任何操作对原字符串串是不会有任何影响的
1.大小写转来转去
s2.capitalize()
print(s1) 输出没有发现并没有任何的变化,因为这里的字符串本身是不会发生改变的.需要我们重新获取的的.
ret1 = s1.capitalize()
print(ret1)
大小写的转换
ret=s1.lower()#全部转换成小写
print(ret)
ret=s1.upper()#全部转换成大写
print(ret)
应用,校验用户输入的验证码是否合法
verify_code="abDe"
user_verify_code=input("请输入验证码:")
if verify_code.upper()==user_verify_code.upper():
print("验证成功")
else:
print("验证失败")
s2 = "БBß"
print(s2)
print(s2.lower())
print(s2.casefold())
结果:БBß
бbß
бbss
每个被特殊字符隔开的字母首字母大写
s3 = "alex eggon,taibai*yinwang_麻花藤"
ret = s3.title()
print(ret) #Alex Eggon,Taibai*Yinwang_麻花藤
中文也算是特殊字符
s4="alex老男孩wusir"
print(s4.title()) #Alex老男孩Wusir
2.切来切去:居中
s5="周杰伦"
ret=(s5.center(10,"*"))
print(ret) 周杰伦*
更改tab的长度
s6="alex wusir\teggon"
print(s6) alex wusir eggon
print(s6.expandtabs()) alex wusir eggon
可以改变\t的长度,默认长度更改为八
去空格 去掉的是左右两端的空格
s7=" alex wusir haha"
ret=s7.strip()
print(ret) alex wusir haha
ret=s7.lstrip() #去掉左边空格,右边的同理
print(ret) alex wusir haha
字符串的替换
字符串串替换 s8 = "sylar_alex_taibai_wusir_eggon"
ret = s8.replace('alex', '金角大王') #把alex替换成金角大王
print(s8)
sylar_alex_taibai_wusir_eggon 切记,字符串是不可变对象. 所有操作都 是产生新字符串返回
print(ret)
sylar_金角大王_taibai_wusir_eggon
ret = s8.replace('i', 'SB', 2)# 把i替换成SB, 替换2个
print(ret) # sylar_alex_taSBbaSB_wusir_eggon
字符串串切割 s9 = "alex,wusir,sylar,taibai,eggon"
lst = s9.split(",")# 字符串切割, 根据,进行切割
print(lst) s10 = """诗人 学者 感叹号 渣渣"""
print(s10.split("\n")) # 用\n切割
s11 = "银王哈哈银王呵呵银王吼吼银王" lst = s11.split("银王")
['', '哈哈', '呵呵', '吼吼', ''] # 如果切割符在左右两端. 那么一 定会出现空字符串.深坑请留意
print(lst)
3. 格式化输出
格式化输出 s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦')
之前的写法 print(s12) s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发")
按位置格式化print(s12) s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28)
#指定位置 print(s12) s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润 发", age=28)
指定关键字 print(s12)
4.查找
s13 = "我叫sylar, 我喜欢python, java, c等编程语言."
ret1 = s13.startswith("sylar") # 判断是否以sylar开头
print(ret1)
4.查找
#ret3 = s13.endswith("语言") # 是否以'语言'结尾 print(ret3) ret4 = s13.endswith("语言.") # 是否以'语言.'结尾 print(ret4)
ret7 = s13.count("a") # 查找"a"出现的次数 print(ret7)
ret5 = s13.find("sylar") # 查找'sylar'出现的位置 print(ret5)
ret6 = s13.find("tory") # 查找'tory'的位置, 如果没有返回-1 print(ret6)
ret7 = s13.find("a", 8, 22) # 切片找 print(ret7)
ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程序会报错 print(ret8)
-
条件判断
条件判断 s14 = "123.16" s15 = "abc" s16 = "_abc!@" # 是否由字母和数字组成
6. 计算字符串的长度
s18 = "我是你的眼, 我也是a" ret = len(s18) # 计算字符串的长度 print(ret)
# 注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行了
7. 迭代 我们可以使用for循环来便利(获取)字符串中的每一个字符
语法: for 变量 in 可迭代对象:
pass 可迭代对象: 可以一个一个往外取值的对象
s19 = "大家好, 我是VUE, 前端的小朋友们. 你们好么?"
# 用while循环 index = 0 while index < len(s19): print(s19[index])
# 利用索引切片来完成字符的查找 index = index + 1
# for循环, 把s19中的每一个字符拿出来赋值给前面的c for c in s19: print(c)
'''in有两种用法: 1. 在for中. 是把每一个元素获取到赋值给前面的变量.
2. 不在for中. 判断xxx是否出现在str中. ''' print('VUE' in s19)
转载于:https://www.cnblogs.com/Li-Kai-168/p/9593866.html