What is the difference between a static method and a non-static method?

A static method belongs to the class itself and a non-static (aka instance) method belongs to each object that is generated from that class. If your method does something that doesn’t depend on the individual characteristics of its class, make it static (it will make the program’s footprint smaller). Otherwise, it should be non-static. Example: … Read more

How can I merge multiple commits onto another branch as a single squashed commit?

Say your bug fix branch is called bugfix and you want to merge it into master: This will take all the commits from the bugfix branch, squash them into 1 commit, and merge it with your master branch. Explanation: Switches to your master branch. Takes all commits from the bugfix branch and groups it for a 1 commit with your current branch.(no merge commit appears; you … Read more

How can I safely create a nested directory in Python?

On Python ≥ 3.5, use pathlib.Path.mkdir: For older versions of Python, I see two answers with good qualities, each with a small flaw, so I will give my take on it: Try os.path.exists, and consider os.makedirs for the creation. As noted in comments and elsewhere, there’s a race condition – if the directory is created between the os.path.exists and the os.makedirs calls, the os.makedirs will … Read more