小甲鱼 发表于 2025-1-9 17:02:50

《笨办法学Python》习题6:字符串与文本

《笨办法学Python》习题6:字符串与文本

本节视频

https://www.bilibili.com/video/BV1oHrYYwEnu/?p=7


内容概览

1. 格式化字符串

在上一节习题中,我们还介绍了格式化字符串,由于字符串前面有一个 f 字符,因此也称为 “f-string”,它的语法形式是这样的:

f"这里有一些内容 {一个可用的变量}"
f"这里还有一些内容 {另一个可用的变量}"
除此之外,Python 还有另一种格式化字符串的方法,就是使用 .format() 语法:

"字符串 {占位符}".format(参数)
占位符是用大括号 {} 表示的,.format() 会将其替换为指定的参数值。


2. 代码演示

types_of_people = 10
x = f"这世界有 {types_of_people} 种人。"

binary = "二进制"
do_not = "不懂"
y = f"那些懂 {binary} 和那些 {do_not} 的人。"

print(x)
print(y)

print(f"我说过: {x}")
print(f"我还说过: '{y}'")

hilarious = False
joke_evaluation = "这个笑话好笑吗?! {}"

print(joke_evaluation.format(hilarious))

w = "这是字符串的左边..."
e = "这是字符串的右边。"

print(w + e)

本节习题代码:


温故知新

1. 在程序中的每一行代码上方写上解释其作用的注释。

参考答案:
**** Hidden Message *****
2. 为什么 w 和 e 用 + 号连接后可以生成一个更长的字符串?

参考答案:
**** Hidden Message *****

提问求助

本节课遇到的任何问题,都可以在该帖下方留言。

如需 AI 助理协助,请描述您的问题,并 @FishC 即可。

{:10_325:}


sunshine_8205 发表于 2025-1-9 20:06:36

{:5_106:}

albert_2011 发表于 5 天前

# 格式化字符串的使用
types_of_people = 10
x = f"这世界有 {types_of_people} 种人。"

binary = "二进制"
do_not = "不懂"
y = f"那些懂 {binary} 和那些 {do_not} 的人。"

print(x)
print(y)

print(f"我说过: {x}")
print(f"我还说过: '{y}'")

# 占位符的使用
hilarious = False
joke_evaluation = "这个笑话好笑吗?! {}"

print(joke_evaluation.format(hilarious))

# 两个对象的拼接
w = "这是字符串的左边..."
e = "这是字符串的右边。"

print(w + e)

766240172 发表于 5 天前

让 江小白 来看看帖子里藏了啥好东西~~~

micfishc 发表于 4 天前

@FishC 请问原始字符串后面的内容可以换行吗

FishC 发表于 4 天前

micfishc 发表于 2025-01-17 11:15
@FishC 请问原始字符串后面的内容可以换行吗

在字符串中换行,你可以使用换行符 `\n`。这样输出时就会自动换行。以下是一个示例:


text = "这是第一行。\n这是第二行。"
print(text)


这样,字符串在打印时就会分为两行。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

micfishc 发表于 4 天前

FishC 发表于 2025-1-17 11:15
在字符串中换行,你可以使用换行符 `\n`。这样输出时就会自动换行。以下是一个示例:




想问的是原始字符串后面的内容换行,比如print(r"啦啦\哈哈\")中让啦啦和\和哈哈和\各占据一行,可以实现吗

FishC 发表于 4 天前

micfishc 发表于 2025-01-17 11:18
FishC 发表于 2025-1-17 11:15
在字符串中换行,你可 ...

在Python的原始字符串中,如果需要换行,可以使用三重引号 `r"""..."""` 来实现,这样在字符串中打破了换行限制。以下是一个示例:


print(r"""啦啦\
哈哈\
""")


这样就可以在输出时使得每个字符各占一行。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

micfishc 发表于 4 天前

FishC 发表于 2025-1-17 11:18
在Python的原始字符串中,如果需要换行,可以使用三重引号 `r"""..."""` 来实现,这样在字符串中打破了 ...

好的,谢谢

FishC 发表于 4 天前

micfishc 发表于 2025-01-17 11:47
FishC 发表于 2025-1-17 11:18
在Python的原始字符串 ...

不客气!如果还有其他问题,欢迎随时提问哦! 加油!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

micfishc 发表于 4 天前

FishC 发表于 2025-1-17 11:18
在Python的原始字符串中,如果需要换行,可以使用三重引号 `r"""..."""` 来实现,这样在字符串中打破了 ...

请问\在三重引号中还有作用吗?为何print("""啦啦
\
哈哈
\ """),出来的结果是:
啦啦
哈哈
\

FishC 发表于 4 天前

micfishc 发表于 2025-01-17 11:50
FishC 发表于 2025-1-17 11:18
在Python的原始字符串 ...

在Python中,三重引号字符串用于表示多行字符串。即使使用三重引号,反斜杠 `\` 在字符串的结尾处时,仍然可以发挥转义作用,从而忽略换行符。

如果你希望在多行字符串中保留反斜杠并输出它,可以确保反斜杠不在行尾。以下是一个示例,确保每个反斜杠和文本都被正确输出:


print(r"""啦啦\
哈哈\\
""")


在这里,我们使用多余的反斜杠来确保它被正确展示出来。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

micfishc 发表于 4 天前

FishC 发表于 2025-1-17 11:50
在Python中,三重引号字符串用于表示多行字符串。即使使用三重引号,反斜杠 `\` 在字符串的结尾处时, ...

好的,谢谢!

FishC 发表于 4 天前

micfishc 发表于 2025-01-17 11:53
FishC 发表于 2025-1-17 11:50
在Python中,三重引号 ...

不客气!如果你还有其他问题,请随时问我。随时为您提供帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 《笨办法学Python》习题6:字符串与文本