Mercurial > cpython-lru_cache-weakref
diff Lib/string.py @ 585:37905fe1892a legacy-trunk
New implementation method for case conversion.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Tue, 14 Jan 1992 18:31:29 +0000 |
| parents | 683edb0c4463 |
| children | 476bb7e5b854 |
line wrap: on
line diff
--- a/Lib/string.py Tue Jan 14 18:30:26 1992 +0000 +++ b/Lib/string.py Tue Jan 14 18:31:29 1992 +0000 @@ -12,34 +12,32 @@ octdigits = '01234567' # Case conversion helpers -_caseswap = {} -for i in range(26): - _caseswap[lowercase[i]] = uppercase[i] - _caseswap[uppercase[i]] = lowercase[i] +_idmap = '' +for i in range(256): _idmap = _idmap + chr(i) +_lower = _idmap[:ord('A')] + lowercase + _idmap[ord('Z')+1:] +_upper = _idmap[:ord('a')] + uppercase + _idmap[ord('z')+1:] +_swapcase = _upper[:ord('A')] + lowercase + _upper[ord('Z')+1:] del i # convert UPPER CASE letters to lower case def lower(s): res = '' for c in s: - if 'A' <= c <= 'Z': c = _caseswap[c] - res = res + c + res = res + _lower[ord(c)] return res # Convert lower case letters to UPPER CASE def upper(s): res = '' for c in s: - if 'a' <= c <= 'z': c = _caseswap[c] - res = res + c + res = res + _upper[ord(c)] return res # Swap lower case letters and UPPER CASE def swapcase(s): res = '' for c in s: - if 'a' <= c <= 'z' or 'A' <= c <= 'Z': c = _caseswap[c] - res = res + c + res = res + _swapcase[ord(c)] return res # Strip leading and trailing tabs and spaces
