在学习pyhton中,尤其是学习正版图书资源时,我们经常会发现f'string'的形式,那么他是什么意思呢?有什么作用呢?跟我们format格式化函数又有什么联系呢?
目录
一、format格式化函数的介绍
二、f 字符串的介绍
三、其他字符串前缀的意义
1、字符串前加 u
2、字符串前加 r
3、字符串前加 b
一、format格式化函数的介绍
Python2.6版本开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是: {<参数序号>:<格式控制标记>}.format()
format 函数可以接受不限个参数,位置可以不按顺序。
例如:
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
二、f 字符串的介绍
在有些情况下,我们可能想在字符串中使用变量的值。比如,我们想使用两个变量分别表示性别和年龄:
sex='男'
age='23'
print(f'我的性别是{sex}年龄是{age}')
这样 { } 内就会自动填入变量的值,那有的读者可能会想,这比format简单不少 啊,那他能对字符格式化输出吗?举例:
sex='男'
age='23'
print(f'我的性别是{sex}年龄是{age:0^20}')
》》》我的性别是男年龄是00000000023000000000
明显也是可以的。
这种字符串名为f字符串。f是format的简写。
三、其他字符串前缀的意义
1、字符串前加 u
例:u"中文字符"
作用:
普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀,后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
2、字符串前加 r
例:r"\n\t\0\n” 表示一个普通生字符串 \n\t\0\n,而不表示其他意义。
作用:
去掉反斜杠的转义。
(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )
应用:
常用于正则表达式,对应着re模块。
3、字符串前加 b
例: response = b'Hello World!' b' ' 表示这是一个 bytes 对象
作用:
b" "前缀表示:后面字符串是bytes 类型。
用处:
网络编程中,服务器和浏览器只认bytes 类型数据。