Python数字与字符串类型的核心特性及内置方法详解
本文深入解析Python中数字类型(整型、浮点型)与字符串类型的核心特性及常用内置方法。重点阐述不可变类型在值改变时ID随之变化的机制,并详细演示字符串的索引切片、strip去除指定字符、split分割、in成员运算及len求长度等高频操作,帮助开发者掌握Python基础数据类型的处理技巧。
数字类型的特性与转换
在Python中,整型(int)和浮点型(float)主要用于存储数值,如年龄、ID号或计算结果。整型本身没有特定的内置方法,主要依赖算术运算(加减乘除)和比较运算。无论是整型还是浮点型,它们都属于数字类型,且一旦创建,其值是不可变的。
整型转换规则
使用 int() 函数进行类型转换时,需遵循严格的规则:
- 字符串转整型:若字符串仅包含数字字符(如
'10'),可成功转换为整数。 - 浮点转整型:浮点数(如
10.1)转换为整型时,直接截断小数部分,结果为10。 - 非法字符串:若字符串包含小数点(如
'10.1'),直接调用int()会引发报错,因为Python无法直接将含小数的字符串解析为整型。
x = 10
x = int('10')
x = int(10.1)
x = int('10.1') # 报错不可变类型的ID变化机制
理解Python中“不可变类型”的关键在于观察内存地址(ID)的变化。对于不可变类型(如整型、字符串),当变量的值发生改变时,Python会创建一个新的对象,导致变量的ID随之改变。
整型ID变化示例
x = 10
print(id(x))
x = 20
print(id(x))上述代码中,x 从 10 变为 20,两次打印的 ID 不同,证明值改变时引用指向了新对象。
对比:可变类型的ID不变
作为对比,列表(list)是可变类型。修改列表中的元素,其内存地址(ID)保持不变:
lis = [1,2,3]
print(id(lis))
lis[0] = 2 # lis-->[2,2,3]
print(id(lis))这一特性说明:不可变类型在值变化时,ID也会变;而可变类型在内容变化时,ID通常不变。
字符串类型的核心操作
字符串(str)用于存储文本信息,如姓名、地址等。字符串类型是有序的、不可变的,且支持哈希。定义字符串时,可使用单引号、双引号或三引号。
字符串编码与字节类型
在Python 3中,字符串默认是Unicode编码。若需处理二进制数据,可将其转换为字节类型(bytes):
s = 'sdkfljl'.encode('utf-8') # 打印出来的bytes类型,二进制类型
print(s)
print('中文'.encode('utf-8'))索引与切片
字符串支持通过索引取值和切片操作。切片语法为 [start:stop:step]:
- 正向切片:步长
1表示从左到右。 - 反向切片:步长
-1表示从右到左。
s = 'forever handsome'
print(s[1])
print(s[4:0:1]) # 1 表示从左到右
print(s[-4:0:-1]) # -1 表示从右到左此外,可通过 for 循环遍历字符串中的每个字符:
for i in s:
print(i)字符串内置方法详解
Python提供了丰富的字符串内置方法,以下是常用操作的演示:
1. strip():去除两端字符
strip() 用于去除字符串两端的指定字符。若不传参,默认去除空白字符;若传入参数字符串,则去除两端所有出现在该字符串中的字符。
s1 = ' nick handsome '
print(s1.strip()) # 去除两端的空白
s2 = '****!!!nick handsome-----***'
print(s2.strip('-*!')) # 指定多个字符一起去掉,strip里面有的字符就全部干掉2. split():字符串分割
split() 根据指定分隔符将字符串切割为列表。默认以空格为分隔符。
s = 'hello/world!test'
print(s.split()) # 默认以空格为切割条件
print(s.split('/')) # 以/切割
print(s.split('!')) # 以!切割3. in 与 not in:成员运算
用于判断子串是否存在于原字符串中,返回布尔值。
s = 'forever handsome'
print('forever' in s ) # True
print('!' not in s) # True4. len():求长度
len() 返回字符串中字符的数量。
s = '123'
print(len(s)) # 3字符串不可变性的验证
再次通过ID变化验证字符串的不可变性。对字符串进行拼接操作时,实际上是创建了一个新的字符串对象。
s2 = 'abc'
print(id(s2))
s2 += 'abc'
print(id(s2))上述代码中,s2 拼接后ID发生变化,符合不可变类型的特征。
总结
掌握Python数字类型和字符串类型的特性,特别是不可变类型在值改变时ID随之变化的机制,有助于理解Python的内存管理模型。同时,熟练运用字符串的索引切片、strip、split、in/not in及len等内置方法,能显著提升数据处理效率。以上就是Python数字类型和字符串类型的内置方法的详细内容,更多关于Python基础教程的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









