私はプログラミングに慣れていて、異なる文字の印刷ステートメントで%記号が何をするのか理解しようとしています。これらのほとんどが%uが何を受け入れているのかを理解しています。 538を整数として出力するようです。私はユニコードで 'u'が印刷されたprint文の前に、%uで適用されるかどうかわかりません。pythonのシンボル%uと%o
print "In honor of the election I present %d" % 538.0 # integer
print "In honor of the election I present %o" % 538.0 # octal
print "In honor of the election I present %u" % 538.0 # ?
print "In honor of the election I present %x" % 538.0 # lowercase hexadecimal
print "In honor of the election I present %X" % 538.0 # uppercase hexadecimal
print "In honor of the election I present %e" % 538.0 # exponential
print "In honor of the election I present %i" % 538.0 # integer
出力は以下の通りです:
In honor of the election I present 538
In honor of the election I present 1032 *emphasized text*
In honor of the election I present 538 *emphasized text*
In honor of the election I present 21a
In honor of the election I present 21A
In honor of the election I present 5.380000e+02
In honor of the election I present 538
私もこの番号について%o
で少し問題を抱えています。私はちょうど8角形の印刷が何であるかを学び、132
(538 --> 8^3 = 512 *(1) + 26, 8^1 = 8*(3) + 2, 8^0 = 1*(2)
)を出力すると考えましたが、出力は1032
です。 0はどこから来たのですか? the docsから
0は、その数に8^2 = 64の0が含まれているためです。 8進数132は2 * 8^0 + 3 * 8^1 + 1 * 8^2となります。 – melpomene