a = True是啥意思哟,应该不是把字符True赋给a吧
a = True print a and 'a=T' or 'a=F'
a = True print a and 'a=T' or 'a=F'
2019-03-12
True和False是布尔值,就像1,2,3是整数,“abc”是字符串一样。
做这个题,需要了解以下两点:
第一,在一个语句中,当and和or同时存在时,and的优先级高于or。
第二,所谓“短路原则”,即对于a and b来说,如果a为True,则返回b,如果a为False,则直接返回False;对于a or b来说,如果a为True,则返回a,如果a为False,则返回b。
对于这个题目来说,
print a and 'a=T' or 'a=F'
此句话分拆为3步,
首先,a and 'a=T',已知a为True,则这部分返回值为'a=T',原语句相当于 print 'a=T' or 'a=F'
其次,'a=T' or 'a=F',or前后两个非空字符串,都认为是True,因此返回or前面的部分,'a=T'
最后,执行print命令。因此输出为'a=T'
举报