栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

九、数据类型的内置方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

九、数据类型的内置方法

数据类型的内置方法
  • 一 整型(int)
  • 二 浮点型(float)
  • 三 字符串(str)
  • 四 列表(list)
  • 作业
  • 五 字典(dict)
  • 六 布尔值(bool)
  • 七 元组(tuple)
  • 八 集合(set)

一 整型(int)
  1. 整型类型主要是做数据的运算,没有内置的方法。
    #  整型
    print(int(22.33))  # 22
    print(int('1123'))  # 1123
    print(int('123a'))  # 报错
    print(int([11, 22, 22]))  # 报错
    print(int({'name': 'jasper', 'age': 18}))  # 报错
    print(int((1, 2, 3)))  # 报错
    print(int({1, 2, 3, 4}))  # 报错
    print(int(True))  # 1
    print(int(False))  # 0
    
  2. 类型转换:
    #  进制数之间的转换
    #  十进制转其他进制
    print(bin(12121))  # 十进制转二进制  0b10111101011001
    print(oct(12121))  # 十进制转八进制  0o27531
    print(hex(12121))  # 十进制转十六进制  0x2f59
    
    
    #  其他进制转十进制
    print(int(0b10111101011001))
    print(int(0o27531))
    print(int(0x2f59))
    print(int('0b10111101011001', 2))  # 后面的参数代表是几进制数,int方法不用输入此参数,会自动识别
    
二 浮点型(float)
  • 类型转换
    #  类型转换
    print(float(123))  # 123.0
    print(float('123'))  # 123.0
    print(float([1, 2, 3]))  # 报错
    print(float({'name': 'jasper', 'age': 18}))  # 报错
    print(float((1, 2, 3)))  # 报错
    print(float({1, 2, 3}))  # 报错
    print(float(True))  # 1.0
    
三 字符串(str)
  1. 类型转换
    所以的数据类型都可以转成字符串类型
    print(str(1), type(str(1)))  # 1  
    print(str(1.1), type(str(1.1)))  # 1.1  
    print(str([1, 2, 3]), type(str([1, 2, 3])))  # [1, 2, 3]  
    print(str({'name': 'jasper', 'age': 18}),type(str({'name': 'jasper', 'age': 18})))
    # {'name': 'jasper', 'age': 18}  
    print(str((1, 2, 3)), type(str((1, 2, 3))))  # (1, 2, 3)  
    print(str({1, 2, 3}), type(str({1, 2, 3})))  # {1, 2, 3}  
    print(str(True), type(str(True)))  # True  
    
  2. 常用内置方法
  • [ ]
    #  str[]用法
    my_str = 'all at once'
    
    #  1.索引取值
    print(my_str[1])  # l
    
    # 2.切片
    print(my_str[:3])  # all
    print(my_str[0:6:2])  # ala
    print(my_str[::-1])  # ecno ta lla 可以用第三个参数等于-1来倒取
    """
    切片中默认顺序是从左往右的,前两个参数是来定范围的,
    是一个左闭右开的区间,第三个参数是定义间隔距离的。
    """
    
  • split
    #  1 str.split() 切分
    str1 = 'my name is jasper'
    print(str1.split(' '))
    #  按空格切分,返回列表 ['my', 'name', 'is', 'jasper']
    
    print('str1'.split(' ', maxsplit=2))
    # maxsplit参数指定切的次数 ['my', 'name', 'is jasper']
    
    print('str1'.rsplit(' ', maxsplit=2))
    #  从右边开始切 ['my name', 'is', 'jasper']
    
    
  • strip
    #  2 str.strip() 去除指定字符
    str2 = '  hello python  '
    print(str2.strip(' '))  # hello python
    print(str2.rstrip(' '))  #   hello python 去除右边
    print(str2.lstrip(' '))  # hello python  去除左边
    # .strip不能去除中间的字符
    
    
  • index
    #  3 str.index()  # 取索引
    str3 = 'Process finished'
    print(str3.index('c'))  # 3
    print(str3.index('ess'))  # 4
    print(str3.index('x'))  # 报错
    
  • find
    #  4 str.find()
    str4 = 'most recent call last'
    print(str4.find('r'))  # 5
    print(str4.find('r', 1, 6))  # 5  第一个参数是要找的值,后两个参数是开始和结束的范围
    print(str4.find('z'))  # -1  索引不存在返回-1
    
  • isnumeric
    #  5 str.isnumeric()  判断是不是纯数字
    print('1232'.isnumeric())  # True
    print('123.2'.isnumeric())  # False
    print('1232a'.isnumeric())  # False
    print('1232   '.isnumeric())  # False  只能是纯数字字符串此为True
    
  • format
    #  6 str.format()  格式化输出
    str6 = 'my name is {}, my age is {}'
    # 方式一:
    print(str6.format('jasper', 18))
    
    # 方式二:支持索引取值,可以用多次
    str6_1 = 'my name is {0}, my age is {1}'
    print(str6_1.format('jasper', 18))
    
    #  方式三:支持关键字取值,可以用多次
    str6_2 = 'my name is {name}, my age is {age}'
    print(str6_2.format(name='jasper', age=18))
    
    #  方式四:推荐
    name = 'jasper'
    age = 18
    print(f'my name is {name}, my age is {age}')
    
  • startswith
    #  7 str.startswith()  判断是不是什么开头 返回布尔值
    str7 = 'with exit code'
    print(str7.startswith('w'))  # True
    print(str7.startswith('w', 1, 9))  # False 后两个参数是指索引范围
    
    #  str.endswith()  # 判断是不是什么结束
    print(str7.endswith('e'))  # True
    print(str7.endswith('e', 0, 5))  # false
    
  • isdigit
    #  8 str.isdigit()  # 判断是否是纯数字 返回布尔值
    print('111'.isdigit())  # True
    print('111a'.isdigit())  # False
    
  • upper
    #  9 str.upper()  全部转换为大写
    print('asEsadeE'.upper())  # ASESADEE
    
    # # str.lower()  全部转换为小写
    print('ADSDWQEdadad'.lower())  # adsdwqedadad
    
    # # str.isupper()  判断是否为全大写 返回布尔值
    print('Sdad'.isupper()) # False
    
    # # str.islower()  判断是否为全小写 返回布尔值
    print('asdasd'.islower())  # True
    
    print('21312321'.lower())  # 21312321 不报错
    print('你好'.upper())  # 你好 不报错 没有意义
    
  • title
    #  10 str.title()  返回首字母大写
    str10 = 'hello python39'
    print(str10.title())  # Hello Python39
    # #  str.istitle()  # 判断是否首字母大写 返回布尔值
    print(str10.istitle())  # False
    
  • replace
    #  11 str.replace()  替换
    str11 = 'str7.startswith'
    print(str11.replace('start', 'stop'))  # str7.stopswith
    #  前面的参数是想要替换的值,后面的参数是替换后值
    
  • capitalize
    #  12 str.capitalize()  # 首字母大写  只有第一个字符大写
    str12 = 'a big headache'
    print(str12.capitalize())  # A big headache
    
  • join
    #  13 str.join()  # 连接字符串
    str13_1 = 'a series of'
    str13_2 = 'above all'
    print(str13_1 + str13_2)  # a series ofabove all
    print(''.join([str13_1, str13_2]))  # a series ofabove all
    #  点前面的参数是决定字符串以什么相连接
    
  • center
    # 14 str.center()  # 返回一个指定宽度和填充符的字符串
    str14 = 'from'
    print(str14.center(10, '*'))
    #  第一个参数是新字符串的长度,第二个参数是填充符号,默认为空格
    
  • count
    # 15 str.count()  # 统计字符个数
    str12 = 'a matter of concern'
    print(str12.count('a'))  # 2
    print(str12.count('a', 1, 10))  # 1 后两个参数是索引范围	
    
