一、引言
str() 是一个 Python 内置函数,用于将指定的对象转换为字符串,例如数值(int,float,complex)、序列(list,tuple)、字典等等。在 Python 编程中,str() 方法的用途非常广泛,详细理解 str() 方法是很必要的。
二、常见用法
下面将列举几个常见应用场景,让我们逐一探究。
1、将数值转换为字符串
在 Python 编程中,我们常用到数字和字符串的相互转换。使用 str() 函数将数字转换成字符串的方法非常简单,例如:
num = 2020 str_num = str(num) print("2020的字符串形式为:" + str_num)
输出结果为:
2020的字符串形式为:2020
2、将列表转换为字符串
在 Python 编程中,我们经常需要将列表转换为字符串。使用 str() 函数将列表转换成字符串的方法非常简单,例如:
my_list = ["apple", "banana", "cherry"] str_list = str(my_list) print("列表的字符串形式为:" + str_list)
输出结果为:
列表的字符串形式为:['apple', 'banana', 'cherry']
当然,有时候我们想去掉字符串中的中括号和单引号,这个时候我们可以使用 join() 方法。
my_list = ["apple", "banana", "cherry"] str_list = ' '.join(my_list) print("列表的字符串形式为:" + str_list)
输出结果为:
列表的字符串形式为:apple banana cherry
3、格式化字符串输出
在 Python 中,我们可以使用 % 或者 format() 方法来对字符串进行格式化输出。其中,% 是一种过时的方法,format() 是更加常用的方式。
name = "小明" age = 12 print("我叫%s,今年%d岁了!" % (name, age)) print("我叫{},今年{}岁了!".format(name, age))
输出结果为:
我叫小明,今年12岁了! 我叫小明,今年12岁了!
三、高级用法
这里我们将介绍一些比较高级的用法,需要了解一些更深入的 Python 知识。
1、自定义 str() 方法
在 Python 中,我们可以通过自定义 __str__() 方法来自定义 str() 方法的输出格式。例如:
class Student: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return "姓名:%s 年龄:%d" % (self.name, self.age) s1 = Student("小明", 12) print(str(s1))
输出结果为:
姓名:小明 年龄:12
2、使用 repr() 方法
在 Python 中,我们也可以使用 repr() 方法来对对象进行字符串表示。与 str() 方法不同,repr() 函数返回的是对象的“官方”字符串表示,通常可以通过 eval() 函数重新将其转为对象。例如:
class Student: def __init__(self, name, age): self.name = name self.age = age def __repr__(self): return "Student('%s', %d)" % (self.name, self.age) s1 = Student("小明", 12) print(repr(s1)) s2 = eval(repr(s1)) print(s2.name, s2.age)
输出结果为:
Student('小明', 12) 小明 12
四、结论
str() 方法是 Python 编程中非常常用的一个函数,能够将各种类型的对象转换为字符串。除了常见的转换,我们还可以通过自定义 __str__() 方法,以及使用 repr() 函数等方式,更加灵活地对字符串做描述。掌握 str() 函数是 Python 编程的重要一环。