今日内容回顾
- 数据类型内置方法理论
- 整形相关操作
- 浮点型相关操作
- 字符串相关操作
- 列表相关操作
- 可变类型与不可变类型
今日内容回顾详情
数据类型内置方法理论
我们之前所学习的每一种数据类型本身都含有一系列的操作方法,内置方法是其中最多的(自带功能)
在python中数据类型调用内置方法的统一句式为>>>:句点符
格式:绑定的字符串的变量名,字符串内置方法
'Jason'.字符串内置方法
str.字符串内置方法
整形内置方法与操作
1.类型转换(将其他数据类型转换成整型)
int(其他数据类型)
浮点型可以直接转 字符串必须满足内部是纯数字才可以
2.进制转换
十进制转其他进制
print(bin(100) ) # 转成二进制用bin
print (oct(100)) #转成八进制用oct
print(hex(100) )#转成十六进制用hex
数字的开头如果是0b则为二进制 0b则为八进制 0x则为十六进制
其他进制转十进制
转成十进制全部都用int
print(int(0b1100100))
print(int(0o144))
print(int(0x64))
在后面加上数,是为了告诉别人这输出的是几进制
print(int("0b1100100", 2))
print(int("0o144", 8))
print(int("0x64", 16))
3.python自身对数字的敏感度较低(精确度比较低)
比如当你输出的数字是11.11时,他会直接打印输出11,并且不会四舍五入。
浮点型内置方法与操作
1.类型转换
float(其他数据类型)
字符串里面可以允许出现一个小数点 其他都必须是纯数字
2.还是精度比较的低,如果需要进准的计算需要借助与模块numpy....
字符串内置方法与操作
1.类型转换:
str(其他数据类型)
可以转换任何数据类型(只需要在前后加上引号即可)
2.必须要掌握的方法
2.1索引取值(起始位0开始 超出范围直接报错)
s1 = 'hello wrild'
print (s1[0]) # 输出的是第一位
print(s1[-1] ) #输出的是倒数第一位 ,支持负数,从末位开始
2.2切片操作
print(s1[1:5]) #顾头不顾尾 从索引1一直到切取到索引4
print(s1[-1:-5]) # 默认顺序是从左到右
print(s1[-5:-1]) # 默认顺序是从左到右
2.3修改切片方向(间隔)
print(s1[1:5:1] ) #默认为1
print(s1[1:5:2]) #默认为1
print(s1[-1:5:-1])
print(s1[:] # 不写数字就默认全部都要
print(s1[2:]) # 从索引2开始往后都要
print(s1[:5]) #从索引0开始要到4
print(s1[::2]) #从索引0开始要到4
2.4统计字符串中的字符的个数
print(len(s1)) #统计字符串用len
2.5移除字符串首尾指定的字符
删除首位空格是.strip(),代码如下:
user_nume = input('user_name>>>:').strip()
if user_nume == 'jason':
print('登陆成功')
#.strip() #括号内不写 默认移除收尾的空格
指定删除:左边.lstrip('字符串'), 右边.rstrip('字符串')
res1 = '$jason$'
print(res1.strip('$')) #将所有'$'全部删掉
print(res1.lstrip('$')) #将左边'$'全部删掉
print(res1.rstrip('$')) #将右边'$'全部删掉
2.6切割字符串中指定的字符
切割字符串的内置方法是 .split(),split()里面也可以加上你想切割掉的字符串
res ='jason|123|read'
print(res.split('|')) #这个打印会以一个列表的形式表现出来
res ='jason|123|read'
name, pwd, hobby = res.split('|') #解压赋值
print(res.split('|',maxsplit=1)) #['jason', '123|read'] 从左往右切指定个数
print(res.split('|',maxsplit=1)) # ['jason|123', 'read'] 从右往左切指定个数
maxsplit:最大分割次数
2.7字符串格式化输出
字符串输出的内置是format
format方法一:相当于占位符
res = 'my name is {} my age is {}'.format('jason',23)
print(res)
format方法二:可以用索引取值并支持反复使用
res = 'my name is {0} my age is {1} {0} {1}'.format('jason', 23)
print(res)
format方法三:占位符见名知意
res = 'my name is {name} my age is {age} {name} {age}'.format(name='jason',age= 23)
print(res)
format 方法四:用f在你想打印的字符串前面加上
name = input('name:')
age = input('age:')
res = f'my name is {name} my age is {age}'
print(res)
3.字符串需要了解的方法
3.1大小写相关
res = 'hEllO WoRld'
print(res.upper()) #把res的字符串里面的字符全部变成大写 .upper()
print(res.lower()) #把res的字符串里面的字符全部变成小写 .lower()
代码实例:
code = 'u4R87'
print('展示给用户看的图片验证码', code)
confirm_code = input('请输入验证码').strip()
if confirm_code.upper() == code.upper():# 把全部变成大写进行判断
print('验证码正确')
判断输入的字符串是否是全部大写 .isupper()
判断输入的字符串是否是全部小写 .islower()
代码实例如下:
res = 'hello world'
print(res.isupper()) # 判断字符串是否是纯大写 False
print(res.islower()) # 判断字符串是否是纯小写 True
3.2判断字符串中是否是纯数字
判断是不是纯数字的内置方法 是 .isdigit 它会判断是不是数字是就是Ture 不是就是false
guess_age = input('guess_age>>>:').strip()
if guess_age.isdigit():
guess_age = int(guess_age)
else:
print('年龄都不知道怎么输吗???')
3.3替换字符串中指定的内容
替代字符串的内置方法的是 .raplace
代码的表现形式:
res = 'my name is jason jason jason jason'
print(res.replace('jason','tony'))
print(res.replace('jason','tony',2)) #从左到右替换指定的个数内容
3.4字符串拼接
字符串拼接的内置方法 .join('数据','数据','数据')
代码如下:
print('|'.join(['tony','123'])) #参加拼接的数据值必须是字符串
3.5统计指定字符出现的次数
统计用的内置方法 .count('你想统计的字符串')
代码如下:
res = 'hello world'
print(res.count('l'))
3.6判断字符串的开头或者结尾
判断字符串的开头的是.startswith()
判断字符串的结尾的是.endswith()
代码如下:
开头:
res = 'jason say hello'
print(res.startswith('jason'))
print(res.startswith('j'))
print(res.startswith('jas')) #只要是开头'j'的字符串都可以
结尾:
res = 'jason say hello'
print(res.endswith('o'))
print(res.endswith('llo'))
print(res.endswith('hello'))
3.7其他方法补充
res = 'helLO wORld hELlo worLD'
print(res.title()) # 打印的字符串首字母大写
print(res.capitalize()) #第一个字符串大写,剩下的小写
print(res.swapcase()) # 把大的变成小写,小写的变成大写
print(res.index('O'))#类似索引
print(res.find('O'))
区别:
print(res.index('c')) # 找不到直接报错
print(res.find('c')) # 找不到默认返回-1
列表内置方法及操作
1.类型转换
list(其他数据类型)
只要是能被for循环的数据类型都可以转成列表
print(list('hello')) #字符串
print(list({'name': 'jason', 'pwd': 123})) #字典
print(list((1, 2, 3, 4))) #元组
print(list({1, 2, 3, 4, 5}) ) #集合
2.需要掌握的方法
2.1索引取值 (正负数,正是左到右,负是右到左)
l1 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1[0])
print(l1[-1])
2.2切片操作 (和字符串一样)
l1 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1[1:5]) #顾头不顾尾 从索引1一直到切取到索引4
print(l1[:])
2.3间隔数 (和字符串一样)
l1 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1[1:5:1] ) #默认为1
print(l1[1:5:2]) #默认为1
print(l1[-1:5:-1])
print(l1[:] # 不写数字就默认全部都要
print(l1[2:]) # 从索引2开始往后都要
print(l1[:5]) #从索引0开始要到4
print(l1[::2]) #从索引0开始要到4
2.4统计列表的数据值的个数
print(len(l1)) #统计字符串用len
2.5数据值修改
l1 = [111, 222, 333, 444, 555, 666, 777, 888]
l1[0] = 123
print(l1)
2.6列表添加数据值
添加数据值的内置方法是append,insert,
append方法一:尾部追加数据值
代码如下:
l1 = [111, 222, 333, 444, 555, 666, 777, 888]
l1.append('字符串') #添加字符串
print(l1) # [111, 222, 333, 444, 555, 666, 777, 888, '字符串']
l1.append(['jason', 'kevin', 'jerry']) #添加列表
print(l1) # [111, 222, 333, 444, 555, 666, 777, 888, ['jason', 'kevin', 'jerry']]
insert方法二:任意位置插入数据值
代码如下:
l1.insert(0, 'jason')
print(l1)
l1.insert([11, 22, 33, 44])
print(l1) # [111, [11, 22, 33, 44], 222, 333, 444, 555, 666, 777, 888]
extend方法三:
ll1 = [11, 22, 33]
ll2 = [44, 55, 66]
ll1.extend(ll2)
补充:
extend =for循环+append
ll1 = [11, 22, 33]
ll2 = [44, 55, 66]
for i in ll2:
ll1.append(i)
print(ll1)
2.7删除列表数据
方式1:通用的删除关键字del
del l1[0]
print(l1)
方式2:remove
l1.remove(444) # 括号内填写数据值
print(l1)
方式3:pop
l1.pop(3) # 括号内填写索引值
print(l1)
l1.pop() # 默认尾部弹出数据值
print(l1)
pop和rmeove的区别:pop是把数据弹出还可以找回使用一次如何删除,而remove是直接删除:
代码如下:
res = l1.pop(3)
print(res) # 444
res1 = l1.remove(444)
print(res1) # None
2.8排序
排序的内置方法是sort
ss = [54, 99, 55, 76, 12, 43, 76, 88, 99, 100, 33]
ss.sort() # 默认是升序 因为默认为false
print(ss)
ss.sort(reverse=True) # 把这个改为True
print(ss) #就改为降序
3.9统计列表中某个数据值出现的次数
l1 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1.count(111))
3.10颠倒列表顺序
颠倒列表的顺序的内置方法是reverse
代码如下:
l1 = [111, 222, 333, 444, 555, 666, 777, 888]
l1.reverse()
print(l1)
可变类型与不可变类型
可变类型的的原理:
例如列表在调用内置方法之后修改的就是自身 并没有产生一个新的结果
不可变类型的原理:
字符串在调用内置方法之后并不会修改自己 而是产生了一个新的结果
可变类型:值改变 内存地址不变
如:
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))
标签:内置,jason,res,数据类型,字符串,l1,print,方法
From: https://www.cnblogs.com/zjl248/p/16742971.html