我应该如何缩短这行 Python 代码?
How should I shorten this line of Python code?
这是需要缩短的行。
tree_top = os.path.abspath(os.path.expanduser(os.path.expandvars(sys.argv[1])))
- 我应该为每个过程创建一个变量吗?
- 我是否应该为
os.path,abspath
、os.path.expandvars
和 os.path.expanduser
添加别名以使用更短的名称?
- 我应该使用反斜杠吗?
减少宽度的最简单方法是在括号内使用隐式续行:
tree_top = os.path.abspath(
os.path.expanduser(
os.path.expandvars(sys.argv[1])
)
)
或者,只需 select 您需要的 os.path
部分:
from os.path import abspath, expanduser, expandvars
tree_top = abspath(expanduser(expandvars(sys.argv[1])))
或结合使用两者。
您可以使用 Python 的一项名为 Implicit Line Joining 的功能。
圆括号之间的代码是同一指令的隐含部分,因此,您可以 'shorten' 将表达式分散在多行中:
tree_top = os.path.abspath(
os.path.expanduser(
os.path.expandvars(
sys.argv[1]
)
)
)
现在,每行少于 80 个字符,并且是干净的 PEP8 代码。
如果您的操作的每个步骤都定义得更清楚,使用中间变量也是缩短每行的好方法。在某些情况下,它可以帮助使代码更清晰,但这里的中间步骤用处不大
这是需要缩短的行。
tree_top = os.path.abspath(os.path.expanduser(os.path.expandvars(sys.argv[1])))
- 我应该为每个过程创建一个变量吗?
- 我是否应该为
os.path,abspath
、os.path.expandvars
和os.path.expanduser
添加别名以使用更短的名称? - 我应该使用反斜杠吗?
减少宽度的最简单方法是在括号内使用隐式续行:
tree_top = os.path.abspath(
os.path.expanduser(
os.path.expandvars(sys.argv[1])
)
)
或者,只需 select 您需要的 os.path
部分:
from os.path import abspath, expanduser, expandvars
tree_top = abspath(expanduser(expandvars(sys.argv[1])))
或结合使用两者。
您可以使用 Python 的一项名为 Implicit Line Joining 的功能。
圆括号之间的代码是同一指令的隐含部分,因此,您可以 'shorten' 将表达式分散在多行中:
tree_top = os.path.abspath(
os.path.expanduser(
os.path.expandvars(
sys.argv[1]
)
)
)
现在,每行少于 80 个字符,并且是干净的 PEP8 代码。
如果您的操作的每个步骤都定义得更清楚,使用中间变量也是缩短每行的好方法。在某些情况下,它可以帮助使代码更清晰,但这里的中间步骤用处不大