【Python】字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式
【摘要】 【Python】字符串与字符串之间连接的五种方式/字符串与非字符串之间连接的三种方式
面试题第三关:
Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
第一部分——考点:
- 字符串与字符串之间如何连接。
- 字符串与非字符串之间如何连接。
第二部分——面试题:
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)
拓展:python中的三引号!
Python 中三引号可以将复杂的字符串进行赋值。
Python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)