python:数据类型内置方法

内容概要

  • 字符串其他内置方法(较多)
  • 列表内置方法
  • 可变类型与不可变类型
  • 字典内置方法
  • 元组内置方法
  • 集合内置方法

内容详细

字符串内置方法

                # 如何快速查看数据都有哪些方法 >>> 句点符(.)
                # 如何查看方法底层代码  Ctrl+鼠标左键点击

                # 大小写
                res = 'Jason123 JAson'
                res1 = 'jason123'
                # 转全大写
                print(res.upper())  # JASON123 JASON
                # 转全小写
                print(ers.lower())  # jason123 jason
                """
                实际案例:图片验证码忽略大小写
                思路:全部转大小或者全部转小写
                """

                code = 'JaSon123'
                print('用户图片验证码:%s' % code)
                code1 = input(请输入您的验证码:).strip()
                if code.upper() == code1.upper():  # 这里也可以用lower() 
                    print('验证码正确')
                else:
                    print('验证码错误')

                # 判断是否纯大写
                print(res.isupper())

                # 判断是否纯小写
                print(res.islower)

                # 判断字符串是否以指定的字符开头
                s1 = 'jason 123 newapeman heiheihei oldgirl'

                print(s1.startswith('tony'))  # False
                print(s1.startswith('j'))  # True
                print(s1.startswith('jas'))  # True
                print(s1.startswith('jason'))  # True

                # 判断字符是否以指定的字符结尾
                print(s1.endswith('oldboy'))   # False
                print(s1.endswith('l'))  # True
                print(s1.endswith('rl'))  # True
                print(s1.endswith('oldgirl'))  # True

                # 格式化输出
                # 与用户交互 占位符 %s %d
                # 字符串内置方法 format()
                # 第一种玩法 相当于%s占位符
                s2 = 'my name is {} my age is {}'
                print(s2.format('jason',18))  # my name is jason my age is 18
                # 第二种玩法 大括号内写索引值可以打破顺序 并且可以反复使用相同位置的数据
                s3 = '{1} my name is {1} my age is {0} {0} {0} {1} {1}'
                print(s3.format('jason', 18))
                # 第三种玩法 大括号内写变量名
                s4 = '{name1} my name is {name1} my age is {age} {name1} {name1}'
                print(s4.format(name1='jason', age=18))
                '''占位符与format结合具体情况挑选使用'''

                # 字符串的拼接
                # 方式1  字符串相加
                print('hello' + 'world')
                # 方式2  join方法
                l = ['jason', 'tony', 'kevin', 'tom', 'jack']
                print(l[0] + '|' + l[1] + '|' + l[2] + '|' + l[3] + '|' + l[4])
                print('|'.join(l))
                l1 = ['jason', 123, 'tony']
                print('$'.join(l1))  # 报错
                """必须是字符串类型 (在python不同数据类型之间无法直接操作)"""

                # 替换字符中指定的字符
                s4 = 'my name is tony tony tony my age is 18'
                # 替换字符串中所有的tony>>>jason
                print(s4.replace('tony', 'jason'))  # my name is jason jason jason my age is 18
                # 替换指定个数的文本
                print(s4.replace('tony', 'jason', 1))  # my name is jason tony tony my age is 18


                # 判断字符串中是否是纯数字
                s5 = 'jason123'
                print(s5.isdigit())  # False
                s6 = '123'
                print(s5.isdigit())  # True
                '''实际案例'''
                guess_age = input('请输入猜测的年龄>>>:').strip()
                if guess_age.isdigit():
                    guess_age = int(guess_age)
                else:
                    print('你能不能好好输')


                # 了解
                # 字体格式相关
                s5 = 'my name is jason my age is 18'
                print(s5.title())  # My Name Is Jason My Age Is 18  所有单词首字母大写
                print(s5.capitalize())  # My name is jason my age is 18  开头的单词首字母大写
                s6 = 'JaSOn iS Sb'
                print(s6.swapcase())  # jAsoN Is sB  大小写互换

                s7 = 'my name is jason aa aa aa somebody aa aa aa aa sone aa sone'
                print(s7.find('s'))  # 查看指定字符对应的起始索引值  从左往右找到一个就结束
                print(s7.find('aa'))  # 查看指定字符对应的起始索引值  从左往右找到一个就结束
                print(s7.find('w'))  # 找不到返回-1
                print(s7.index('w'))  # 找不到直接报错
                # 统计某个字符出现的次数(记忆)
                print(s7.count('aa'))

                s8 = 'jason'
                print(s8.center(15, '$'))  # 居中展示
                print(s8.ljust(15, '&'))  # 左对齐   jason&&&&&&&&&&
                print(s8.rjust(15, '*'))  # 右对齐   **********jason

                name = 'tony123'
                name.isalnum()  # 字符串中既可以包含数字也可以包含字母
                name.isalpha()  # 字符串中只包含字母


