5.5. 字符串

1️⃣字符的四种定义方式

写法示例适用场景
单引号‘你好,大赛人’单行字符串(不能直接换行,换行需要使用圆括号)
双引号“你好,大赛人”
三个单引号”’你好,大赛人”’多行字符串(可以直接换行)
三个双引号“””你好,大赛人””””

下面代码所表示的都是字符串:

# 单引号和双引号的写法是等价的,二者都不能直接换行(要用圆括号才能换行),单引号用的多。
message1 = '大赛人,大赛成就梦想 技能照亮人生!'
message2 = "大赛人,大赛成就梦想 技能照亮人生!"

# 三个单引号的写法,可以直接换行,并且可以作为多行注释使用。
message3 = '''大赛人,大赛成就梦想 技能照亮人生!'''

# 三个双引号的写法,可以直接换行,也可以作为多行注释使用,还能作为文档字符串使用。
message4 = """大赛人,大赛成就梦想 技能照亮人生!"""

2️⃣字符串的格式化输出

写法 1:直接用加号进行拼接,写起来很麻烦,而且只能是字符串之间拼接。

name = '张三'
gender = '男'
weight = 65.2
age = 12

info1 = '我叫' + name + ',我是' + gender + '生'

写法 2:使用占位符。

具体规则:

  • %s占位字符串
  • %f占位浮点数
  • %i占位整数
  • %d占位十进制的整数
  • %s是万能的(如果我们提供的数据不是字符串,那 Python 就会把数据转成字符串)。
name = '张三'
gender = '男'
weight = 65.2
age = 12

info2 = '我叫%s,我是%s生,我体重是%f,年龄是%d' % (name, gender, weight, age)

写法 3:使用 f-string,这是目前 Python 最推荐的方式

name = '张三'
gender = '男'
weight = 65.2
age = 12

info3 = f'我叫{name},我是{gender}生,我体重是{weight},年龄是{age}'

3️⃣占位符精度控

在占位符前方,可以使用m.n的形式来指定精度,具体规则见下图:

图片[1]-5.5. 字符串-大赛人网
图片[2]-5.5. 字符串-大赛人网
图片[3]-5.5. 字符串-大赛人网

示例代码:

info = '我叫%-4.1s,性别是%3.2s,体重是%-9.3f,年龄是%-6.4d' % (name, gender, weight, age)

4️⃣转义字符

在字符串中,有些字符不能直接写(换行、制表符、引号等)这时就要使用转义字符。

例如下面的message字符串中包含了一个单引号,但如果就这样直接写,就会报错

print('在Python中,可以使用'包裹一个字符串')

使用转义字符后,即可正常输出:

print('在Python中,可以使用\'包裹一个字符串')

常见的转义字符梳理:

转义字符表示的含义
\’‘
\”“
\n换行
\\\
\b删除前一个字符
\r使光标回到本行开头,覆盖输出
\t表示水平制表符(让光标跳转到下一个制表位)

测试代码:

# 使用 \' 输出 '
print('在Python中,可以使用\'包裹一个字符串')

# 使用 \" 输出 "
print("在Python中,可以使用\"包裹一个字符串")

# 使用 \n 进行换行
print('注册会员需要以下信息:\n姓名\n年龄\n手机号')

# 使用 \\ 输出 \
print('D:\\nice')

# 使用 \b 删除前一个字符
print('helloo\b')

# 使用 \r 使光标回到本行开头,覆盖输出
print('67%\r68%')

# 使用 \t 表示水平制表符(让光标跳转到下一个制表位)
# 一个制表位到底是几位,是不确定的,但我们可以通过在字符串后面加.expandtabs()来指定位数。
print('1234123412341234')
print('ab\tcd.expandtabs(4)')
print('abc\td.expandtabs(4)')
print('abcd\ta.expandtabs(4)')
print('我是\t中文.expandtabs(4)')

print('12341234123412341234')
print('姓名\t性别\t年龄')
print('张三\t男\t\t18')
print('李四\t女\t\t25')
print('王五\t男\t\t32')
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容