基本上,我想要一个将被编译器完全忽略的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解释器是否完全忽略了任何无意义的符号?
答案 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中执行此操作的常用且最正确的方法。