python-(4-1)数据类型的应用(int、float、bool、字符串)

一.int、float、布尔类型(bool)

1.int整数

表示整数,可以进行加减乘除运算,大小比较,在某一个特定的区间内可以表现的很清楚

2.float浮点数

表示小数,数据范围是无限的

在计算10与3的商时,给出的结果如下
在这里插入图片描述

小数点的最后一位是5,原因如下:(其他计算机语言也有该类问题)

表示小数,小数的数据范围是无限的
而计算机是一个二进制产品(只有0和1),表示小数很困难。
因此计算机表示一个小数是有误差的,“5”就是误差,表示接近这个结果。

3.布尔类型

用来进行条件判断,取值范围只有TrueFalse,也可以进行基础数据类型之间的转换

3-1数字类型转化成bool

在python中,所有非零的数字转换成bool都是True,只有零是False
在这里插入图片描述

既然非零数字的布尔值都是True那么在写while死循环时可以直接用数字代替

在这里插入图片描述

3-2字符串类型转化成bool

所有非空字符串都是True,空字符串都是False
在这里插入图片描述

综上所述:python基本数据类型中,表示空的东西都是False,不空的东西都是True

二.字符串

1.字符串格式化

name = input("请输入你的名字:")
age = int(input("请输入你的年龄:"))
hobby = input("请输入你的爱好:")

s1 = "我叫%s,我今年%d岁,我喜欢%s" % (name, age, hobby)
s2 = "我叫{},我今年{}岁,我喜欢{}".format(name, age, hobby)
s3 = f"我叫{name},我今年{age}岁,我喜欢{hobby}"
print(s3)

其中%s是万能的,不仅可以作为字符串占位,也可以是浮点数占位
使用%d是占位整数
使用%f是占位小数

执行上述python代码后,交互式结果如下:
在这里插入图片描述

2.字符串索引和切片

定义一个字符串str="Hello World"

在这里插入图片描述

2-1索引

如果要获得字符串中元素W,代码如下

str = "Hello World"
print(str[6])

索引是从字符串中提取某个数据内容

2-2切片

切片是从字符串中提取某部分(区间)数据内容

获得从e开始,到W结尾的数据段内容
str = "Hello World"
print(str[1:7])

由此可知str[m:n]的取值范围是从m到n,取得到m,取不到n
如果从头开始取,前面的可以省略str[:n]
同理,如果想取到尾部,后面的也可以省略str[m:]

如果使用负数的索引,依旧是从左往右筛取,最后一个数字位取不到

str = "Hello World"
print(str[-3:-1])

最后的结果是rl,索引-1位置的d取不到

2-2-1从右往左的切片

将字符串元素反方向输出

str = "Hello World"
print(str[::-1])

输出结果如下

dlroW olleH

中括号的第二个冒号后面的-1表示,步长为1的从右往左的切片方式
在2-2中所有从左往右的切片,第二个冒号后面我们默认为1的步长,故省略

在这里插入图片描述

公式str[start:end:step]表示从start切割到end,但不包括end,每step个元素中取一个元素
其中的start和end的数字可以随意设置,可以有正数有负数,只要能表示某区间段的内容即可
其中step数值为正,表示从左往右的顺序截取;数值为负,表示从右往左截取。它必须与start和end设置的方向保持一致。换句话说,start和end确定后,step的正负也确定了,截取必须是从start开始,到end结束。
(此处如果不理解,建议自己随意设置字符串,随便取数字试一下,就懂了)

3.字符串常规操作

字符串的操作一般不会对原字符串产生影响,会返回一个新的字符串

3-1 让字符串首字母变成大写

s = "python"
s1 = s.capitalize()
print(s1)

3-2 让字符串中每个单词的首字母变成大写

它会将一段连贯的英文字母当作一个单词

s = "nice to meet you"
s1 = s.title()
print(s1)

3-3-1 让字符串中每个字母变成小写

s = "HELLO WORLD"
s1 = s.lower()
print(s1)

3-3-2 让字符串中每个字母变成大写

s = "hello world"
s1 = s.upper()
print(s1)

此处常用作验证码忽略大小写的匹配

verify_code = "s8Hk"
user_input = input(f"请输入验证码({verify_code}):")
if verify_code.upper() == user_input.upper():
    print("验证码正确")
else:
    print("验证码不正确")

交互式执行结果如下:
在这里插入图片描述

3-4 去掉字符串两边的空格

str = "  I have a dream  "
str1 = str.strip()
print(str1)

相关案例:输入用户名和密码,即使前后有空格,也要登陆成功。

username = input("请输入用户名:").strip()
password = input("请输入密码:").strip()
if username == "root":
    if password == "123456":
        print("输入正确!")
    else:
        print("输入错误!")
else:
    print("输入错误!")

在进行交互式输入用户名和密码时,我的前后都有空格,但不影响最终结果的正确
在这里插入图片描述

在python官方文档中,strip()作用是去掉字符串左右两端的空白符(空格,\t,\n)

3-5 字符串替换

举例说明:去掉字符串中所有的空格
换句话说,将字符串所有的空格替换成“空”

str = "  He is a cool boy "
str1 = str.replace(" ", "")
print(str1)

最后代码执行结果是:Heisacoolboy

3-6 字符串切割

举例说明:将下列字符串以下划线为单位进行切割str = "Linux_Docker_Centos_Python_Java"

代码如下:

str = "Linux_Docker_Centos_Python_Java"
str1 = str.split("_")
print(str1)
print(type(str1))

切割后的内容会储存在列表中,用中括号表示,执行结果如下:

在这里插入图片描述
用什么切割,就会损失掉什么。用下划线切割,所得结果就没有下划线。

3-7 字符串查找

3-7-1 使用find()

举例说明:查找字符串中”灰太狼“是否存在
在这里插入图片描述

返回结果是6,表示存在该元素,并且位置在索引的”6”处。
如果返回结果是-1,表示该字符串不存在要查找的元素

3-7-2 使用index()

find()用法相同,区别是当它找不到元素时,不会返回-1,而是直接报错

3-7-3 使用 in

在这里插入图片描述

如果元素存在,返回True;否则返回False。
也可以判断是否不存在

print("灰太狼大王" not in str)

3-8 字符串判断开头和判断数字

举例说明一:交互式输入一个名字,判断是否姓王
在这里插入图片描述

举例说明二:饭卡充值,判断是否是整数数字

money = input("请输入充值金额:")
if money.isdigit():
    money = int(money)
    print("充值成功!")
else:
    print("充值失败,请输入数字...")

三.补充说明

1.查看字符串长度

str = "fantastic"
print(len(str))

2.将列表元素连接成一个字符串

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值