字符串之間是沒法直接進行加法運算的,要先通過轉換。python
十六進制字符串轉換爲十進制ide
int('a',16)spa
int('0xa',16)字符串
十進制轉換爲十六進制it
hex(10)ast
'0xa'class
十進制轉換爲字符串im
str(12)di
'12'view
練習:求MAC地址的下一個地址,考慮01 0f結尾的狀況。
#!/usr/bin/python
macaddr = '00:16:3E:00:69:0D'
prefix = macaddr[:-2]
last_two = macaddr[-2:]
last_two_int = int(last_two,16)
new_last_two_int = last_two_int + 1
new_last_two = hex(new_last_two_int)
if len(new_last_two) == 3:
new_last_two = '0' + new_last_two[-1:]
else:
new_last_two = new_last_two[-2:]
newmacaddr = prefix + new_last_two
print newmacaddr.upper()