列表基本方法

            # 列表内一般都会存储相同数据类型的数据
            # 类型转换  数据类型关键字(需要转换的数据)
            print(list(123))  # 报错
            print(list(123.21))  # 报错
            print(list('hello'))  # ['h', 'e', 'l', 'l', 'o']
            print(list({'username': 'jason', 'pwd': 123}))  # ['username', 'pwd']
            print(list((11, 22, 33)))  # [11, 22, 33]
            print(list({11, 22, 33}))  # [33, 11, 22]
            '''list关键字可以将支持for循环的数据类型转换成列表'''


列表修改、添加数据

                1.修改值
                name_list[0] = 666
                print(name_list)  # [666, 'kevin', 'tony', 'jack']
                2.添加值
                方式1  尾部追加(将括号内的数据当成一个整体追加到列表末尾)
                name_list.append(666)
                print(name_list)  # ['jason', 'kevin', 'tony', 'jack', 666]
                name_list.append([666, 777, 888, 999])
                print(name_list)  # ['jason', 'kevin', 'tony', 'jack', [666, 777, 888, 999]]
                方式2  插入元素(将括号内的数据当成一个整体插入到索引指定位置)
                name_list.insert(0, 'heiheihei')
                print(name_list)  # ['heiheihei', 'jason', 'kevin', 'tony', 'jack']
                name_list.insert(2, 'hahaha')
                print(name_list)  # ['jason', 'kevin', 'hahaha', 'tony', 'jack']
                name_list.insert(0, [11, 22, 33])
                print(name_list)
                方式3  扩展元素(相当于for循环+append操作)
                name_list.extend([111, 222, 333, 444, 555])
                print(name_list)  # ['jason', 'kevin', 'tony', 'jack', 111, 222, 333, 444, 555]

                l1 = [111, 222, 333, 444, 555]
                l2 = [1, 2, 3, 4, 5]
                for i in l2:
                    l1.append(i)  # 将l2中元素追加到l1末尾
                print(l1)



列表删除数据

            删除数据
            方式1  通用删除方式
            del name_list[1]  # 根据索引直接删除  del是关键字delete缩写
            print(name_list)  # ['jason', 'tony', 'jack']
            方式2  remove()  括号内指定需要移除的元素值
            name_list.remove('jason')
            print(name_list)
            print(name_list.remove('jason'))  # None
            方式3  pop()  括号内指定需要弹出的元素索引值   括号内如果不写参数则默认弹出列表尾部元素
            name_list.pop(1)
            print(name_list)
            name_list.pop()
            print(name_list)
            print(name_list.pop())  # jack


可变类型与不可变类型

            s5 = 'my name is jason my age is 18'
            print(s5.title())  # 打印出来的是操作之后的结果  # My Name Is Jason My Age Is 18
            print(s5)  # my name is jason my age is 18

            name_list = ['jason', 'kevin', 'tony', 'jack']
            print(id(name_list))
            print(name_list.remove('jason'))  # 打印出来的是None
            print(name_list)  # ['kevin', 'tony', 'jack']
            print(id(name_list))
            # 可变类型与不可变类型
            """
            可变类型 >>> 列表
                值改变 内存地址不变 修改的是原值   
            不可变类型 >>> 整型 浮点型 字符串
                值改变 内存地址肯定变 其实是产生了新值
            """
            name_list = ['jason', 'kevin', 'tony', 'jack']
            print(id(name_list))
            name_list.append(123)
            print(id(name_list))





上一篇:今日内容详细


下一篇:字符串、列表内置方法