pythonのprintを使うと、自動的に改行が行われてしまうようだ。
回避方法はあるのかもしれないが、1行に書いてしまえばよいだけだろう、とも思う。
前回の
foo = bytes.fromhex('123456789abcdef0')
print(''.join(format(x, '02x') for x in foo))
も、1行で出してしまいたかったからだ。
数字を16進数で出したければ、これでよいようだ。
>>> print '%x' % 1234
4d2
これでも同じらしい。
>>> print format(1234, "x")
4d2
ゼロがほしいときは、
>>> print '%04x' % 1234
04d2
>>> print format(1234, "04x")
04d2
など。
この辺りは、printfの使い方と似ているので、まあ大丈夫だろう。
並べたいときは、
>>> print '%d %x' % (1234, 1234)
1234 4d2
のように、引数の方を括弧で囲むようだ。
ちょっと迷うのが、コンマ。
>>> print 'x', 1234
x 1234
スペースが空くのだ。
嫌だったら、足し算を使うのか。
>>> print 'x' + str(1234)
x1234
文字列の連結になるためか、数字を文字列に変換せんといかんかった。
まだ技はありそうだが、(私が)普段使いそうなのはここら辺だろう。
これはprintとは関係ないが、文字列はダブルクオーテーションでもシングルクオーテーションでもよいらしい。
>>> print "abc"
>>> print 'abc'
これが、なかなかなじめない。。。
ただ、両方使うことができるので、
>>> print '"abc"'
"abc"
>>> print "'abc'"
'abc'
という技が使えるようだ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。