今日内容
数据类型的内置方法理论
我们之前所学习的每一种数据类型本身都含有一些列的操作方法
内置方法是其中最多的(自带功能)
在python中数据类型调用内置方法的同意句式为>>>:句点符
'sun'.字符串内置方法
绑定字符串的变量名.字符串内置方法
str.字符串内置方法
ps:数据类型的内置方法比较多 不要靠死记硬背 要靠熟能生巧
整型内置方法与操作
1.类型转换(将其他数据转化成整型)
int(其他数据类型)
ps:浮点型可以直接转换 字符串必须满足内部是纯数字才可以
2.进制数转换
十进制转其他进制
print(bin(300)) # 0b1100100 二进制
print(oct(300)) # 0o144 八进制
print(hex(300)) # 0x64 十六进制
'''
数字开头是0b 就是二进制
数字开头是0o 就是八进制
数字开头是0x 就是十六进制
'''
其他进制转十进制
方法1:
print(int(0b100101100))
print(int(0o454))
print(int(0x12c))
方法2:
print(int('0b100101100', 2))
print(int('0o454', 8))
print(int('0x12c',16))
3.python自身数字精准度低
如果需要精准计算需要借助与模块numpy....
浮点型的内置方法与操作
1.类型转换
float(其他数据类型)
字符里面可以允许出现一个小数点 其他必须都是纯数字
2.python自身数字精准度低
如果需要精准计算需要借助与模块numpy....
类型转换:
字符串内置方法与操作
str.(其他数据)
ps:可以转任意数据类型(只需要前后加引号)
必须要掌握的方法:
1.索引取值(起始位是0 超出范围直接报错)
q1 = '今天天气真好'
print(q1[0]) # 今
print(q1[-1]) # 好 支持负数 从末尾开始数
2.切片操作 [:]
print(q1[0:2]) #从索引0一直切取到2
print(q1[-1:-5]) #打印不出来 因为默认顺序是从左往右的
print(q1[-5:-2]) #默认顺序是从左往右
3.修改切片方向(间隔) [ : : ]
print(q1[1:4:1]) #最后一个数字默认是1
print(q1[1:4:2]) #最后一个数字的意义是几就隔几切
print(q1[-1:-6:-1]) #从后往前切
print(q1[:]) #不写数字默认都要
print(q1[2:]) #从索引2开始后面的都要
print(q1[:4]) #从索引0开始往后到4
print(q1[::3]) #从索引0开始 每3个取一个
4.统计字符串中字符的个数 len()
print(len(q1)) #6
5.移除字符串首尾指定的字符 .strip()
username = input('username>>>:').strip()
username = username.strip()
if username == 'sun':
print('666')
res = 'sun'
print(len(res))
print(len(res.strip())) #括号内不写 默认移除首尾空格
res1 = '**sun**'
print(res1.strip('*')) # sun 去掉*
print(res1.lstrip('*')) # sun** 去掉左边的*
print(res1.rstrip('*')) #**sun 去掉右边的*
6.切割字符串中指定的字符 .split()
res = 'sun|123|music'
print(res.split('|')) # ['sun', '123', 'music'] 处理完是一个列表
name, pwd, hobby = res.split('|')
print(res.split('|',maxsplit=1)) #从左往右切指定个数
print(res.rsplit('|',maxsplit=1)) #从右往左切指定个数
7.字符串格式化输出
format玩法1:等价于占位符
res = 'my name is {} my age is {}.format( sun, 123) '
print(res)
format玩法2:索引取值并支持反复使用
res = 'my name is {0} my age is {1}'.format('sun', 22)
print(res)
format玩法3:占位符见名知意
res = 'my name is {name1} my age is {age1}'.format(name1='sun', age1=123)
print(res)
format玩法4:推荐使用
name=input('请输入姓名>>:')
age=input('请输入年龄>>:')
res = f'my name is {name} my age is {age}'
print(res)
字符串需要了解的方法
1.大小写相关
res='hellO worD666'
print(res.upper()) # HELLO WORD666 全大写
print(res.lower()) # hello word666 全小写
'''
图片验证码:生成没有大小写统一的验证码展示给用户看
获取用户输入的验证码 将用户输入的验证码和当初产生的验证码统一转成大写或小写再比对
# '''
code = 'fhUDn'
print('展示给用户看的图片验证码',code)
confirm_code = input('请输入验证码').strip()
if confirm_code.upper() ==code.upper():
print('验证码正确')
res = 'hello world'
print(res.isupper()) # 判断字符串是否是纯大写 False
print(res.islower()) #判断字符串是否是纯小写 True
2.判断字符串中是否是纯数字
res = ''
print(rss.isdigit())
guess_age = input('guess_age>>>:').strip()
if guess_age.isdigit():
guess_age = int(guess_age)
else:
print('年龄都不会写吗')
3.替换字符串中指定的内容
res='my name is sun'
print(res.replace('sun','rain')) # my name is rain 替换
print(res.replace('sun', 'rain', 1)) #my name is rain 从左往右替换指定个数内容
4.字符串的拼接 join()
aa1 = 'hello'
aa2 = 'word'
print(aa1 +aa2) #helloword
print(aa1 * 10) #hellohellohellohellohellohellohellohellohellohello
print('|'.join(['sun','666','music'])) sun|666|music 拼接的字符必须是字符串
5.统计指定字符出现的次数 res.count()
res = 'sun say hello'
print(res.count('l')) #2 l出现了2次
6.判断字符串的开头或结尾
res = 'sun say hello'
print(res.startswith('sun')) # Ture
print(res.startswith('su')) # Ture只能从第一个字母前往后取
print(res.startswith('un')) # False 不能从中间取
print(res.endswith('o')) # Ture 从后往前取
print(res.endswith('ol')) # False 从后面取也要按照从左往右的顺序取
print(res.endswith('ll')) # False 不能在中间取
print(res.endswith('lo')) # Ture 按顺序从左往右取
7.其他方法补充
res = 'helLO wORld hELlo worLD'
print(res.title()) # Hello World Hello World
print(res.capitalize()) # Hello world hello world
print(res.swapcase()) # HELlo WorLD HelLO WORld
print(res.index('O'))
print(res.find('O'))
print(res.index('c')) # 找不到直接报错
print(res.find('c')) # 找不到默认返回-1print(res.find('LO')) # 3
列表内置方法及操作
1.类型转换
list(其他数据类型)
ps:能够被for循环的数据类型都可以转成列表
print(list('hello')) # ['h', 'e', 'l', 'l', 'o']
print(list({'name':'sun','pwd':'666'})) # ['name', 'pwd']
print(list((1, 2, 3, 4))) # [1, 2, 3, 4]
print(list({1, 2, 3, 4, 5})) # [1, 2, 3, 4, 5]
2.需要掌握的方法
1.索引取值(正负数)
1 = [11, 22, 33, 44, 55, 66,]
print(l1[0]) # 11 从左往右取值
print(l1[-2]) # 55 从右往左取值
2.切片操作
print(l1[0:5]) # [11, 22, 33, 44, 55] 取前5个数
print(l1[:]) # [11, 22, 33, 44, 55, 66] 只有冒号 全都要
3.间隔数 方向
print(l1[::-1]) # [66, 55, 44, 33, 22, 11]
4.统计列表中数据值的个数
print(len(l1)) #6
5.数据值修改
l1[0]=123
print(l1) # [123, 22, 33, 44, 55, 66] 把索引值为0的数值改成123
6.列表添加数据值
方式1:尾部追加数据值
l1.append('hhaha') # [11, 22, 33, 44, 55, 66, 'hhaha'] 在尾部加上hahaha
print(l1)
l1.append('[11,22,]') # [11, 22, 33, 44, 55, 66, '[11,22,]'] 可以在尾部加上列表
print(l1)
方式2:任意位置插入数据值
l1.insert(0,'sun')
print(l1) # ['sun', 11, 22, 33, 44, 55, 66] 在索引值为0的前面加sun
l1.insert(2,[666,999])
print(l1) # [11, 22, [666, 999], 33, 44, 55, 66] 在索引值为2的前面加上列表
方式3:扩展列表 合并列表
ll1=[11,22,33]
ll2=[44,55,66]
print(ll1+ll2) # [11, 22, 33, 44, 55, 66] 将列表拆分然后再合并两个列表
ll1.extend(ll2) # for循环+append
print(ll1) # [11, 22, 33, 44, 55, 66]
for i in ll2: # [11, 22, 33, 44] ll1每循环一次加一个ll2里面的数值
ll1.append(i) # [11, 22, 33, 44, 55]
print(ll1) # [11, 22, 33, 44, 55, 66]
7.删除列表数据
方式1:通用的删除关键字del
del l1[0]
print(l1) #[22, 33, 44, 55, 66] 删掉索引值为0的数据值
方式2:remove
l1.remove(11)
print(l1) #[22, 33, 44, 55, 66] 括号里填写要删掉的数据值
方式3:pop
l1.pop(1)
print(l1) #[22, 44, 55, 66] 括号里要填写删掉的数据的索引值
l1.pop()
print(l1) # [11, 22, 33, 44, 55] 默认尾部弹出数据值
res=l1.pop(2)
print(res) # 33 弹出索引值为2的数字
res1 = l1.remove(33)
print(res1)
8.排序
ss=[55,22,66,22,66,51,34,67,984]
ss.sort() # 默认是升序
print(ss) # [22, 22, 34, 51, 55, 66, 66, 67, 984]
ss.sort(reverse=True) # 改为降序
print(ss) #[984, 67, 66, 66, 55, 51, 34, 22, 22]
9.统计列表中某个数据值出现的次数
print(l1.count(22)) # 1 22在列表l1中出现了1次
10.颠倒列表顺序
l1.reverse()
print(l1) #[66, 55, 44, 33, 22, 11]
可变类型与不可变类型
s1 = '**sun**'l1 = [11,22,33]s1.strip('*')print(s1)'''字符串在调用内置方法之后并不会修改自己 而是产生一个新的结果如何让查看调用方法之后有没有新结果 可以在调用该方法的代码左侧添加变量名和变量符号res = s1.strip('*')'''
# ret = l1.append(44)# print(l1) # [11, 22, 33, 44]# print(ret) # None
'''列表在调用内置方法之后修改的就是自身 并没有产生一个新的结果'''
# 可变类型:值改变 内存地址不变# l1 = [11, 22, 33]# print(l1)# print(id(l1))# l1.append(44)# print(l1)# print(id(l1))
# 不可变类型:值改变 内存地址肯定变
res = '$$hello world$$'print(res)print(id(res))res.strip('$')print(res)print(id(res))v
标签:内置,22,33,res,列表,l1,print,操作,sun
From: https://www.cnblogs.com/lzy199911/p/16743134.html