数据类型的内置方法之字符串和列表

一、数据类型的内置方法简介

  • 前言
    • 内置方法可以简单的理解成是每个数据类型自带的功能(每个人的不同特长)
    • 使用数据类型的内置方法统一采用句点符
    • 数据类型.方法名()
    'jason'.字符串具备的方法()
    name = 'jason'
    name.字符串具备的方法()
    

整型相关方法

  • 1.关键字:int()
  • 2.整数就是整数,主要用于计算,没有内置方法
  • 3.类型转换:int(待转换的数据)
#类型转换
print(type(int('11')))              # 输出:int   内部是纯数字才可以
print((type(int('11a11'))))         # 输出:报错  字符串必须是纯整数才可以转换
print(type(int('11.11')))           # 输出:报错  小数点也不行


'''十进制转其他进制'''
print(bin(100))   # 将十进制转成二进制
print(oct(100))   # 将十进制转成八进制
print(hex(100))   # 将十进制转成十六进制
# 如果数字前面没有任何标识 默认就是十进制
'''其他进制转十进制'''
# 自动识别进制数
# print(int(0b1100100))
# print(int(0o144))       # 100
# print(int(0x64))        # 100

# 人为指定进制数
print(int('0b1100100',2))  # 100
print(int('0o144', 8))   # 100
print(int('0x64', 16))   # 100

浮点型相关方法

  • 1.关键字
  • 2.类型转换
# 类型转换
print(float('12'))
print(type(float(12)))
print(float('123a321'))  # 必须全小数
print(float('123.12'))   # 可以识别一个小数
# print(float(12.21.212))  # 报错
  • 3.针对布尔值的特殊情况
print(float(True))   # 1.0
print(float(False))  # 0.0
print(int(True))     # 1
print(int(False))    # 0
  • 补充说明
a = 23.00
b = 1.2
c = a*b
print(c)        #27.5999999999999998
'''
python对数字不敏感  很容易出错

那python为什么还能做人工智能  数据分析  金融量化
	是因为基于python开发的模块非常牛逼!!!(背后有势力)
'''

字符串相关方法

  • 1.关键字:str
  • 2.类型转换
res = [1, 2, 3, 4]
print(res, type(res))   # [1, 2, 3, 4] <class 'list'>
print(str(True), type(str(True)))   # True <class 'str'>
print((str({'name': 'jason'}), type(str({'name': 'jason'}))))   # ("{'name': 'jason'}", <class 'str'>)

  • 3.需要掌握的方法
"""
	内置方法不需要死记硬背,掌握及格常见的即可
	后续遇到新的 直接代码执行查看即可
"""

name = 'hello world'

# 1.索引取值:单个字符  支持负数
# print(s1[0])  
# print(s1[-1]) 
# print(s1[-2])  

# 2.切片取值:多个字符  支持负数   切片的顺序默认是从左往右

print(name[::2])  # 每间隔一个打印
print(name[:])   # 所有
print(name[0:5])  # 从0到4,顾头不顾尾
print(name[2:])   # 从2开始到最后
print(name[:2])   # 从0开始到索引为2结束
print(name[-4:-2])  # 从倒数第4到倒数第三(顾头不顾尾)
print(name[-2:-4])  #   从倒数第二个到倒数第四个进行切片,因为切片顺序是从左到右,所以切出来为空

# 3.间隔/方向
print(name[:])   # 所有
print(name[::2])  # 每间隔一个打印
print(name[0:5:1])  # 从0到4,顾头不顾尾
print(name[-2:-4:-1])  # 从倒数第二到倒数第三倒序切片

# 4.统计字符串中字符的个数
print(len(s1))

# 5.移除字符串首尾指导的字符
name = '  jason   '   # he
print(len(name))      # 10
print(name.strip(),len(name.strip()))  # jason 5
'''字符串调用内置方法,而不是改变原数据,而是产生了新的数据'''
print(len(res), len(name))  # 5 10

# 6.按照指定的字符切割字符串
info = 'name|password|job'
info_list = info.split('|')
print(''.join(info_list))   # namepasswordjob

# 7.字符串大小写相关
s2 = 'HEllo Bay Baby 666'
# print(s2.lower())  # hello bay baby 666  全部改为小写
# print(s2.upper())  # HELLO BAY BABY 666  全部改为大写
# print(s2.islower())  # False 是否全是小写
# print(s2.isupper())  # False 是否全是大写
# print(s2.isdigit())  # False 是否是整数
# print(s2.capitalize())  # Hello bay baby 666  第一个单词首字母大写
# print(s2.title())   # Hello Bay Baby 666 每个单词首字母大写

# 8.字符串的格式化输出
# 方式1:等价于%s占位 没有什么优势
# information = 'he is a very good {}'
# print(information.format('boy'))   # he is a very good boy

# 方式2:支持索引取值  并且支持重复使用
# information = 'he is a vary {0} {0} {1}'
# print(information.format('good','boy'))  # he is a vary good boy

# 方式3:支持按关键字(按k取值) 并且支持重复使用
# information = 'he is  {name} {name} {gender}'
# print(information.format(name='jason', gender='man'))

# 方式4:推荐使用(****)
# name ='jason'
# age = '18'
# print(f'my name is {name},age is {age}')  # my name is jason,age is 18

# 9.统计字符串中指定字符出现的次数
res = 'sdsdsweweqewqffssasfssadwe'
print(res.count('s'))  # 8

# 10.判断字符串的开头或者结尾
res = 'hello world'
print(res.startswith('hel'))  # True  不一定是单个字符,可以是连续的字符
print(res.endswith('d'))     # True   

# 11.字符串的替换
# res = 'xunfei xunfei xunfei go go go'
# print(res.replace('xunfei','xf'))  # xf xf xf go go go

# 12.字符串的拼接
# res1 = 'hello world'
# res2 = 'hello xunfei'
# res3 = ['jason', 'mack']
# print(res1+res2)  # hello worldhello xunfei
# print(res1*3)  # hello worldhello worldhello world
# print(''.join(res3)) # jasonmack

# 13.判断数字是否是纯数字
# res = 'hello world jason'
# print(res.isdigit())  # False

# 14.查找某个字符串的索引
res = 'helloworldjason'
print(res.index('on'))

# 15.正文相关操作
res = 'my name is jason'
print(res.title())  # My Name Is Jason
print(res.capitalize())  # My name is jason

列表相关方法

  • 1.关键字:list
  • 2.类型转换
# print(type(list(123)))  # 报错
# print(type(list(123.123)))  # 报错
# print(type(list('123.123')))  # <class 'list'>
# print(type(list({'name': 'jason', 'age': '18'})),list({'name': 'jason', 'age': '18'}))  #
# <class 'list'> ['name', 'age']
'''能够背for循环的数据类型都可以转换成列表'''
l1 = ['jason', 'kevin', 'oscar', 'tony']
# 1.索引取值
print(l1[0])
# 2.切片操作
print(l1[:3])   # 取前面三个元素
print(l1[:])    # 取所有元素
# 3.间隔/方向
print(l1[::2])  # 间隔1个
# 4.统计列表中数据值的个数
print(len(l1))  # 4
posted @ 2022-06-24 19:19  荀飞  阅读(18)  评论(0编辑  收藏  举报