四 列表(list)
  1. 类型转换
    #  类型转换
    # print(list(111), type(list(111)))  # TypeError: 'int' object is not iterable
    # print(list(11.1), type(list(11.1)))  # TypeError: 'float' object is not iterable
    # print(list(True), type(list()))  # TypeError: 'bool' object is not iterable
    # print(list('111'), type(list('111')))
    print(list({'name': 'jasper', 'age': 18}),  # ['name', 'age'] 
          type(list({'name': 'jasper', 'age': 18})))
    print(list((1, 2, 3)), type(list((1, 2, 3))))  # [1, 2, 3] 
    print(list({1, 2, 3}), type(list({1, 2, 3})))  # [1, 2, 3] 
    
    不可迭代对象是不能转换成列表的
  2. 内置方法
  • 索引取值
    my_list = ['jasper', 18, 'male', 'read']
    #  索引取值
    print(my_list[2])  # male
    print(my_list[5])  # ist index out of range 超出范围会报错
    
  • 切片操作
    #  切片
    my_list = ['jasper', 18, 'male', 'read']
    print(my_list[:])  # ['jasper', 18, 'male', 'read']
    print(my_list[1:3])  # [18, 'male']
    print(my_list[0:3:2])  # ['jasper', 'male']
    #  三个参数前两个定范围,也是一个左闭右开的区间,最后一个是间隔数。
    
  • 列表数据个数
    #  列表数据个数
    my_list = ['jasper', 18, 'male', 'read']
    #  len()方法
    print(len(my_list))  # 4
    
作业
  1. 基于字符串充当数据库完成用户登录(基础练习)
    data_source = ‘jason|123’ # 一个用户数据
    获取用户用户名和密码 将上述数据拆分校验用户信息是否正确
    data_source = 'jason|123'
    username = input('输入用户名>>>:')
    password = input('输入密码>>>:')
    new_data_source = data_source.split('|')  # 返回列表类型
    if username == new_data_source[0] and password == new_data_source[1]:
        print('登录成功')
    else:
        print('用户名和密码错误')
    
  2. 基于列表充当数据库完成用户登录(拔高练习) # 多个用户数据
    data_source = [‘jason|123’, ‘kevin|321’,‘oscar|222’]
    data_source = ['jason|123', 'kevin|321', 'oscar|222']
    username = input('输入用户名>>>:')
    password = input('输入密码>>>:')
    for i in range(len(data_source)):  # 循环出列表中的每个数据
        """
      	数据库是一个列表,列表中每一个数据值包含了用户名和登陆密码,
        之间使用|符号相隔开的,并且|左边是名字,右边是密码。
        先用字符串的split方法以|切开,这样就得到一个新的列表,新的
        列表索引0位置是用户名,索引1位置是密码,接下来判断yh输入的
        用户名和新列表索引0的位置and用户输入的密码和新列表索引1位置
        值是否相等。相等就登陆成功,不等就进入下一次循环,for循环遍
        历完整个列表还是没有找到就登陆失败。
        """
        if username == (data_source[i].split('|'))[0] and password == (data_source[i].split('|'))[1]:
            print('loging successful')
            break
    else:
        print('longing fail')
    
    
五 字典(dict) 六 布尔值(bool) 七 元组(tuple) 八 集合(set)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990150.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号