第十一章問(wèn)題

1.舉出三種可以把三個(gè)變量賦值成相同值的方式。

你可以使用多重目標(biāo)賦值語(yǔ)句(A = B = C = 0)、序列賦值語(yǔ)句(A,B,C = 0,0,0)或者單獨(dú)行上的多重賦值語(yǔ)句(A = 0,B = 0,C = 0)。就后者的技術(shù)而言,就像第10章介紹過(guò)的,你也可以把三個(gè)單獨(dú)的語(yǔ)句用分號(hào)合并在同一行上(A = 0;B = 0; C = 0)。

2.將三個(gè)變量賦值給可變對(duì)象時(shí),你可能需要注意什么?

如果你用這種方式賦值:

A = B = C = [ ]

這三個(gè)變量名都會(huì)引用相同對(duì)象,所以對(duì)其中一個(gè)變量名進(jìn)行在原處的修改[例如,A.append(99)]也會(huì)影響其他變量名。只有對(duì)列表或字典這類可變對(duì)象進(jìn)行在原處的修改時(shí),才會(huì)如此。對(duì)不可變對(duì)象而言,諸如數(shù)字和字符串,則不涉及此問(wèn)題。

3.L = L.sort()有什么錯(cuò)誤?

列表sort方法就像append方法,也是對(duì)主體列表進(jìn)行在原處的修改:返回None,而不是其修改的列表。賦值給L,會(huì)把L設(shè)為None,而不是排序后的列表。我們會(huì)在本書這一部分后面看到,新的內(nèi)建函數(shù)sorted會(huì)排序任何序列,并傳回具有排序結(jié)果的新列表因?yàn)檫@并不是在原處的修改,將其結(jié)果賦值給變量名,就又能說(shuō)得通了。

4.怎么使用print語(yǔ)句來(lái)向外部文件發(fā)送文本?

4.要把一個(gè)單個(gè)的打印操作打印到一個(gè)文件,可以使用Python 3.0的print(X,file=F)調(diào)用形式,使用Python 2.6的擴(kuò)展的print >> file,X語(yǔ)句形式,或者在打印前把sys.stdout指定為手動(dòng)打開的文件并在之后恢復(fù)最初的值。你也可以用系統(tǒng)shell的特殊語(yǔ)法,把程序所有的打印文字重定向到一個(gè)文件,但這是在Python的范圍之外的內(nèi)容了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容