mirror of https://github.com/python/cpython
Separate positional arguments from localized globals.
This commit is contained in:
parent
e208b7c5b1
commit
22b46e0ba9
|
@ -47,7 +47,7 @@ class OrderedDict(dict, MutableMapping):
|
||||||
self.__map = {}
|
self.__map = {}
|
||||||
self.update(*args, **kwds)
|
self.update(*args, **kwds)
|
||||||
|
|
||||||
def __setitem__(self, key, value, PREV=0, NEXT=1, dict_setitem=dict.__setitem__):
|
def __setitem__(self, key, value, *, PREV=0, NEXT=1, dict_setitem=dict.__setitem__):
|
||||||
'od.__setitem__(i, y) <==> od[i]=y'
|
'od.__setitem__(i, y) <==> od[i]=y'
|
||||||
# Setting a new item creates a new link which goes at the end of the linked
|
# Setting a new item creates a new link which goes at the end of the linked
|
||||||
# list, and the inherited dictionary is updated with the new key/value pair.
|
# list, and the inherited dictionary is updated with the new key/value pair.
|
||||||
|
@ -57,7 +57,7 @@ class OrderedDict(dict, MutableMapping):
|
||||||
last[NEXT] = root[PREV] = self.__map[key] = [last, root, key]
|
last[NEXT] = root[PREV] = self.__map[key] = [last, root, key]
|
||||||
dict_setitem(self, key, value)
|
dict_setitem(self, key, value)
|
||||||
|
|
||||||
def __delitem__(self, key, PREV=0, NEXT=1, dict_delitem=dict.__delitem__):
|
def __delitem__(self, key, *, PREV=0, NEXT=1, dict_delitem=dict.__delitem__):
|
||||||
'od.__delitem__(y) <==> del od[y]'
|
'od.__delitem__(y) <==> del od[y]'
|
||||||
# Deleting an existing item uses self.__map to find the link which is
|
# Deleting an existing item uses self.__map to find the link which is
|
||||||
# then removed by updating the links in the predecessor and successor nodes.
|
# then removed by updating the links in the predecessor and successor nodes.
|
||||||
|
@ -68,7 +68,7 @@ class OrderedDict(dict, MutableMapping):
|
||||||
link_prev[NEXT] = link_next
|
link_prev[NEXT] = link_next
|
||||||
link_next[PREV] = link_prev
|
link_next[PREV] = link_prev
|
||||||
|
|
||||||
def __iter__(self, NEXT=1, KEY=2):
|
def __iter__(self, *, NEXT=1, KEY=2):
|
||||||
'od.__iter__() <==> iter(od)'
|
'od.__iter__() <==> iter(od)'
|
||||||
# Traverse the linked list in order.
|
# Traverse the linked list in order.
|
||||||
root = self.__root
|
root = self.__root
|
||||||
|
@ -77,7 +77,7 @@ class OrderedDict(dict, MutableMapping):
|
||||||
yield curr[KEY]
|
yield curr[KEY]
|
||||||
curr = curr[NEXT]
|
curr = curr[NEXT]
|
||||||
|
|
||||||
def __reversed__(self, PREV=0, KEY=2):
|
def __reversed__(self, *, PREV=0, KEY=2):
|
||||||
'od.__reversed__() <==> reversed(od)'
|
'od.__reversed__() <==> reversed(od)'
|
||||||
# Traverse the linked list in reverse order.
|
# Traverse the linked list in reverse order.
|
||||||
root = self.__root
|
root = self.__root
|
||||||
|
@ -108,7 +108,7 @@ class OrderedDict(dict, MutableMapping):
|
||||||
pass
|
pass
|
||||||
dict.clear(self)
|
dict.clear(self)
|
||||||
|
|
||||||
def popitem(self, last=True, PREV=0, NEXT=1, KEY=2, dict_pop=dict.pop):
|
def popitem(self, last=True, *, PREV=0, NEXT=1, KEY=2, dict_pop=dict.pop):
|
||||||
'''od.popitem() -> (k, v), return and remove a (key, value) pair.
|
'''od.popitem() -> (k, v), return and remove a (key, value) pair.
|
||||||
Pairs are returned in LIFO order if last is true or FIFO order if false.
|
Pairs are returned in LIFO order if last is true or FIFO order if false.
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ class OrderedDict(dict, MutableMapping):
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
self.clear() # eliminate cyclical references
|
self.clear() # eliminate cyclical references
|
||||||
|
|
||||||
def move_to_end(self, key, last=True, PREV=0, NEXT=1):
|
def move_to_end(self, key, last=True, *, PREV=0, NEXT=1):
|
||||||
'''Move an existing element to the end (or beginning if last==False).
|
'''Move an existing element to the end (or beginning if last==False).
|
||||||
|
|
||||||
Raises KeyError if the element does not exist.
|
Raises KeyError if the element does not exist.
|
||||||
|
|
|
@ -123,8 +123,8 @@ def lru_cache(maxsize=100):
|
||||||
http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used
|
http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used
|
||||||
|
|
||||||
"""
|
"""
|
||||||
def decorating_function(user_function, tuple=tuple, sorted=sorted,
|
def decorating_function(user_function,
|
||||||
len=len, KeyError=KeyError):
|
*, tuple=tuple, sorted=sorted, len=len, KeyError=KeyError):
|
||||||
cache = OrderedDict() # ordered least recent to most recent
|
cache = OrderedDict() # ordered least recent to most recent
|
||||||
cache_popitem = cache.popitem
|
cache_popitem = cache.popitem
|
||||||
cache_renew = cache.move_to_end
|
cache_renew = cache.move_to_end
|
||||||
|
|
Loading…
Reference in New Issue