2009年9月27日日曜日

整数を16進数、8進数、2進数に変換する

# -*- coding: utf-8 -*-

# 数値をX進数に変換する
s = format(123, 'b')
s = oct(123)
s = hex(123)

# 文字列の2進数、8進数、16進数を整数に変換する
i = int("0101", 2)
i = int("01234567", 8)
i = int("0x0123456789abcdef", 16)

# クラスに特殊メソッド __oct__ __hex__ __format__ を定義すると
# oct() hex() format() の引数として渡すことが出来る
class A:
    def __oct__(self):
        return "01234567"
    def __hex__(self):
        return "0x0123456789abcdef"
    def __format__(self, f):
        return "format " + f

a = A()

print hex(a)

詳細はドキュメントで

0 件のコメント:

コメントを投稿