数据类型的内置方法介绍
- 对于数据类型自带的功能,我们可以认为它就是内置方法
- 数据类型的内置方法采用句点符
数据类型.方法名()
整型(int)的内置方法
- 无内置方法
- 我们可以将内部全为纯数字的字符串,转换为整型。而对于其他无法进行转换
- 对于布尔值也可以将其转换为整型
- 关于进制数的转换:当整型不存在进制数转换的标识时,默认为十进制。
- 若将十进制转换为其他进制时如下:
bin() 转换为二进制 标识为:0b
oct() 转换为八进制 标识为:0o
hex() 转换为十六进制 标识为:0x
例如:print(int(0b1010100010)) #0b作为标识出现在整型前就能将二进制转换为十进制,其他同上
浮点型(float)的内置方法
- 无内置方法
- 可以将整型转换,将字符串为纯数字,或者小数的字符串转换
- 对于布尔值也可以将其转换为浮点型
字符串(str)的内置方法
- 对于字符串的内置方法有很多。所以需要掌握一些比较重要的方法
- 将数据值类型转换为字符串时,会兼容所有数据值
索引取值
# 默认从左往右取值
q = 'tom is loser!'
print(q[0])
print(q[1])
print(q[-1])
输出结果:
切片取值
#切片的默认顺序是从左往右的
q = 'tom is loser!'
print(q[1:6])
print(q[-5:-1])
print(q[-2:-7:-1]) # 第三个数-1可以控制取值方向
输出结果:
间隔/方向 取值
q = 'tom is loser!'
print(q[::]) # print(q)输出结果相同
print(q[::2]) # 对于一个字符串隔一个取一次值
print(q[0:10:3])
输出结果:
统计字符的个数 len()
q = 'tom is loser!'
print(len(q))
输出结果:
移除字符串首尾指定的字符 .strip()
移除两侧
q = '!!tom is loser!!'
print(q.strip('!'))
输出结果:
移除左侧
q = '!!tom is loser!!'
print(q.lstrip('!')) #strip前加l(left)表示左
输出结果:
移除右侧
q = '!!tom is loser!!'
print(q.rstrip('!')) #strip前加r(right)表示右
输出结果:
切割字符串中指定的字符 .split()
q = 'tom|is|loser'
print(q.split('|'))
输出结果:
- 字符串被切割后会变成一个列表。
q = 'tom|is|loser'
print(q.split('|', maxsplit=1)) #maxsplit切取的次数
print(q.rsplit('|', maxsplit=1)) #split前加r代表将默认从左往右切片,改为从右往左
输出结果:
字符串大小写 .lower()/.upper()
q = 'Tom Is Loser'
print(q.lower()) #lower表示小写
print(q.upper()) #upper表示大写
print(q.islower()) #当在前面加上is即为判断是否大小写输出的值为布尔值
print(q.isupper())
输出结果:
字符串格式化输出 .format()
q = 'Tom {} Is {} Loser' #与%s占位等价
print(q.format('one', 'two'))
q = 'Tom {0} Is {1} Loser' #支持索引取值,多次使用
print(q.format('1', '2'))
q = 'Tom {age} Is {name} Loser {age}' #支持按k取值,多次使用
print(q.format(age='14', name='tom'))
age = 21 #可以将定义的数据类型替换
habby = 'sleep'
print(f'i am {age} like {habby} {age}') #输出字符串时在字符串前面加上format的f即可
输出结果:
统计指定字符出现次数 .count()
a = 'tomtomtomtomjuzjuzjuzjtom'
print(a.count('t'))
输出结果:
开头结尾的判断 .startswith()/.endswith()
a = 'WWWWWomtomtomtomjuzjuzjuYYYjtom'
print(a.startswith('W')) #.startswith()判断开头
print(a.startswith('w'))
print(a.startswith('o'))
print(a.endswith('m')) #.endswith()判断结尾
print(a.endswith('M'))
print(a.endswith('t'))
输出结果:
字符串的替换 .replace()
q = 'Tom Is Loser'
print(q.replace('o', 'j')) #可以替换字符串中指定的是字符
print(q.replace('o', 'j', 1)) #o是需要替换的字符,j是替换后的字符,1表示从左往右替换的次数
输出结果:
字符串的拼接
加号拼接和乘号拼接
q = 'Tom Is'
w = 'Loser'
print(q + w) # 加法拼接
print(q * 3) # 乘法拼接
输出结果:
join方法拼接
print(''.join(['tom', 'jack', 'diona']))
#第一个引号引起来的部分时拼接的时两个字符串中间的符号,不输入默认没有
输出结果:
判断字符串中是否为纯数字 .isdigit()
q = 'tomkdksdkds'
w = '123dsdsrf'
e = '1243534432'
print(q.isdigit())
print(w.isdigit())
print(e.isdigit())
输出结果:
查找某个字符对应得索引值
.find()
q = 'tomkdksdkds'
print(q.find('s')) #能找到对应字符会得到索引值,找不到输出—1
print(q.find('e'))
输出结果:
.index()
q = 'tomkdksdkds'
print(q.index('s')) #能找到对应字符会得到索引值,找不到会报错
print(q.index('e'))
输出结果:
文本的操作
列表(list)的
内置方法
- 能被for循环的数据类型都可以转换为列表(整型,浮点型,字符串,字典...)
- 索引,切片,间隔,方向,统计其实与字符串大同小异
索引取值
q = ['tom', 'is', 'loser']
print(q[0])
print(q[1])
print(q[-1])
输出结果:
切片取值
q = ['tom', 'is', 'loser']
print(q[0:2])
print(q[:])
print(q[-3:-1])
输出结果:
间隔/方向 取值
q = ['tom', 'is', 'loser']
print(q[::2])
输出结果:
统计列表数据值个数
q = ['tom', 'is', 'loser']
print(len(q))
输出结果:
补充说明
- python对于数字的计算并不精确。但是由于基于python开发的强大模块从而弥补了这一缺陷。
小练习
1.基于字符串充当数据库完成用户登录(基础练习)
data_source = 'jason|123' # 一个用户数据
获取用户用户名和密码 将上述数据拆分校验用户信息是否正确
2.基于列表充当数据库完成用户登录(拔高练习) # 多个用户数据
data_source = ['jason|123', 'kevin|321','oscar|222']