欢迎访问宙启技术站
智能推送

Python 中的 str() 函数使用方法及实现

发布时间:2023-05-21 07:37:05

str()函数是Python内置函数之一,用于将一个对象转换为字符串类型并返回该字符串。

在Python中,可以使用str()函数将一个数字、列表、字典、元组、集合等任何类型的对象转换成字符串类型,以便于字符串拼接、格式化输出、写入文件等操作。

函数格式:

str(object, encoding='utf-8', errors='strict')

参数说明:

object:需要转换为字符串的对象。

encoding:字符串的编码方式,默认为UTF-8。

errors:字符串编码错误时的处理方式,默认为严格处理模式。

实例演示

下面是一些常见用法的例子,以便更好地理解str()函数的用法:

1. 将数字转换成字符串

num = 123

print(str(num)) # 输出:'123'

2. 将列表转换成字符串

lst = [1, 2, 3]

print(str(lst)) # 输出:'[1, 2, 3]'

3. 将字典转换成字符串

dic = {'name': 'bob', 'age': 18}

print(str(dic)) # 输出:{'name': 'bob', 'age': 18}

4. 将元组转换成字符串

tup = (1, 2, 3)

print(str(tup)) # 输出:'(1, 2, 3)'

5. 将集合转换成字符串

set = {1, 2, 3}

print(str(set)) # 输出:'{1, 2, 3}'

6. 将布尔值转换成字符串

print(str(True)) # 输出:'True'

print(str(False)) # 输出:'False'

7. 将函数转换成字符串

def greet():

    print('hello')

print(str(greet)) # 输出:<function greet at 0x7f3951040e18>

8. 将特殊字符转义

str1 = "hello

world"

print(str(str1)) # 输出:'hello

world'

字符串拼接

通过使用str()函数,可以将多种类型的对象都转换成字符串,以便于进行字符串拼接操作。

例如:

name = 'bob'

age = 18

print('my name is ' + name + ', and my age is ' + str(age))

# 输出:'my name is bob, and my age is 18'

注意:在进行字符串拼接时,数字类型必须先使用str()函数转换成字符串类型,否则会报错。

实现细节

在Python中,str()函数是通过调用对象的__str__()方法实现的。

当使用str(obj)时,实际上是调用了obj.__str__()方法来将对象转换为字符串类型。

如果对象没有定义__str__()方法,则默认返回对象的内存地址。

如果需要在自定义的类中实现__str__()方法,直接返回字符串即可:

class Person:

    def __init__(self, name, age):

        self.name = name

        self.age = age

    def __str__(self):

        return 'name: {}, age: {}'.format(self.name, self.age)

tom = Person('Tom', 20)

print(str(tom)) # 输出:'name: Tom, age: 20'

总结

str()函数是一个非常实用的内置函数,可以将任何类型的对象转换为字符串类型以便于处理。

使用该函数可以避免在字符串拼接中产生类型错误,同时也可以方便地实现自定义类的字符串化输出。

需要注意的是,在进行字符串拼接时,请先使用str()函数将数字类型转换为字符串类型,以免出现类型错误。