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

面试题第三关:python

第一部分——考点:

  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)
复制代码

在这里插入图片描述

相关文章
相关标签/搜索