Code Monkey home page Code Monkey logo

python's Introduction

python - Modelos Probabilísticos de Señales y Sistemas

Estos son archivos ejecutables tipo notebook de Jupyter, que llamaremos PyX (pronunciado "pics"), y que acompañan los temas del curso. Son una introducción a Python como lenguaje de programación y la presentación de algunas de sus herramientas más importantes para utilizar en problemas relacionados con la probabilidad, la estadística y el análisis de datos.

Nota: para saber más sobre cómo instalar Jupyter y ejecutar los PyX, consultar HOWTO.md.

Lista de tutoriales

Estos son los temas cubiertos por cada archivo (trabajo en progreso).

Nombre Tema Librerías
Py0 Introducción a Python
Py1 Funciones y librerías estándar Math, Random...
Py2 Manipulación de datos Pandas
Py3 Librerías de computación científica NumPy, SciPy, Matplotlib
Py4 Funciones estadísticas Stats de SciPy
Py5 Curvas de ajuste y modelos estadísticos para datos Fitter
Py6 Intercambio de datos con servicios web Requests
Py7 Graficación estadística Seaborn

Pendientes:

Nombre Tema Librerías
Py8 Bases de datos SQL con Python SQLite
Py9 Principios de programación orientada a objetos
Py10 Documentación de código Sphinx

Algunos consejos de la Guía de estilo para código de Python (PEP 8)

PEP 8 es una guía para que el código escrito en Python tenga una consistencia agradable a la vista. Pueden hacer lectura completa en la página oficial de PEP 8.

Aquí mostraremos solamente la síntesis de unas cuantas recomendaciones que serán regla para el curso.

Cosas que fastidian (pet peeves)

  • Evitar espacios en blanco en medio de paréntesis redondos o cuadrados, o llaves.

Correcto

spam(ham[1], {eggs: 2})

Incorrecto

spam( ham[ 1 ], { eggs: 2 } )
  • Evitar espacios en blanco entre una coma final y un paréntesis cerrado siguiente:

Correcto

foo = (0,)

Incorrecto

bar = (0, )
  • Evitar espacios en blanco inmediatamente antes de una coma, punto y coma o dos puntos:

Correcto

if x == 4: print x, y; x, y = y, x

Incorrecto

if x == 4 : print x , y ; x , y = y , x
  • A pesar de lo anterior, en un segmento los dos puntos actúan como un operador binario y debe tener cantidades iguales en ambos lados:

Correcto

ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]
ham[lower:upper], ham[lower:upper:], ham[lower::step]
ham[lower+offset : upper+offset]
ham[: upper_fn(x) : step_fn(x)], ham[:: step_fn(x)]
ham[lower + offset : upper + offset]

Incorrecto

ham[lower + offset:upper + offset]
ham[1: 9], ham[1 :9], ham[1:9 :3]
ham[lower : : upper]
ham[ : upper]
  • Evitar espacios en blanco inmediatamente antes del paréntesis abierto que inicia la lista de argumentos de una llamada de función:

Correcto

spam(1)

Incorrecto

spam (1)
  • Evitar espacios en blanco inmediatamente antes del paréntesis abierto que comienza una indexación o corte:

Correcto

dct['key'] = lst[index]

Incorrecto

dct ['key'] = lst [index]
  • Evitar más de un espacio alrededor de un operador de asignación (u otro) para alinearlo con otro:

Correcto

x = 1
y = 2
long_variable = 3

Incorrecto

x             = 1
y             = 2
long_variable = 3

Otras recomendaciones

  • Evitar dejar espacios en blanco en cualquier lugar. Debido a que generalmente es invisible, puede ser confuso para algunos editores de texto.

  • Siempre rodear estos operadores binarios con un solo espacio a cada lado: asignación (=), la asignación aumentada (+=, -=, etc.), las comparaciones (==, <, >, !=, <>, <=, >=, in, not in, is, is not), Booleans (and, or, not).

  • Si se utilizan operadores con diferentes prioridades, considerar agregar espacios en blanco alrededor de los operadores con las prioridades más bajas:

Correcto

i = i + 1
submitted += 1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)

Incorrecto

i=i+1
submitted +=1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)
  • No usar espacios alrededor del signo = cuando se usa para indicar un argumento de palabra clave, o cuando se usa para indicar un valor predeterminado para un parámetro de función:

Correcto

def complex(real, imag=0.0):
    return magic(r=real, i=imag)

Incorrecto

def complex(real, imag = 0.0):
    return magic(r = real, i = imag)
  • Las declaraciones compuestas (declaraciones múltiples en la misma línea) generalmente no se aconsejan:

Correcto

if foo == 'blah':
    do_blah_thing()
do_one()
do_two()
do_three()

Incorrecto

if foo == 'blah': do_blah_thing()
do_one(); do_two(); do_three()

Comentarios

El código, desde un inicio, estará comentado ampliamente.

Los comentarios tendrán el siguiente formato:

  • Una línea en blanco encima (excepto si siguen la norma de docstrings)
  • Un espacio entre # y la primera letra
  • Primera letra mayúscula
  • Texto en español con toda la puntuación y acentos necesarios (el código fuente de Python acepta UTF-8, entre otras codificaciones internacionales)

Ejemplo

import numpy as np
from scipy import stats

# Número de muestras
N = 500

# ¿Variable aleatoria de la simulación?
X = stats.norm(0, 1)

python's People

Contributors

ecg97 avatar fabianabarca avatar jonixrojas avatar kellymorat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

python's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.