4.2 数据类型内置方法_不可变类型
4.2 数据类型内置方法_不可变类型
4.2.1 整型
- 作用:身高体重年龄ID号
- 定义方式:
y=10
y=int(5)
- 方法:
print(x+y)
-
存储一个值获多个值:一个
-
有序或者无序:无这一概念
有序:有索引;
无序:无索引
-
可变或者不可变:不可变,值变id也变。
//可变:值变id不变
//不可变:值变id也变
4.2.2 浮点型
- 作用:钱/商品价格、导弹轨迹计算
- 定义方式:
x=0.1
- 方法:+-*/
- 存储一个值还是多个值:一个值
- 有序或者无序:无这一概念
- 可变或不可变:不可变
4.2.3 字符串类型内置方法
- 作用:名字、性别
- 定义方式:
#单引号、双引号、三单引号、三双引号
name='coco'
name="coco"
name='''coco
mike'''
name="""coco
mike """
na=str(10) #类型转换
- 方法:
- 方法1***
name ='coco,185,140'
#(1)按索引取值:
print(name[0])
c
# (2)切片:
name ='coco,185,140'
print(f'操作前:id(name):{id(name)},name:{name}')
name1=name[0:4]#不包括索引4位置的字符
print(name1)
weight=name[-3:] #打印包括-3位置在内到结尾的所有字符
print(weight)
str1=name[0::2]#步长为2,从左到右切片
print(str1)
str1=name[-1:-4:-1]#步长为-1,负数,从右到左切片,默认从左到右切
print(str1)
print(f'操作后:id(name):{id(name)},name:{name}')
操作前:id(name):1830565119344,name:coco,185,140
coco
140
cc,8,4
041
操作后:id(name):1830565119344,name:coco,185,140
# (3)长度:
#len()
name ='coco,185,140'
print(len(name))
12
#(4)成员运算in 、not in
name ='coco,185,140'
print('coco' in name)
print('mike' not in name)
True
True
#(5)strip:移除两端空格和指定字符,
# 只要是strip括号里面的字符只要遇到就全部移除
#.strip()
name=' coco 185 784456 '
print(f'操作前:id(name):{id(name)},name:{name}')
print(name.strip().strip('6')) #先移除两端空格,再移除指定字符‘6’
print(name.strip('8')) #'8'在中间不能移除
print(name)
print(f'操作后:id(name):{id(name)},name:{name}')
操作前:id(name):1830566237312,name: coco 185 784456
coco 185 78445
coco 185 784456
coco 185 784456
操作后:id(name):1830566237312,name: coco 185 784456
#(6)split:切割/切分
#.strip() 按括号内字符分割,默认为多个空格切分
name=' coco 185 784456 '
print(f'操作前:id(name):{id(name)},name:{name}')
print(name.split('1') ) #从字符‘1’处分隔,‘1’去除
print(name.split())#基于空格分开,多个空格也去掉
print(f'操作后:id(name):{id(name)},name:{name}') #name未被改变
操作前:id(name):1830565690256,name: coco 185 784456
[' coco ', '85 784456 ']
['coco', '185', '784456']
操作后:id(name):1830565690256,name: coco 185 784456
#(7)循环 基于索引取值
for i in name:
print(i)
name
- 方法2**
#(1)lstrip&rstrip
s=' 1235467828 3892479 '
print(f'操作前:id(s):{id(s)},s:{s}')
print(s.lstrip(' 21')) #从左去除
print(s.rstrip(' 479')) #从右去除
print(f'操作后:id(s):{id(s)},s:{s}')
操作前:id(s):1830565690576,s: 1235467828 3892479
35467828 3892479
1235467828 3892
操作后:id(s):1830565690576,s: 1235467828 3892479
#(2)lower & upper
s='RIGFJRTKrjfg'
print(f'操作前:id(s):{id(s)},s:{s}')
print(s.lower()) #大写变小写
print(s.upper()) #小写变大写
print(f'操作后:id(s):{id(s)},s:{s}')
操作前:id(s):1830565718960,s:RIGFJRTKrjfg
rigfjrtkrjfg
RIGFJRTKRJFG
操作后:id(s):1830565718960,s:RIGFJRTKrjfg
#(3)startswith & endswith
# .startswith('检验开始字符',开始位置,结束位置),开始结束为止默认为开头结尾
s='r1eiw'
print(s.startswith('1',1,3)) #判断索引1-3位置的元素是否以‘1’开头,返回布尔值
#知道索引再判断,不常用
print(s.endswith('iw'))
True
True
#(4)split & rsplit
# .rsplit('切割字符',切割次数)从右侧切
# .split('切割字符',切割次数) 从左侧切
s='coco,185,140'
print(f'操作前:id(s):{id(s)},s:{s}')
print(s.split(',',1)) #从左侧切割一次
print(s.rsplit(',',1)) #从右侧切割一次
print(f'操作前:id(s):{id(s)},s:{s}')
操作前:id(s):1830566199216,s:coco,185,140
['coco', '185,140']
['coco,185', '140']
操作前:id(s):1830566199216,s:coco,185,140
#(5)join
# 拼接符.join(要拼接的变量)
#内置方法使用:.方法名
s='coco,185,140'
print(f'操作前:id(s):{id(s)},s:{s}')
s_list=['coco','185','140']
print('-'.join(s))
print('-'.join(s_list))
print(f'操作前:id(s):{id(s)},s:{s}')
#其他方法都在字符串本身上做操作
# 但是join是自定义一个字符串.join一个列表
操作前:id(s):1830565718704,s:coco,185,140
c-o-c-o-,-1-8-5-,-1-4-0
coco-185-140
操作前:id(s):1830565718704,s:coco,185,140
#(6)replace
# .replace('A','B'),把字符A替换成字符,
s='coco,185,140'
print(f'操作前:id(s):{id(s)},s:{s}')
print(s.replace('1','2'))
print(f'操作后·:id(s):{id(s)},s:{s}')
操作前:id(s):1830565709168,s:coco,185,140
coco,285,240
操作后·:id(s):1830565709168,s:coco,185,140
#(7)isdigit,判断字符是否为数字,返回布尔值
# .isdigit()
print('10'.isdigit())
# print(10.isdigit()) #整型没有这个方法
True
- 方法3*(了解即可)
# (1)find/rfind/index/rindex/count
s='abcdeabcde'
print(s.find('bcd')) #从左往右找
print(s.rfind('bcd'))#从右往左找
print(s.index('bcd'))
print(s.rindex('bcd'))
#找不存在的字符
print(s.find('f')) #不存在返回-1,程序可以继续运行
# print(s.index('f')) #不存在则报错
1
6
1
6
-1
# (2)center/ljust/rjust/zfill
# center:居中
print(f'操作前:id(s):{id(s)},s:{s}')
print('123'.center(10,'-')) #10个字符包含'123'在内
print('123'.ljust(10,'-')) #'123'在左侧右侧用'-'填充
print('123'.rjust(10,'-'))
print('123'.zfill(10)) #zerofill:用0填充
print(f'操作后:id(s):{id(s)},s:{s}')
操作前:id(s):1830566184688,s:abcdeabcde
---123----
123-------
-------123
0000000123
操作前:id(s):1830566184688,s:abcdeabcde
# (3)expandtabs
s='abcdeabcde'
print('a\tb')
print('a\tb'.expandtabs(16))
a b
a b
#(4) capitalize/swapcase/title
s='hello,world'
print(f'操作前:id(s):{id(s)},s:{s}')
print(s.capitalize()) #首字母大写
s1='hello,woRLd' #字母大写变小写小写变大写
print(f'操作前:id(s1):{id(s1)},s1:{s1}')
print(s1.swapcase())
print(s.title()) #单词首字母大写
print(f'操作后:id(s):{id(s)},s:{s};id(s1):{id(s1)},s1:{s1}')
操作前:id(s):1830566193328,s:hello,world
Hello,world
操作前:id(s1):1830566071984,s1:hello,woRLd
HELLO,WOrlD
Hello,World
操作后:id(s):1830566193328,s:hello,world;id(s1):1830566071984,s1:hello,woRLd
#(5)is系列:只要是判断数字就用isdigit()
4. 存储一个值或多个值:一个值
5. 有序或无序:有序 (有索引)
6. 可变或不可变 : 不可变
浙公网安备 33010602011771号