python语法——用f-string实现字符串连接

老方法

将字符串与变量连接起来,比如想打印记录一个函数输入内容和输出内容的日志,一般方法有:

1、字符串相加

a = 'input:' + input + ',output:' + output

2、使用 C 语言中的 %

a = 'input:%s,output:%s' % (input, output)1

3、使用 format 方法

a = 'input:{},output:{}'.format(input, output)

以上三种方法各有利弊:

1、字符串相加最大的缺点是代码不够简洁,尤其是变量名多的时候,会看到许许多多的单引号和双引号。

2、使用 % 和 format 的好处是,一个字符串是完整简洁的,让人一眼可以看出这个字符串的全局结构,只是抠出了几个变量来供填充。但是 % 的缺点是,当变量名多的时候,不知道哪个 % 对应的是哪个变量,还需要去数数。虽然 format 可以通过在 {} 中指定key来避免这个缺点,但是这会让代码变得很长,因为只要在{}指定的key,一定会在 format 的参数中再次出现一遍。

新方法(f-string)

从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快!

使用方法:

1、在字符串前面加上 f。

2、在字符串内部,将需要连接的变量用 {} 括起来即可。

示例:

a = f'input:{input},output:{output}'

特点

1、综合了上面三种老方法的优点,代码简洁,且变量名多的时候,不需要去数数,也没有繁琐的单引号双引号

2、括号{}里面的变量,可以是字符串类型,也可以是整型、浮点型,或者是复杂类型,比如数组、词典等,会自动转换成成字符串形式。

3、括号{}里面还可以是函数,比如 f'数组a的长度为:{len(a)}'。一句话,只要是位于 {} 中的,都会当做 python 代码来执行。但里面只能写表达式,不能写执行语句如{a=2}之类的。

4、f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式,速度比上面三种老方法要块。

因此对于Python3.6及以后的版本,推荐使用f-string进行字符串格式化。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,690评论 0 5
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,875评论 0 13
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 3,111评论 2 9
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,978评论 0 2
  • 第一点:学习行为规范也是个静心过程,从集合点到老人院有一定的路途有点赶时间,义工还未放松下来,而部分义工第一次参加...
    剑心_7594阅读 399评论 0 2

友情链接更多精彩内容