python: print输出到文本文件中;赋值语句的执行流程
前言
本篇记录python中使用print输出到文本文件中,以及python中赋值语句的执行流程。
print到文本文件
python中,可以使用sys.stdout
控制程序运行时的输出流,默认将输出打印在运行终端上。如果要输出到文本文件中,可以修改输出流方向到文件中:
import sys
f = open('out.log', 'w')
sys.stdout = f
print('f out')
sys.stdout = sys.__stdout__
print('std out')
上面的第一个print将打印到out.log中,而第二个print将打印在屏幕上。std.__sdtout__
保存了原始的输出流向,不应当修改。
python连续赋值语句的执行流程
C++中,赋值语句的执行逻辑是,从右向左赋值,赋值表达式的值是表达式右边的值(被赋的值,左边被赋后的值)。因此,C++中下面的连续赋值语句:
int a, b, c = 1;
a = b = c;
的执行顺序是b = c, a = (b = c)
python中也允许连续赋值:
c = 1
a = b = c
但python中的赋值语句不是表达式,没有返回值。python中的连续赋值顺序是,将语句左边的所有变量按顺序依次赋语句最右边的值,也就是a = c, b = c
,下面的程序结果可供参考:
a = [0, 0]
i = 0
i = a[i] = 1
print(a, i)
# [0, 1] 1