Python

From wiki
Revision as of 22:14, 5 December 2018 by Hdridder (talk | contribs) (→‎Modules)
Jump to navigation Jump to search


Generic things:

The Python style guide is available in [PEP 8]

Modules

Modules need to be imported into your program by the import command.

To add the location of your own modules to the python search path put it in the PYTHONPATH variable.

All modules we use are available by default (on linux systems). If not it will be mentioned in the article.

sys

Provides a number of system variables

sys.argv
List of everything on the commandline. sys.argv[0] is the program itself.

getopt

Module to parse the commandline arguments (sys.argv).

subprocess

Module to execute shell commands

In python2

import subprocess
exitcode = subprocess.call("<any command>")
commandoutput = subprocess.check_output("<any command>")

Use ("command",shell=True) to have the call work like it would on the commandline

In python3

import subprocess
CompletedProcess = subprocess.run("<any command>")

The CompletedProcess returned has (args, returncode, stdout, stderr)

numpy

Numpy is a module for scientific calculation. Introducing multi-dimensional arrays and more.

scipy

Module for more scientific functions.

pint

Pint is a module to handle units.

Variables

Variables are always pointers to objects.

a = 2
b = 2

Point to the same object (the immutable integer '2')

Variables are local by default. If a routine has any assignment to a variable it is local. If you have defined a variable outside a routine and need assignments to it in the routine you have to declare it global explicitly. Variables are always pointers to objects.

a = 'a string'

def main():
    global a
    print(a)
    a = "This would fail with 'local variable 'a' referenced before assignment' if 'a' was not declared as global"

main()

[Geeks for Geeks] has as good page about this.