Redefining built-in 'hash'
28 return self.encode_point(result)
29 elif operation == "hash":
30 message = params["message"]
31 hash = hashlib.sha256(message.encode()).digest()32 return hash.hex()
33 else:
34 raise ValueError("Invalid operation")
Description
Defining a local variable or function with the same name as a built-in object makes the built-in object unusable within the current scope and makes the code prone to bugs.
Bad practice
dict = {} # dict is a Python builtin!
for idx, student in enumerate(students):
dict[student] = idx
Preferred:
roll_number = {}
for idx, student in enumerate(students):
roll_number[student] = idx