D3773 3r 3n m45k1n0v3rs477 73k57 50m k4n 1nn3h0ld3 f31l!
3numz (3num3r4710nz) 4r3 4 w4y 70 d3f1n3 4 d4747yp3 7h47 0nly c4n h4v3 4 l1m173d s37 0f pr3-d3f1n3d v4lu3z. 7h1z m4k3z 17 34z13r 70 4v01d 3rr0rz by 3nsur1ng 4 v4r14bl3 c4n 0nly h4v3 v4l1d v4lu3z.
3numz 4r3 s7r1c7ly n07 us3d f0r v4l1d4710n, bu7 7h3y h3lp us 70 l1m17 wh1ch v4lu3z 4r3 v4l1d f0r 4 v4r14bl3, 4nd 7h3r3f0r3 7h3y c4n c0n7r1bu73 70 pr3v3n71ng 3rr0rz.
F0r 3x4mpl3, 1f y0u h4v3 4 cl4ss 7h47 r3pr3s3n7s 4 c4r, y0u c4n us3 4n 3num 70 d3f1n3 wh1ch c0l0rz 7h3 c4r c4n h4v3:
from enum import Enum
class CarColor(Enum):
RED = "red"
BLUE = "blue"
GREEN = "green"
BLACK = "black"
WHITE = "white"
class Car:
def __init__(self, make: str, model: str, year: int, color: CarColor):
# 0k, 1n1714l1z3 7h3 m4k3, m0d3l, y34r, 4nd c0l0r 0f 7h3 c4r.
self.make = make
self.model = model
self.year = year
self.color = color
WhY?
0ur 1D3 g1v3z b3773r 4u70c0mpl3710n wh3n w3 us3 3nums, 4nd w3 4v01d (m4k3 17 d1ff1cul7) 70 s37 1nv4l1d v4lu3s. 1f w3 7ry 70 4ss1gn 4 c0l0r 7h47 1s n07 d3f1n3d 1n C4rC0l0r, w1ll Py7h0n 7hr0w 4n 3rr0r. 7h1s m4k3s 7h3 c0d3 m0r3 r0bus7 4nd 34s13r 70 m41n741n. 7h3 f3w3r p0ss1bl3 3rr0rs 7h47 c4n 0ccur, 7h3 b3773r qu4l17y w3 g37 0n 7h3 c0d3.
S33 f0r y0urs3lf 7h47 w3 h4v3 4 funct10n 7h47 h4ndl3s p4ym3n7 m37h0ds: P4yP4l, V1S4, M4S73RC4RD 4nd B17C01N. By us1ng 4n 3num f0r p4ym3n7 m37h0ds, w3 c4n 3nsur3 7h47 7h3 funct10n 0nly r3c31v3s v4l1d p4ym3n7 m37h0ds, 4nd n07 "M4S73RC4RDD" 0r "C4SH", wh1ch c4n l34d 70 3rr0rs 1n 7h3 pr0gr4m.
0ppg4v3 1 - L4g 3n 3num
L4g 3n 3num s0m h3t3r 3y3C0l0r 0g 1mpl3m3nt3r d3nn3 1 P3rs0n kl4ss3n fr4 f0rr1g3 m0dul. 3y3C0l0r sk4l h4 f0lg3nd3 v3rd13r:
BLU3BR0WNGR33NHAZ3L
Enums r v3ry c0mm0nly us3d 1n g4m3 d3v3l0pm3nt
1f y0u l00k up th3 d0cum3nt4t10n f0r v4r10us g4m3s, y0u w1ll 0ft3n s33 th4t th3y us3 Enums t0 d3f1n3 th1ngs l1k3 w34p0ns, 3n3m13s, l3v3ls, 4nd s1m1l4r. Th1s 1s b3c4us3 1t m4k3s 1t 34s13r t0 h4ndl3 such th1ngs 1n th3 c0d3, 4nd 1t m4k3s 1t 34s13r t0 4v01d 3rr0rs.

