關於Python 3中print函數的換行詳解,pythonprint
前言
因為工作的需要,最近看了看Python的應用,從入門級的九九乘法表開始,結果發現Python3.x和Python2.x真的是有太大的不同之處,就比如這裡的換行處理,怕忘記先記下來,好了,話不多說了,來一起看看詳細的介紹:
Python2.X中的代碼:
#!/usr/bin/env python#-*- coding: utf-8 -*-__author__ = '****'class PrintTable(object): '''列印九九乘法表''' def __init__(self): print('開始列印 9 X 9 的乘法表格') self.print99() def print99(self): for i in xrange(1, 10): for j in xrange(1, i+1): print('%d X %d = %2s ' %(j, i, i*j)), print('\n')if __name__ == '__main__': pt = PrintTable()
具體的演算法,橫向、縱向兩層迴圈就不說了。
這裡涉及兩個問題:第一,在內層迴圈的print()函數結尾,在Pyhon2中,print()列印輸出後要換行的話,是在函數末尾加一個逗號',',但是在Python3中運行代碼會發現,加逗號並不起作用,在win中運行1所示,
圖1
在Linux中運行2,
圖2
可以看出,並沒有換行,原因是在Python3中,換行採用了新文法,形如print(‘*‘, end=”) ,是的,區別就是在print()函數的第二個參數,加上了end=”,修改、運行,最後的運行結果,3,
圖3
正常輸出。
其實在上面代碼中還有一個問題,接上面 問題一,xrange()函數,如果你只是修改了print()函數的文法,沒有關注xrange()的話,會出現4的情況,
圖4
這裡提示說'xrange' is not defined,其實就是在Python3中,xrange()函數已被整合進range()函數了,統一使用range()函數。
OK,修改後,就會輸出圖3的正常結果了。
總結
好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流,謝謝大家對幫客之家的支援。