Python
Python is an interpreted high-level general-purpose programming language. Its design philosophy emphasizes code readability with its use of significant indentation. Its language constructs as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.
The standard prrogramming language for data science and for us especially:
- machine learning, deep-learning using tensorflow or pytorch)
- audio analysis and manipulation using librosa
Also used to interface with 3d software such as poser 3d/blender and audacity and Libre Office.
Statements and control flow[edit]
Python's statements include (among others):
- The assignment statement, using a single equals sign
=
. - The
if
statement, which conditionally executes a block of code, along withelse
andelif
(a contraction of else-if). - The
for
statement, which iterates over an iterable object, capturing each element to a local variable for use by the attached block. - The
while
statement, which executes a block of code as long as its condition is true. - The
try
statement, which allows exceptions raised in its attached code block to be caught and handled byexcept
clauses; it also ensures that clean-up code in afinally
block will always be run regardless of how the block exits. - The
raise
statement, used to raise a specified exception or re-raise a caught exception. - The
class
statement, which executes a block of code and attaches its local namespace to a class, for use in object-oriented programming. - The
def
statement, which defines a function or method. - The
with
statement, which encloses a code block within a context manager (for example, acquiring a lock before the block of code is run and releasing the lock afterwards, or opening a file and then closing it), allowing resource-acquisition-is-initialization (RAII)-like behavior and replaces a common try/finally idiom.[1] - The
break
statement, exits from a loop. - The
continue
statement, skips this iteration and continues with the next item. - The
del
statement, removes a variable, which means the reference from the name to the value is deleted and trying to use that variable will cause an error. A deleted variable can be reassigned. - The
pass
statement, which serves as a NOP. It is syntactically needed to create an empty code block. - The
assert
statement, used during debugging to check for conditions that should apply. - The
yield
statement, which returns a value from a generator function andyield
is also an operator. This form is used to implement coroutines. - The
return
statement, used to return a value from a function. - The
import
statement, which is used to import modules whose functions or variables can be used in the current program.
The assignment statement (=
) operates by binding a name as a reference to a separate, dynamically-allocated object. Variables may be subsequently rebound at any time to any object. In Python, a variable name is a generic reference holder and does not have a fixed data type associated with it. However, at a given time, a variable will refer to some object, which will have a type. This is referred to as dynamic typing and is contrasted with statically-typed programming languages, where each variable may only contain values of a certain type.
Python does not support tail call optimization or first-class continuations, and, according to Guido van Rossum, it never will.[2][3] However, better support for coroutine-like functionality is provided, by extending Python's generators.[4] Before 2.5, generators were lazy iterators; information was passed unidirectionally out of the generator. From Python 2.5, it is possible to pass information back into a generator function, and from Python 3.3, the information can be passed through multiple stack levels.[5]
- ↑ "Highlights: Python 2.5". Python.org. Archived from the original on 4 August 2019. Retrieved 20 March 2018.
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedAutoNT-55
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedAutoNT-56
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedAutoNT-57
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedAutoNT-58