从纯粹的性能角度来看,将重复算术运算的结果分配给变量并在整个代码中使用该变量通常是最佳实践吗?或者Python有一些内部方式来缓存结果并在遇到重复语句时使用它.
例如,这更有效:
a = 50
b = a*12-1
c = a*b
print c
#some code
print c*100 + 10
#some code
print c/100 + 20
#etc
Run Code Online (Sandbox Code Playgroud)
比这个:
print 50*(50*12-1)
#some code
print 50*(50*12-1) * 100 + 10
#some code
print 50*(50*12-1) / 100 + 20
#etc
Run Code Online (Sandbox Code Playgroud) 在Python 2.7中运行Ubuntu这段代码:
f = open("testfile.txt", "w")
f.write("Line one".encode("utf-16"))
f.write(u"\r\n".encode("utf-16"))
f.write("Line two".encode("utf-16"))
Run Code Online (Sandbox Code Playgroud)
在Gedit中读取时,在两行文本之间生成所需的换行符:
Line one?
?Line two
Run Code Online (Sandbox Code Playgroud)
但是,在Windows 7中执行并在记事本中读取的相同代码会在"第一行"之后生成难以理解的字符,但记事本不会识别换行符.如何在Windows中为UTF-16编写正确的换行符以匹配我在Ubuntu中获得的输出?
我正在为只能读取Unicode UTF-16的Windows应用程序编写输出.我花了好几个小时尝试不同的提示,但似乎没有任何东西适用于记事本.值得一提的是,我可以在记事本中成功将文本文件转换为UTF-16,但我宁愿让脚本首先正确保存编码.