万变不离核心基础第三关——字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了万变不离核心基础第三关——字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式相关的知识,希望对你有一定的参考价值。

面试题第三关:

第一部分——考点:

  1. 字符串与字符串之间如何连接。
  2. 字符串与非字符串之间如何连接。

第二部分——面试题:

1.面试题一:字符串与字符串之间连接有几种方式。

2.面试题二:字符串如何与非字符串之间连接。

3.面试题三:字符串与对象连接时如何让对象输出特定的内容,如:MyClass。


第三部分——解析:

面试题一 之 字符串与字符串之间连接的方式(共计五种):

  1. (加号)+
s1 = 'hello'
s2 = 'world'
s = s1 + s2
print(s)

  1. 直接连接
S = "hello""world"
print(S)

  1. 用逗号(,)连接
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)

  1. 格式化
s1 = 'hello'
s2 = 'world'
s = '<%s> <%s>' %(s1,s2)
print("格式化:",s)

  1. join
s1 = 'hello'
s2 = 'world'
s = " ".join([s1,s2])
print("join连接:",s)

面试题二 之 字符串与非字符串之间如何连接:

  1. (加号)+
s1 = 'hello'
s2 = 'world'
n = 20
v = 12.44
s = s1 + str(n) + str(v)
print(s)

  1. 格式化
s1 = 'hello'
s2 = 'world'
n = 20
v = 12.44
s = '<%s> <%d> <%.2f>' %(s1,n,v)
print("格式化:",s)

  1. 重定向
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)

以上是关于万变不离核心基础第三关——字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式的主要内容,如果未能解决你的问题,请参考以下文章

万变不离核心基础第七关——分片的使用

万变不离核心基础第九关——转义符的使用/使转义符失效/保持字符串原始格式

万变不离核心基础第十关——print函数的核心功能

万变不离核心基础第五关——改变字符串首字母的大小写/字符串中包含多个单词,改变每个单词首字母的大小写

万变不离核心基础第四关——表示二,八,十,十六进制的数值/四大进制之间的转换

万变不离核心基础第一关——导入Python模块的基本方式/为导入的模块指定别名