Redefining built-in 'hash'
26 return self.encode_point(result)
27 elif operation == "hash":
28 message = params["message"]
29 hash = hashlib.sha256(message.encode()).digest()30 return hash.hex()
31 else:
32 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