美文网首页程序员
可读性贼好的字符串格式化_f-string

可读性贼好的字符串格式化_f-string

作者: 辰雨蒋_python | 来源:发表于2020-04-27 14:34 被阅读0次

0. Background

字符串处理我一直是没用到太多,
%和format的用法感觉都不是很顺畅,把文字段落和变量割裂开了。
可读性也不好,而且总是记不住= =
突然发现了 f-string 的用法(python3.6版本后可用)感觉可以忘记一切%和format了

1. 先回顾一下Format和%

1.1 Format功能还挺多,= = 但是我都用不着

"My name is {}.".format("辰雨蒋")
"Hello {0}, my name is {1}".format("辰雨蒋","python")
"Hey guys, my name is {name}".format(name="小可爱")
 -------------output------------- 
My name is 辰雨蒋.
Hello 辰雨蒋, my name is python
Hey guys, my name is 小可爱

对datetime格式的数据进行格式化(这个还挺好)

from datetime import datetime
date = datetime(2018, 5, 19, 21, 00)
"{:%Y-%m-%d}".format(date)
"{:%H:%M}".format(date)

配合字典用

jyc = {"name": "Monica", "age": 25}
"My name is {someone[name]} and my age is {someone[age]}".format(someone=jyc)
 -------------output------------- 
My name is Monica and my age is 25

1.2 %可读性不是太好

"Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)

2. 来对比看看f-string

【可读性超好】 在一定程度上和 .format是有点像的,但是比较简单,

name = "辰雨蒋"
language = "python"
# 如果用.format格式:
"Hello {0}, I'm using {1}".format(name,language)   
# 用f-string  (此处f也可以用大写F)
f“Hello {name}, I'm using {language}” 
# 注意此处单双引号不能一样哦

【{ }直接调用函数、对象方法】

f"my name is {some_funciont(name)}"

【一些需要注意的小Tips】

    1. 引号
      单、双、仨引号都是可以的,但是要注意内外要不同的。
      若内部无法避免要使用外引号一样的,加 “\”
    1. 大括号 { }
f"这样打印的米有{'大括号'}"
f"这样才会有{{'大括号'}}哦"

相关文章

网友评论

    本文标题:可读性贼好的字符串格式化_f-string

    本文链接:https://www.haomeiwen.com/subject/iklfwhtx.html