在python中是否有一个无意义的字符,我可以在源代码中用作标记?

时间:2016-05-17 01:06:42

标签: python code-organization

基本上,我想要一个将被编译器完全忽略的ASCII字符。不喜欢#,因为我之后的代码就行了,我只需要它清楚地标记某些东西。

我试图在Python中编写真正的长方程(Trig,复杂形状的表面区域等),我希望能够以不同的方式标记某些括号。例如:

slantHeight = (?(math.sqrt(?((baseSideLength/2) * (baseSideLength/2)) + heightSquared)?)`

(问号应该代表所谓的神秘符号)

我想在一行中执行所有操作以保持文件大小不变。我知道我可以这样做,我目前正在这样做。

halfBaseSideLength = (.5 * baseSideLength)
halfBaseSideLengthSquared = (halfBaseSideLength * halfBaseSideLength)
baseSideLengthSquared = (baseSideLength * baseSideLength)
heightSquared = (height * height)

slantHeight = (math.sqrt(halfBaseSideLengthSquared + heightSquared))

但是,这太大了,特别是当你有这样的二十多个街区时。所以我再问一遍:Python解释器是否完全忽略了任何无意义的符号?

2 个答案:

答案 0 :(得分:1)

你可以这样做:

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

答案 1 :(得分:0)

显然,__是在Python中执行此操作的常用且最正确的方法。