Python 格式最佳实践
Python Format Best Practices
我刚刚跟上 Python 的速度,并且有一个关于在字符串上使用 .format 的最佳实践(或至少是常见实践)的问题。
我的问题主要是关于何时使用空白大括号、索引号还是名称。
例如,如果您有一个变量想要包含在一个字符串中,您会做哪一个?
print "I {} Stack Overflow".format(var)
print "I {0} Stack Overflow".format(var)
print "I {verb} Stack Overflow".format(verb = var)
如果您要包含多个变量,这会改变吗?也许可以为单个变量包含 {},但不能为多个变量包含 {}?
如有任何想法或见解,我们将不胜感激。
谢谢!
一个或两个变量使用空大括号是可以的。我建议使用命名替换:
- 更多变量
- 在替换字符串难以阅读的情况下
- 重复注入的变量时。
print " I {} Stack Overflow.".format(var) 是正确的方式。
如果您需要多个变量,您只需放置更多大括号并添加用逗号分隔的变量名称。
print "I {} Stack Overflow. It is a great {} {}!".format(var, var1, var3)
我认为(目前)还没有任何实践被确立为 "best" 甚至 "common",因此您会得到很多意见(包括我的意见:-)。
我认为 {named}
当您的格式字符串是一个变量(例如来自数据库或配置文件,根据用户选择的语言等选择)时,卷曲是可行的方法,因为它们让您挑选并选择要格式化的(命名的)参数、顺序、可能重复它们等等,同时保持可读性。
如果格式字符串是文字,空卷曲 {}
最不突兀,因此最终可能最易读——除非你的格式字符串有 "too many" 个,当然是一种风格判断。
至少这是一个风格问题,与您每次定义或调用函数时所面临的问题非常相关——任何位置参数或参数如何 "too many" 以提高可读性,如果您全力以赴命名仅参数和参数,等等。类似的注意事项适用!
我知道这是一个老问题,但是 Python 3.6 带来了一个非常酷的字符串格式,叫做 "f-strings"。它类似于 Javascript。这是一个简单的例子:
name = "John"
age = 25
print(f"My name is {name} and I am {age} years old.")
它仅适用于 Python 3.6 及更高版本,但我认为这是在 Python.
中格式化字符串的最简单且更易读的方法
我刚刚跟上 Python 的速度,并且有一个关于在字符串上使用 .format 的最佳实践(或至少是常见实践)的问题。
我的问题主要是关于何时使用空白大括号、索引号还是名称。
例如,如果您有一个变量想要包含在一个字符串中,您会做哪一个?
print "I {} Stack Overflow".format(var)
print "I {0} Stack Overflow".format(var)
print "I {verb} Stack Overflow".format(verb = var)
如果您要包含多个变量,这会改变吗?也许可以为单个变量包含 {},但不能为多个变量包含 {}?
如有任何想法或见解,我们将不胜感激。
谢谢!
一个或两个变量使用空大括号是可以的。我建议使用命名替换:
- 更多变量
- 在替换字符串难以阅读的情况下
- 重复注入的变量时。
print " I {} Stack Overflow.".format(var) 是正确的方式。
如果您需要多个变量,您只需放置更多大括号并添加用逗号分隔的变量名称。
print "I {} Stack Overflow. It is a great {} {}!".format(var, var1, var3)
我认为(目前)还没有任何实践被确立为 "best" 甚至 "common",因此您会得到很多意见(包括我的意见:-)。
我认为 {named}
当您的格式字符串是一个变量(例如来自数据库或配置文件,根据用户选择的语言等选择)时,卷曲是可行的方法,因为它们让您挑选并选择要格式化的(命名的)参数、顺序、可能重复它们等等,同时保持可读性。
如果格式字符串是文字,空卷曲 {}
最不突兀,因此最终可能最易读——除非你的格式字符串有 "too many" 个,当然是一种风格判断。
至少这是一个风格问题,与您每次定义或调用函数时所面临的问题非常相关——任何位置参数或参数如何 "too many" 以提高可读性,如果您全力以赴命名仅参数和参数,等等。类似的注意事项适用!
我知道这是一个老问题,但是 Python 3.6 带来了一个非常酷的字符串格式,叫做 "f-strings"。它类似于 Javascript。这是一个简单的例子:
name = "John"
age = 25
print(f"My name is {name} and I am {age} years old.")
它仅适用于 Python 3.6 及更高版本,但我认为这是在 Python.
中格式化字符串的最简单且更易读的方法