数据类型
一.基础数据类型
- int
#int:整数,加减乘除,大小比较a=10
- float
#float:小数a=10.5print(a) print(10/3) #小数:数据范围是无限的。整数:在某一个特定的区间内是可以表示的很清楚的#1~100000000#0~1#计算机是一个二进制的产品:0,1#计算机表示一个小数是会有误差的
- boolean
#bool:用来做条件判断的# 取值范围:True,False#基础数据类型之间的转化a='10'print(type(a)) b=int(a)#把字符串转化成int()print(type(b)) a=10#在python中,所有的非零的数字都是True,零是Fasleb=bool(a) print(type(b)) print(b) while1: #死循环,恒为真print("给我钱") s=""#在python中,所有的非空字符串都是True,空字符串是Falseprint(bool(s)) #综上,在pythont中,表示空的东西都是False,不空的东西都是True
二.字符串
1.字符串格式化
#字符串的格式化问题#我叫xxx,我住在xxx,我几年xxx岁,我喜欢xxxname=input("输入你的名字:") address=input("输入你的地址:") age=int(input("输入你的年龄:")) hobby=input("输入你的爱好:") # %s字符串占位# %d占位整数# %f占位小数s="我叫%s,我住在%s,我几年%d岁,我喜欢%s"% (name,address,age,hobby) s1="我叫{},我住在{},我几年{},我喜欢{}".format(name,address,age,hobby) s2=f"我叫{name},我住在{address},我几年{age},我喜欢{hobby}"# f-stringprint(s)
2.索引和切片
# 索引和切片# 索引:按照位置提取元素s="我叫Lee"# 可以采用索引的方式来提取某一个字符(文字)print(s[2]) # 程序员都是从0开始数数print(s[-1]) # -表示倒数# 切片:从一个字符串中提取一部分内容s="我是Lee,你是小黄么"print(s[3:6]) # 从索引3位置进行切片,切到6结束 坑:切片拿不到第二个位置的元素# 语法:s[start:end]从start到end进行切片,但是取不到end[start,end)print(s[0:6]) print(s[:6]) # 如果start是从开头进行切片,可以省略print(s[6:]) # 从start开始一直截取到末尾# : 如果左右两端有空白,表示开头或者结尾print(s[:]) print(s[-3:-1]) # 目前还是只能从左往右切片print(s[-1:-3]) # 没结果,这是个坑!!!s="我爱你"# 可以给切片添加步长来控制切片的方向print(s[::-1]) # 一表示从右往左# 语法:s[start:end:step]从start切到end,每step个元素选出来一个元素s="abcdefghijklmnopq"print(s[3:8:2]) print(s[-1:-10:-3])
3.常用操作
# 字符串常用操作# 字符串的操作一般不会对原字符串产生影响,一般是返回一个新的字符串# 3.1字符串大小写转换s="python"s1=s.capitalize() print(s1) s="I have a dream!"s1=s.title() # 单词的首字母大写print(s1) s="I HAVE A DREAM"s1=s.lower() # 变成小写字母print(s1) s="i have a dream"s1=s.upper() # 把所有字母变成大写字母print(s1) # 如何忽略大小写来进行判断 => upper()verify_code="xAd1"user_input=input(f"请输入验证码({verify_code}):") ifverify_code.upper() ==user_input.upper(): print("验证码正确") else: print("验证码不正确")
4.切割和替换
# 3.2替换和切割(*)# strip() 去掉字符串左右两端的空白符(空格,\t,\n)s=" 你好 , 我是 Lee"s1=s.strip() print(s1) # 案例username=input("请输入用户名:").strip() password=input("请输入密码:").strip() ifusername=="admain": ifpassword=="123456": print("登陆成功") else: print("登陆失败!") else: print("登陆失败!") # replace(old,ne)字符串替换s="你好呀,我是刘德华"s1=s.replace("刘德华", "彭于晏") print(s1) a="hello i am a good man!"a1=a.replace("", "") # 去掉所有的空格print(a1) # split(用什么切割) 字符串切割 用什么切,就会损失掉谁,a="python_java_c_c#_javascript"lst=a.split("_") # 切割之后的结果会放在列表当中print(lst) lst=a.split("_java") print(lst)
5.查找和替换
# 查找和判断s="你好啊,我是吴彦祖是"ret=s.find("我") # 返回如果是一1就是没有该字符串出现 只会查找出第一次出现的print(ret) ret=s.index("我") # 如果报错就是没有print(ret) print("我"ins) # in可以做条件上的判断print("我"notins) # 判断name=input("输入你的名字") # 判断你是不是姓张ifname.startswith("李"): # 判断字符串是否以KXXXX开头,endwith()print("你姓李") else: print("不姓李") money=input("请输入你的钱") ifmoney.isdigit(): #判断字符串是否由整数组成,money=int(money) print("可以花钱了") else: print("对不起,你输入有误")
6.补充和总结
# 补充和总结s="hello"print(len(s)) #length长度#join()s="python_java_c_javascript"lst=s.split("_") print(lst) lst= ["小黄","小楠","小李"] # 用_把上面的人名连起来s="_".join(lst) print(s) # 总结"""1.f“{变量}"格式化一个字符串2.索引和切片: 索引:从0开始的.[] 切片:s[start:end:step],end位置的数据永远拿不到3.相关操作: 字符串操作对原字符串是不发生改变的, 1.upper()在需要忽略大小写的时候 2.strip()可以去掉字符串左右两端的空白(空格,\t,\n) 3.replace()字符串替换 4.split()对字符串进行切割 5.join()拼接一个列表中的内容成为新字符串 6.startswith()判断字符串是否以xxx开头 7.1en()字符串长度(内置函数) 字符串的循环和遍历 for c in s: print(c) 字符串中的每一个字符 关于in: 1.判断xxx是否在xxxx中出现了 2.for循环"""