Python中的str函数-将非字符串对象转换为字符串
在Python中,str()函数是一个内置函数,它的主要作用是将非字符串对象转换成字符串。
这个函数非常常用,因为在Python中,字符串是一种基本数据类型,经常会涉及到字符串的相关操作。而一些其他的对象,比如数字、列表、元组等,由于其数据类型的特殊性,在某些情况下需要将其转换成字符串进行操作或输出。
下面我们来看看str()函数的用法和示例。
1. str()函数的语法
str()的语法非常简单,只包含一个参数,即要转换为字符串的对象。其语法如下:
str(object='')
其中,object是一个对象,可以是数字、列表、元组等非字符串类型。
2. str()函数的参数
str()函数只接受一个参数,可以是任何Python 中的数据类型,包括布尔型、整型、浮点型、列表、元组、字典等。如果参数为空,则返回空字符串。
3. str()函数的返回值
str()函数返回一个字符串,对于不同的数据类型,其返回值的形式也不相同。比如对于数字,返回的是由该数字组成的字符串,而对于列表或元组,则返回其内部的元素。
下面我们来看看一些具体的例子。
4. str()函数的示例
(1)将数字转换成字符串
将数字转换成字符串是最常见的应用之一。使用str()函数可以实现。
num = 100 print(type(num)) # 输出 <class 'int'> num_str = str(num) print(type(num_str)) # 输出 <class 'str'>
上面的代码中,先定义了一个数字100,然后使用str()函数将其转换为字符串类型,将其赋值给一个字符串变量num_str。最后打印输出num_str的类型,可以看到,其类型已经变成了字符串。
(2)将列表转换成字符串
将列表转换成字符串也是比较常见的操作之一。使用str()函数可以将列表内部的元素全部转换成字符串,并用逗号隔开。
lst = [1, 2, 3] lst_str = str(lst) print(lst_str) # 输出 [1, 2, 3]
上面的代码中,先定义了一个包含三个元素的列表lst,然后使用str()函数将其转换为字符串类型,并将其赋值给一个字符串变量lst_str。最后打印输出lst_str的类型,可以看到,其类型已经变成了字符串。
需要注意的是,最终转换成字符串的列表中的元素顺序与原列表中的顺序完全相同。
(3)将元组转换成字符串
与列表类似,将元组也可以使用str()函数转换成字符串。
tup = (1, 2, 3) tup_str = str(tup) print(tup_str) # 输出 (1, 2, 3)
上面的代码中,先定义了一个包含三个元素的元组tup,然后使用str()函数将其转换为字符串类型,并将其赋值给一个字符串变量tup_str。最后打印输出tup_str的类型,可以看到,其类型已经变成了字符串。
需要注意的是,将元组转换成字符串后,其包含的元素的顺序完全相同,与原元组相同。
(4)将字典转换成字符串
将字典转换成字符串时,需要注意字典中的键值对是否是字符串类型。如果不是字符串类型,则会抛出TypeError类型的异常。
dict1 = {1: 'one', 2: 'two', 3: 'three'}
dict_str1 = str(dict1) # 抛出异常:TypeError: 'str' object is not callable
dict2 = {'1': 'one', '2': 'two', '3': 'three'}
dict_str2 = str(dict2)
print(dict_str2) # 输出 {'1': 'one', '2': 'two', '3': 'three'}
上面的代码中,首先创建了两个字典,dict1和dict2,它们的值是相同的,但是键的类型不同。对于dict1,其键是数字类型,因此将其转换成字符串类型时会抛出TypeError类型的异常;对于dict2,其键是字符串类型,因此可以使用str()函数将其转换成字符串。
需要注意的是,将字典转换成字符串时,其键值对的顺序可能会发生变化,因为字典并没有定义固定的顺序。
(5)将对象转换成字符串
除了数字、列表、元组、字典等基本数据类型之外,还可以将自定义或内置的对象转换成字符串。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f'{self.name} is {self.age} years old.'
p = Person('Tom', 18)
print(p) # 输出:Tom is 18 years old.
p_str = str(p)
print(p_str) # 输出:Tom is 18 years old.
上面的代码中,创建了一个类Person,其中包含姓名和年龄两个属性。在类的定义中,定义了__str__()方法,用于将对象转换成字符串。在创建Person类的实例p之后,可以将其直接输出或使用str()函数进行转换。
需要注意的是,对于自定义对象,可以通过定义__str__()方法来实现转换成字符串的功能。
5. 总结
str()函数是Python中的一个内置函数,用于将非字符串对象转换成字符串。其语法简单,只接受一个参数;返回值的形式与传入的对象的数据类型相关。常见的应用包括将数字、列表、元组、字典等转换成字符串类型,同时也可以将自定义对象转换成字符串。
