type() returns the type of a variable.
isinstance(var, type) check whether var is of type.
Python variables cannot be declared without assigning a value to it.
Boolean
True & False
Boolean values can be treated to numbers. True is 1, False is 0.
Equality: ==.
To test for identity, use is keyword. E.g. var1 is var2 == False. Identity means the two names refer to the same object.
any(iter) returns True if any element of the iterable is true. all(iter) returns True if all elements of the iterable is true.
Numbers
int: can be arbitrarily large.float: is accurate to 15 decimal places.int()method truncates towards 0.round(value, ndigits)round towards nearest even digit (1.5 and 2.5 both round to 2), andndigitscan be negative (round to 10, 100, etc.).fractions.Fraction(numerator, denominator). Byimport fractions, we can use the built-in fraction class. Note denominator cannot be 0.mathpackage. It contains constantsmath.pi, all trigonometric functions.- 0 and 0.0 are
False, everything else isTrue. Be careful about rounding error in floating points!!! complex(real, imag)or2 + 5jgenerates complex number. All the usual number operations are supported, and usecmathmodule (instead ofmath) if necessary.float('inf'),float('-inf'), andfloat('nan')creates infinity, negative infinity and NaN. To check whether a value is inf or nan, usemath.isinf(a)andmath.isnan(a). Note==andiscannot be used to check for nan!
Number Operations
/: floating point division, returns float no matter what.//: integer division. It always truncates down (towards negative infinity), so11//2 == 5,-11//2 == -6.**power.11 ** 2 == 121.%remainder.
Accurate Implementation
Floating point can’t accurately represent all base-10 decimals. If needed (especially in finance world), use decimal module.
Number Format
Float
Use built-in format(value, definition) function. definition is a string like [<>^]?width[,]?(.digits)[fe] where width is the width of the output, 0 means no override. < is left-justified, > is right-justitied, and ^ is centered. digits is the number of digits in accuracy. f means float, e or E means exponential notation. Place a , before . inserts thousands separator.
Integer
bin(x), oct(x), and hex(x) converts integer x into its binary, octal, and hexadecimal representation.
format(x, 'b|o|x') does the same thing, except it won’t produce 0b|o|x prefix.
Integer is signed, so negative value has a negative sign prefixing it. To convert to the unsigned representation, add the maximum number to it to set the bit length.
To convert back to decimal, use int(str, base).
None
None is Python’s null.
Comparing None to anything other than None is always False.
None itself is evaluated to False.
Bytes
An immutable sequence of numbers between 0 and 255. To mutate a byte in bytes object, convert it to bytearray object. Indexing on it returns integers, not individual characters.
To create with literals, use b'someString'. To use constructors, use bytes().
String and bytes are different datatypes, so they cannot be concatenated with each other.
Bytes can be converted to strings using by.decode(encoding) method. Similarly, s.encode(encoding) converts a UTF-8 string into bytes.
Bytes supports most of the same built-in operations as text string, but not string formatting. Some of them also works with bytearray too. To use regular expression, pattern needs to be declared as byte string too.