Bug in Python?
Sven R. Kunze
srkunze at mail.de
Fri Feb 26 17:08:41 EST 2016
More information about the Python-list mailing list
Fri Feb 26 17:08:41 EST 2016
- Previous message (by thread): Request Help With Displaying XBM Image
- Next message (by thread): Bug in Python?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi everybody, I recognized the following oddity (background story: http://srkunze.blogspot.com/2016/02/lets-go-down-rabbit-hole.html). Python sometimes seems not to hop back and forth between C and Python code. Can somebody explain this? class MyList(list): count = 0 def __setitem__(self, key, value): self.count += 1 super(MyList, self).__setitem__(key, value) # using heapq directly from heapq import heappop ml = MyList(range(10)) heappop(ml) # that's C print(ml.count) # print 0 # using exact copy from heapq from heapq import _siftup def my_heappop(heap): lastelt = heap.pop() if heap: returnitem = heap[0] heap[0] = lastelt _siftup(heap, 0) # that's C return returnitem return lastelt ml = MyList(range(10)) my_heappop(ml) print(ml.count) # print 6 Best, Sven
- Previous message (by thread): Request Help With Displaying XBM Image
- Next message (by thread): Bug in Python?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list