Python

From EMC23 - Satellite Of Love
Revision as of 20:59, 25 August 2021 by Techbot (talk | contribs)
Jump to navigation Jump to search

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:

  • 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 with else and elif (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 by except clauses; it also ensures that clean-up code in a finally 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 and yield 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]

  1. "Highlights: Python 2.5". Python.org. Archived from the original on 4 August 2019. Retrieved 20 March 2018.
  2. Cite error: Invalid <ref> tag; no text was provided for refs named AutoNT-55
  3. Cite error: Invalid <ref> tag; no text was provided for refs named AutoNT-56
  4. Cite error: Invalid <ref> tag; no text was provided for refs named AutoNT-57
  5. Cite error: Invalid <ref> tag; no text was provided for refs named AutoNT-58