如何正确格式化 Python 中的长行?
How to properly format long lines in Python?
我相信我们都熟悉 PEP 8 及其对行长度的规范。不幸的是,数学是存在的。
我正在尝试在 Python 中编写非常长的方程(三角函数、复杂形状的表面积等),我希望能够在不破坏我的线条的情况下保持我的公式的清晰度很多。
例如,这个公式很长,在我的代码中可能会缩进很多次,让我没有太多的工作空间:
slantHeight = ((math.sqrt(((baseSideLength/2) * (baseSideLength/2)) + heightSquared))
拆分这条线的推荐方法是什么?
你可以这样做:
slantHeight = math.sqrt(
( # halfBaseSideLengthSquared
( # halfBaseSideLength
baseSideLength / 2) *
(baseSideLength / 2)) +
( # heightSquared
height * height))
或者这样:
def _(name, x):
return x
slantHeight = math.sqrt(_('halfBaseSideLengthSquared', _('halfBaseSideLength', baseSideLength / 2) * (baseSideLength / 2)) + _('heightSquared', height * height))
您甚至可以删除 name
参数,因为它被忽略了,尽管我看不出这对任何事情有什么帮助。
我建议您不要太担心文件大小,而要关注可读性。多余的线条不会造成伤害。像这样:
halfBaseSideLength = (.5 * baseSideLength)
halfBaseSideLengthSquared = (halfBaseSideLength * halfBaseSideLength)
很有用,因为它减少了重复,尽管更好的做法是:
halfBaseSideLengthSquared = (.5 * baseSideLength) ** 2
我相信我们都熟悉 PEP 8 及其对行长度的规范。不幸的是,数学是存在的。
我正在尝试在 Python 中编写非常长的方程(三角函数、复杂形状的表面积等),我希望能够在不破坏我的线条的情况下保持我的公式的清晰度很多。
例如,这个公式很长,在我的代码中可能会缩进很多次,让我没有太多的工作空间:
slantHeight = ((math.sqrt(((baseSideLength/2) * (baseSideLength/2)) + heightSquared))
拆分这条线的推荐方法是什么?
你可以这样做:
slantHeight = math.sqrt(
( # halfBaseSideLengthSquared
( # halfBaseSideLength
baseSideLength / 2) *
(baseSideLength / 2)) +
( # heightSquared
height * height))
或者这样:
def _(name, x):
return x
slantHeight = math.sqrt(_('halfBaseSideLengthSquared', _('halfBaseSideLength', baseSideLength / 2) * (baseSideLength / 2)) + _('heightSquared', height * height))
您甚至可以删除 name
参数,因为它被忽略了,尽管我看不出这对任何事情有什么帮助。
我建议您不要太担心文件大小,而要关注可读性。多余的线条不会造成伤害。像这样:
halfBaseSideLength = (.5 * baseSideLength)
halfBaseSideLengthSquared = (halfBaseSideLength * halfBaseSideLength)
很有用,因为它减少了重复,尽管更好的做法是:
halfBaseSideLengthSquared = (.5 * baseSideLength) ** 2