for all practical purposes, have unlimited precision (i.e. can contain as many digits as needed)
examples:
# decimal10# binary0b10#=> 2# octal0o10#=> 8# hexadecimal0x10#=> 16# using `int()` constructor### NOTE: rounding of integers is always towards 0int(3.5)#=> 3int(-3.5)#=> 3int("496")#=> 496# optional argument to change baseint("10000",3)#=> 81
flat
64-bit floating point numbers
IEEE-754 double-precision with 53-bits of binary precision
equivalent to between 15 and 16 significant digits in decimal
examples:
# float3.125# scientific notation can be used### approximate speed of light in meters per second (3x10^8)3e8#=> 300000000.0### Planck's constant, 1.616x10^-351.616e-35#=> 1.616e-35# using `float()` constructorfloat(7)#=> 7.0float("1.618")#=> 1.618# special floating point numbersfloat("nan")#=> nan (not a number)float("inf")#=> inf (positive infinity)float("-inf")#=> -inf (negative infinity)