万变不离核心基础第三关——字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式
Posted 孤寒者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了万变不离核心基础第三关——字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式相关的知识,希望对你有一定的参考价值。
面试题第三关:
第一部分——考点:
- 字符串与字符串之间如何连接。
- 字符串与非字符串之间如何连接。
第二部分——面试题:
1.面试题一:字符串与字符串之间连接有几种方式。
2.面试题二:字符串如何与非字符串之间连接。
3.面试题三:字符串与对象连接时如何让对象输出特定的内容,如:MyClass。
第三部分——解析:
面试题一 之 字符串与字符串之间连接的方式(共计五种):
- (加号)+
s1 = 'hello'
s2 = 'world'
s = s1 + s2
print(s)
- 直接连接
S = "hello""world"
print(S)
- 用逗号(,)连接
print('hello','world') # 但是这样只能直接打印,如果我们想将其放入变量里的话
拓展:标准输出的重定向——即把print输出到控制台重定位为给一个变量。
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)
- 格式化
s1 = 'hello'
s2 = 'world'
s = '<%s> <%s>' %(s1,s2)
print("格式化:",s)
- join
s1 = 'hello'
s2 = 'world'
s = " ".join([s1,s2])
print("join连接:",s)
面试题二 之 字符串与非字符串之间如何连接:
- (加号)+
s1 = 'hello'
s2 = 'world'
n = 20
v = 12.44
s = s1 + str(n) + str(v)
print(s)
- 格式化
s1 = 'hello'
s2 = 'world'
n = 20
v = 12.44
s = '<%s> <%d> <%.2f>' %(s1,n,v)
print("格式化:",s)
- 重定向
from io import StringIO
import sys
s1 = 'hello'
s2 = 'world'
n = 20
v = 12.44
old_stdout = sys.stdout
result = StringIO()
sys.stdout = result
print(s1,True,n,v,sep='*') # sep 是规定连接使用的符号
sys.stdout = old_stdout # 恢复标准输出
result_str = result.getvalue()
print("逗号连接:",result_str)
面试题三 之 字符串与对象连接时如何让对象输出特定的内容,如:MyClass:
s1 = 'hello'
s2 = 'world'
class MyClass:
def __str__(self):
return 'Myclass'
my = MyClass()
s = s1 + str(my)
print(s)
以上是关于万变不离核心基础第三关——字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式的主要内容,如果未能解决你的问题,请参考以下文章
万变不离核心基础第九关——转义符的使用/使转义符失效/保持字符串原始格式
万变不离核心基础第五关——改变字符串首字母的大小写/字符串中包含多个单词,改变每个单词首字母的大小写