• 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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

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

    2.字符串索引和切片

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

    在这里插入图片描述

    2-1索引

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

    str = "Hello World"
    print(str[6])
    
    • 1
    • 2

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

    2-2切片

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

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

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

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

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

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

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

    将字符串元素反方向输出

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

    输出结果如下

    dlroW olleH
    
    • 1

    中括号的第二个冒号后面的-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)
    
    • 1
    • 2
    • 3

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

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

    s = "nice to meet you"
    s1 = s.title()
    print(s1)
    
    • 1
    • 2
    • 3

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

    s = "HELLO WORLD"
    s1 = s.lower()
    print(s1)
    
    • 1
    • 2
    • 3

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

    s = "hello world"
    s1 = s.upper()
    print(s1)
    
    • 1
    • 2
    • 3

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

    verify_code = "s8Hk"
    user_input = input(f"请输入验证码({verify_code}):")
    if verify_code.upper() == user_input.upper():
        print("验证码正确")
    else:
        print("验证码不正确")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

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

    str = "  I have a dream  "
    str1 = str.strip()
    print(str1)
    
    • 1
    • 2
    • 3

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

    username = input("请输入用户名:").strip()
    password = input("请输入密码:").strip()
    if username == "root":
        if password == "123456":
            print("输入正确!")
        else:
            print("输入错误!")
    else:
        print("输入错误!")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

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

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

    3-5 字符串替换

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

    str = "  He is a cool boy "
    str1 = str.replace(" ", "")
    print(str1)
    
    • 1
    • 2
    • 3

    最后代码执行结果是:Heisacoolboy

    3-6 字符串切割

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

    代码如下:

    str = "Linux_Docker_Centos_Python_Java"
    str1 = str.split("_")
    print(str1)
    print(type(str1))
    
    • 1
    • 2
    • 3
    • 4

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

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

    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)
    
    • 1

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

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

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

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

    三.补充说明

    1.查看字符串长度

    str = "fantastic"
    print(len(str))
    
    • 1
    • 2

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

    在这里插入图片描述

  • 相关阅读:
    EasyUI后台管理系统
    代码随想录算法训练营第五十八天 |583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇
    经典面试题 之 Elasticsearch
    java游戏制作-拼图游戏
    Day29力扣打卡
    Java skill - 自定义feign调用日志打印
    Docker容器与DockerFile开发详解
    40.【C++最全文件操作,少一个你打我】
    nginx(三)实现反向代理客户端 IP透传
    Python类的定义和使用:什么是类?实在不知道啥叫累!
  • 原文地址:https://blog.csdn.net/oldboy1999/article/details/126640082