class: center, middle, inverse, title-slide # 1. Intro a Python ### Ana BVA ### 24/2/2021 --- <style type="text/css"> /* From https://github.com/yihui/xaringan/issues/147 */ .scroll-output { height: 80%; overflow-y: scroll; } /* https://stackoverflow.com/questions/50919104/horizontally-scrollable-output-on-xaringan-slides */ pre { max-width: 100%; overflow-x: scroll; } </style> # Historia .full-width[.content-box-blue[Creador de Python: **Guido van Rossum**]] .pull-left[ <img src="https://upload.wikimedia.org/wikipedia/commons/6/66/Guido_van_Rossum_OSCON_2006.jpg" width="200px" style="display: block; margin: auto;" /> .tiny[[Entrevista](https://www.youtube.com/watch?v=J0Aq44Pze-w)] ] .pull-right[ - Originario de los Paises Bajos - Titulo: Matemáticas y computación - Investigador del Centrum Wiskunde & Informatics (CWI) <img src="https://pbs.twimg.com/media/EpSJbFwWEAQWebe.jpg" width="250px" style="display: block; margin: auto;" /> ] --- ## Ideas de Python Python fue creado para ser: <img src="img/ideaspy.png" width="850px" style="display: block; margin: auto;" /> .full-width[.content-box-red[Busca tener: **Legibilidad**]] --- ## ¿Qué es python? - Lenguaje de programación interpretado -- - Sintaxis de código legible -- - Lenguaje de programación multiparadigma -- <img src="img/multipara.png" width="550px" style="display: block; margin: auto;" /> .tiny[ [Mas información](https://www.python.org/about/gettingstarted) ] --- ## Versiones de python Python tuvo su primera verisión al público en 1991, y a continuado versionando de forma similar. <img src="img/v.0.9.0.png" width="750px" style="display: block; margin: auto;" /> --- ## Python ¿2 o 3? - ¿Qué versión de python nos conviene? -- - ¿Porqué? --- ## Python ¿2 o 3? <img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SFU6R2gs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2agzfyqp1t6iqjrdihfv.png" height="550px" style="display: block; margin: auto;" /> --- ## Python ¿2 o 3? <img src="https://qph.fs.quoracdn.net/main-qimg-63812ebf5569d8d6e875f34de05f057b" width="750px" style="display: block; margin: auto;" /> --- ## Intalación Puedes leer los requisitos en [github](https://github.com/AnaBVA/pythonCCG_2021) y seguir los pasos para la instalación. En este curso usaremos: - Python 3 <img src="https://miro.medium.com/max/2560/0*8aY8pX5CoNGImZU4.png" width="200px" style="display: block; margin: auto;" /> - PyCharm <img src="https://resources.jetbrains.com/storage/products/pycharm-edu/img/meta/pycharm-edu_logo_300x300.png" width="100px" style="display: block; margin: auto;" /> --- ## ¿Tienes python? 1. Abre una terminal -- 2. Escribe `python` o `python3` --- ## ¿Qué versión tenemos? Podemos checar la **versión** y el **PATH** de `python` de distintas maneras: - Bash: ```bash python3 --version which python3 ``` ``` ## Python 3.6.13 ## /Users/user/opt/anaconda3/envs/r-reticulate/bin/python3 ``` --- ## ¿Qué versión tenemos? Podemos checar la **versión** y el **PATH** de `python` de distintas maneras: -- - En python: 1. Abre una terminal 2. Escribe `python` o `python3` Checamos la **versión** ```python import sys sys.version ``` ``` ## '3.6.13 | packaged by conda-forge | (default, Feb 19 2021, 05:38:47) \n[GCC Clang 11.0.1]' ``` -- Checamos el **PATH** ```python print(sys.path) ``` ``` ## ['', '/Users/user/opt/anaconda3/envs/r-reticulate/bin', '/Users/user/opt/anaconda3/envs/r-reticulate/lib/python36.zip', '/Users/user/opt/anaconda3/envs/r-reticulate/lib/python3.6', '/Users/user/opt/anaconda3/envs/r-reticulate/lib/python3.6/lib-dynload', '/Users/user/opt/anaconda3/envs/r-reticulate/lib/python3.6/site-packages', '/Library/Frameworks/R.framework/Versions/4.0/Resources/library/reticulate/python'] ``` --- ## PyCharm <img src="https://resources.jetbrains.com/storage/products/pycharm/img/meta/pycharm_logo_300x300.png" width="500px" style="display: block; margin: auto;" /> --- ## PyCharm Tips: - Agregar un interpretador de python (puedes usar conda env o virtual env) -- - Executar el codigo en la *Consola Python* usando **Ctrl/Alt + Shift + E** -- - Cambiar el nombre de la variable en todo el script utilizando `Refactor` - Seleciona la variable -> Click derecho -> `Refactor` -> `Rename` - **Shift + F6** -- - Buscador **Cmd/Ctrl + F** -- - Cambios recientes en tu archivo o projecto **Alt + Shift + C** -- - Duplicar la lína de código **Cmd/Ctrl + D** -- - `# todo`: Permite crear comentarios para saber donde te quedaste --- ## Ecosistema de Python <img src="https://www.researchgate.net/publication/332799309/figure/fig1/AS:753947908272130@1556766597837/Schematic-view-of-the-Python-scientific-software-ecosystem-Figure-taken-from-Jake.png" width="600px" style="display: block; margin: auto;" /> --- ## Anaconda <img src="https://miro.medium.com/max/3624/1*O5Jgl-KFuvUyujAZhXHYlQ.png" width="600px" style="display: block; margin: auto;" /> --- ## Bioconda <img src="https://cdn-ak.f.st-hatena.com/images/fotolife/b/biodata/20170113/20170113232841.png" width="300px" style="display: block; margin: auto;" /> <img src="https://media.springernature.com/m685/springer-static/image/art%3A10.1038%2Fs41592-018-0046-7/MediaObjects/41592_2018_46_Fig1_HTML.jpg" width="700px" style="display: block; margin: auto;" /> .tiny[ [Grüning, Björn, et al. "Bioconda: sustainable and comprehensive software distribution for the life sciences." Nature methods 15.7 (2018): 475-476.](https://www.nature.com/articles/s41592-018-0046-7) ] --- ## Rosalind .tiny[ [Pagina web de Rosalind](http://rosalind.info/problems/locations/) ] <img src="https://i.pinimg.com/originals/44/d7/4f/44d74fdeb808d07087b8ed3e1756bf50.png" width="700px" style="display: block; margin: auto;" /> --- ## Ejercicio de Rosalind .content-box-blue[ Hacer el ejercico de [Rosalind:Installing Python](http://rosalind.info/problems/ini1/) ] --- ## Python como calculadora Python sirve como calculadora y te permite hacer operaciones -- ```python 50 - 5*6 / 4 ``` ``` ## 42.5 ``` ```python (50 - 5*6) / 4 ``` ``` ## 5.0 ``` -- ```python 5 ** 2 # potencias ``` ``` ## 25 ``` --- ## Python como calculadora ```python ancho = 20 alto = 5 * 9 ancho * alto ``` ``` ## 900 ``` --- ## Ejercicio de Rosalind .content-box-blue[ Hacer el ejercico de [Rosalind: Variables and Some Arithmetic](http://rosalind.info/problems/ini2/) ]