基础数据类型
int:整数,加减乘除,大小比较
float:小数,浮点数
bool:用来做条件判断的,
取值范围只有:True和False
在Python中,所有的非零数字都是True,零是False;所有非空字符串是True,空字符串是False
字符串格式化
#我叫**,我住在**,我今年**,我喜欢做**`
name=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)
#print(s1)
#f-string
#s2=f"我叫{name},我住在{address},我今年{age}岁,我喜欢做{hobby}"
运行程序截图如图所示:
索引和切片
索引:按照位置提取元素
s="我叫周杰伦"
#可以采用索引的方式来提取某一个字符(文字符号)
print(s[3])
#程序员都是从0开始数数
print(s[-1])
#负号表示倒数
切片:从一个字符串中提取一部分内容
s="我叫周杰伦,你叫周润发吗?"
print(s[3:6])
#从索引3进行切片,切到6结束,索引的切片拿不到第二个位置的元素
#语法:s[start:end]从start到end进行切片,但是取不到end
#如果start进行切片,则start可以省略,end也可以省略
#如果冒号左右两端有空白,表示开头或者结尾
print(s[-3:-1])#目前还是只能从左往右切片
print(s[-1:-3])#没有结果,这里是坑!!!!
s="我爱你"
#可以给切片添加步长来控制切片的方向
print(s[::-1])
#负号表示从右往左,默认第三个参数都是1
#语法:s[start:end:step] 从start切到end,每step个元素出来一个元素
字符串的常规操作
字符串的操作一般不会对原字符串产生影响,一般是返回一个新的字符串
字符串的大小写转换
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)
例子:如何忽略大小写来进行判断
verify_code="xAd1"
uesr_input=input(f"请输入验证码({verify_code}):")
if verify_code.upper()==uesr_input.upper()
print("验证码正确")
else:
print("验证码不正确")
字符串的切割与替换
- strip():去掉字符串左右两端的空白符(空格,\t,\n)
s=" 你 好, 我 叫 "
s1=s.strip(s)
#去掉字符串左右两端的空格
print(s1)
案例:模拟用户登录
username=input("请输入用户名:").strip()
password=input("请输入密码:").strip()
#防止用户在输入的时候不小心输入空格导致登录失败
if username=="admin"
if password=="123456"
print("登陆成功")
else:
print("登陆失败")
else:
print("登陆失败")
- replace(old,new):字符串的替换
s="你好啊,我叫赛利亚"
s1=s.replace("赛利亚","周杰伦")
print(s1)
s="i am very happy!"
s1=s.replace(" ","")
#去掉所有的空格
print(s1)
- split(用什么切割):字符串的切割,用什么切就会损失什么
s="python_java_c_c#_javascript"
s1=s.split("_")#切割之后的结果会放到列表当中
print(s1)
输出结果如下图:
s="python_java_c_c#_javascript"
s1=s.split("_java_")#
print(s1)
运行结果如图所示:
字符串的查找和判断
- 查找
s="你好啊,我叫周润发"
s1=s.find("周润发")
#返回如果是-1就是没有该字符串出现
print(s1)
s="你好啊,我叫周润发"
s1=s.index(周润发)
#若没有该字符串则会直接报错
print(s1)
s="你好啊,我叫周杰伦"
print("周杰伦" in s)
#in可以做条件上的判断
print("周杰伦" not in s)
#not in 判断是否不存在
- 判断
name=input("请输入你的名字:")
#判断你是否姓张
if name.startswith("张"):
#判断字符串是否以**开头,endswith()判断以**结尾
print("你姓张")
else:
print("你不姓张")
money=input("请输入你的钱数")
if money.isdigit():
#判断字符串是否由整数组成,
money=int(money)
print("可以")
else:
print("对不起,您的输入有误")
字符串的补充和总结
- len():内置函数,输出字符串长度
- join():和split相对应
lst=['我','是','谁']
#用下划线把上面的字符连接起来
s="_".join(lst)
print(s)