您的位置:

Python str()方法解析

一、引言

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 编程的重要一环。