最近Python3を勉強しているのですが、問題点を見つけたのでまとめておきます。そこで、以下の記事では主にPython 3のprint関数の行折り返しに関する情報をサンプルコードを交えて詳しく紹介しています。興味のある友人が編集者をフォローして一緒に学ぶことができるので、それは必要な友人にとって非常に役立ちます。
前書き
仕事の必要により、私は最近、入門レベルの九九から始めて 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()
具体的なアルゴリズム、水平垂直二層循環については言及しません。
ここには 2 つの問題が関係しています: まず、Pyhon2 の内部ループの print()
関数の最後で、print()
が印刷出力をラップする必要がある場合です。 , 関数の最後にカンマ「,」を追加することですが、Python3でコードを実行すると、図1のようにwinで実行するとカンマの追加が機能しないことがわかります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()
図 1
は、図 2 に示すように Linux で実行されます 図2
🎜改行がないことがわかりますその理由は、Python3 では改行にprint('*', end=")
という形式の新しい構文が採用されているためです。違いは、end= が追加されていることです。 print()
関数の 2 番目のパラメータを変更して実行すると、最終的な実行結果は図 3 に示すようになります 🎜🎜図 3🎜🎜通常の出力。 🎜🎜🎜実際、上記のコードには別の問題があります。この問題の後に、print( の構文を変更するだけの場合、上記の質問 1、<code>xrange()
関数が続きます。 ) 関数の場合、xrange()
に注目すると、次の図 4 のような状況になります。🎜🎜
🎜図 4 🎜🎜
ここのプロンプトでは、「xrange」が定義されていないと表示されます。実際、Python3 でも、xrange() 関数は range()
関数と range 関数に統合されています。 ()
関数を一律に使用します。 🎜🎜OK、修正後は図 3 の通常の結果が出力されます。 🎜🎜🎜🎜概要🎜🎜🎜
以上がPython3のprint関数の行折り返しのグラフィックコードを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。