Python

python [filename] python3 [filename]

Standard Libraryarrow-up-right

run if not modules

if __name__ == "__main__":

Loops

for idx, x in enumerate(xs):
    print(idx, x)
    
from tqdm import tqdm
for i in tqdm(range(10000)):
  ...

Exceptions

  • Error Types: Exception (most general?)| RuntimeError|TypeError|OSError etc

 try:
        x = int(input("Please enter a number: "))
        break
    except ValueError:
        print("Oops!  That was no valid number.  Try again...")
    except (RuntimeError, TypeError, NameError):
    		pass

Capture exception info

Access Args

Can also use argparsearrow-up-right

Only function scoping

and and or

  • 0, '', [], (), {}, and None are false

  • Actually return one of the values being computed

    • 'a' and 'b' returns 'b'

    • '' and 'b' return ''

  • So, 1 and a or b is basically the trinary operator(unless a is false)

  • (1 and [a] or [b])[0] is the safe way

Math

'' vs ""

They are the same

== vs is

is checks they point to the same thing i.e [1,2,3] is not [1,2,3] but [1,2,3] == [1,2,3]

Use is None because a class could define == to be different and is is faster

Checking Packages

dir(nltk) - lists all functions in package

Functions

KArgs & Args

*args will give you all function parameters as a tuple

**kwargs will give you all keyword arguments as a dictionary expect acutal args

Pass in dict like f(**dict) to act as **kwargs

Lambdas

lambda x, y: x[1] + y

Generators

Input

  • PYTHON 2: input("Enter number") interprets user input so if int, int will be returned(Security bug, runs arbitrary code use raw_input)

  • raw_input("Enter Your Name: ") takes exactly what user typed

  • PYTHON 3: input is raw_input

Exceptions

types

Other

Pip

Last updated