>>> print id(ord('A'))
32014688
>>> id(65)
32014688L
>>> print id(65)
32014688
>>> print id(ord('A'))
32014688
>>> id(65)
32014688L
>>> print id(65)
32014688
>>> print(id(ord('A')))
1807310096
>>> id(65)
1807310096
>>> print(id(65))
1807310096
>>>
发上来的时候可能排版会出现问题,但是我这里的ID都是一样的
在python2中,整数类型有整数和长整数之分,整数末尾的L就表示长整数,整数和长整数在使用上并没有什么区别,python会自动进行类型转换。因此,在python3中,整数类型就被统一为长整数。
你知道格式化字符串的时候%s和%r的区别吧?
class A(object):
def __str__(self):
return "A"
def __repr__(self):
return "object A"
a = A()
print函数打印对象(例如class A(object))的时候是默认使用对象的__str__方法
>>>print a
A
>>>print "%s" % a
A
直接在shell里面输出的话就是调用__repr__方法,类似于使用"%r"
>>>a
object A
>>>print "%r" % a
object A
4 回答968 阅读
1 回答711 阅读
1 回答692 阅读
1 回答521 阅读
645 阅读
585 阅读
568 阅读