绝密笔记 | 3 – 各种变量与值之间的多种连接方式

字符串与字符串之间连接

# 字符串与字符串之间连接的方式有5 种
## 1+(加号)
s1 = 'hello'
s2 = 'world'
s = s1 + s2
print(s)

helloworld

helloworld

用逗号连接: hello world

格式化: <hello> <world>

join连接: hello world

## 2: 直接连接
s = 'hello''world'
print(s)

helloworld

## 3: 用逗号(,)连接,标准输出的重定向
from io import StringIO
import sys
old_stdout = sys.stdout
result = StringIO()
sys.stdout = result
print('hello', 'world')
# 恢复标准输出
sys.stdout = old_stdout
result_str = result.getvalue()
print('用逗号连接:', result_str)

用逗号连接: hello world

## 4: 格式化
s = '<%s> <%s>' % (s1, s2)
print('格式化:', s)

格式化: <hello> <world>

## 5: join
s = ' '.join([s1, s2])
print('join连接:', s)

join连接: hello world

字符串与非字符串之间连接

# 字符串与非字符串之间连接

s1 = 'hello'
s2 = 'world'

## 1:加号
n = 20
s = s1 + str(n)
print(s)
v = 12.44
b = True
print(s1 + str(n) + str(v) + str(b))

hello20

hello2012.44True

## 2: 格式化
s = '<%s> <%d> <%.2f>' % (s1, n, v)
print('格式化:', s)

格式化: <hello> <20> <12.44>

## 3: 重定向
from io import StringIO
import sys
old_stdout = sys.stdout
result = StringIO()
sys.stdout = result
print(s1, True, n, v, sep='*')
# 恢复标准输出
sys.stdout = old_stdout
result_str = result.getvalue()
print('用逗号连接:', result_str)

用逗号连接: hello*True*20*12.44

输出对象特定数据

s1 = 'hello'
class MyClass:
    def __str__(self):
        return 'This is a MyClass Instance.'


my = MyClass()
s = s1 + str(my)
print(s)

helloThis is a MyClass Instance.

[

正文完