4.2 数据类型内置方法_不可变类型

4.2 数据类型内置方法_不可变类型

4.2.1 整型

  1. 作用:身高体重年龄ID号
  2. 定义方式:
y=10
y=int(5)
  1. 方法:
print(x+y)
  1. 存储一个值获多个值:一个

  2. 有序或者无序:无这一概念

    有序:有索引;

    无序:无索引

  3. 可变或者不可变:不可变,值变id也变。

    //可变:值变id不变

    //不可变:值变id也变

4.2.2 浮点型

  1. 作用:钱/商品价格、导弹轨迹计算
  2. 定义方式:
x=0.1
  1. 方法:+-*/
  2. 存储一个值还是多个值:一个值
  3. 有序或者无序:无这一概念
  4. 可变或不可变:不可变

4.2.3 字符串类型内置方法

  1. 作用:名字、性别
  2. 定义方式:
#单引号、双引号、三单引号、三双引号
name='coco'
name="coco"
name='''coco
mike'''
name="""coco
mike """
na=str(10) #类型转换
  1. 方法:
  • 方法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. 可变或不可变 : 不可变
posted @ 2025-08-10 15:41  bokebanla  阅读(5)  评论(0)    收藏  举报