Skip to content

Commit 26321cb

Browse files
committed
Trucos y tips.
1 parent 390b58b commit 26321cb

File tree

4 files changed

+72
-84
lines changed

4 files changed

+72
-84
lines changed

README.md

Lines changed: 3 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
5.6 <a href = "#python-para-todos">Python para todos.</a>
3333
6. <a href = "#trucos">Trucos y consejos.</a>
3434
6.1 <a href = "creando_un_entorno_virtual.md">Creando un entorno virtual Python.</a>
35-
6.2 <a href = "#estructura">Estructura de un script en Python.</a>
36-
6.3 <a href = "#guia">Guía de estilo PEP8.</a>
35+
6.2 <a href = "estructura_script_python.md">Estructura de un script en Python.</a>
36+
6.3 <a href = "guia_estilo_pep8.md">Guía de estilo PEP8.</a>
3737
7. <a href = "#codigos">Códigos Python.</a>
38-
7.1 <a href = "https://github.com/ejdecena/tutorial_python/blob/master/codigos/hola_mundo.py">Hola Mundo Python!</a>
38+
7.1 <a href = "codigos/hola_mundo.py">Hola Mundo Python!</a>
3939
</pre>
4040

4141
<a name = "python"></a>
@@ -166,82 +166,4 @@ Siéntete en la libertad de usar libros para aprender *Python* cuando desees, po
166166

167167
## 6. Trucos y consejos.
168168

169-
<a name = "creando"></a>
170-
171-
### 6.1 Creando un entorno virtual Python.
172-
173-
Cuando se está desarrollando software en *Python*, es común utilizar diferentes versiones de un mismo paquete. Un *virtualenv*, o entorno virtual de *Python*, es un ambiente creado con el objetivo de aislar recursos como librerías y entornos de ejecución del sistema principal o de otros entornos virtuales. Esto significa que en el mismo sistema, computadora, es posible tener instaladas múltiples versiones de una misma librería sin crear ningún tipo de conflicto.
174-
175-
Para crear y utilizar un entorno virtual debe instalarse `virtualenv`; pero antes debe instalarse el manejador de paquetes de *Python* `pip`:
176-
177-
```bash
178-
$ sudo apt-get install python3-pip
179-
```
180-
Luego instalamos `virtualenv`:
181-
```bash
182-
$ sudo pip3 install virtualenv
183-
```
184-
#### Creando un entorno virtual.
185-
186-
Para crear el entorno virtual debes dirigirte a la carpeta donde lo deseas crear. Se crea con el comando `virtualenv` seguido del nombre que le quieras poner, como lo indica el siguiente ejemplo:
187-
```bash
188-
$ virtualenv nombre_de_tu_entorno -p python3
189-
```
190-
Esto creará una nueva carpeta dentro del directorio que hayamos escogido, allí se instalarán todos los paquetes que desees utilizar.
191-
192-
#### Activar / Desactivar entorno virtual.
193-
Para **activar** el entorno virtual debes dirigirte a la nueva carpeta anteriormente creada y ejecuta:
194-
```bash
195-
$ source nombre_entorno_virtual/bin/activate
196-
```
197-
Para **desactivar** el entorno virtual simplemente ejecuta:
198-
```bash
199-
$ deactivate
200-
```
201-
<a href = "#indice">[IR AL ÍNDICE]</a>
202-
203-
<a name = "estructura"></a>
204-
205-
### 6.2 Estructura de un script en Python.
206-
207-
```python
208-
1 #!/usr/bin/env python3
209-
2
210-
3
211-
4 if __name__ == "__main__":
212-
5 pass
213-
6
214-
```
215-
216-
La **línea 1** se conoce como *shebang*, se reconoce al iniciar con los caracteres `#!` cuando están al principio de la primera o segunda línea de un archivo de texto. Indica que el archivo es un *script* y le dice al sistema operativo qué intérprete ha de usarse para ejecutarlo. Los sistemas operativos *Linux* (y otros sistemas *Unix-like*) soportan de forma nativa esta característica.
217-
218-
Entre los ejemplos de *shebang* tenemos:
219-
220-
* `#!/usr/bin/python3` -> Usar el ejecutable *Python* localizado en `/usr/bin`
221-
* `#!/usr/bin/env python3` -> Usa `env` para buscar la variable de entorno "python3" en el PATH para ejecutar el script con ese programa.
222-
223-
Los sistemas operativos *Windows* no tienen soporte nativo para *shebang*. En cambio, usan la *extensión* del archivo para asociarlo al ejecutable de turno. Por lo tanto, la línea de *shebang* sería completamente ignorada en el caso de los sistemas Windows.
224-
225-
La **línea 4** está asociada al modo de funcionamiento del intérprete *Python*. Cuando el intérprete lee un archivo de código, **ejecuta todo el código que se encuentra en él**. Todo módulo (archivo de código) en *Python* tiene un atributo especial llamado `__name__` que define el *espacio de nombres* en el que se está ejecutando el archivo. Este atributo es usado para identificar de forma única un módulo en el sistema de importaciones.
226-
227-
Por su parte `__main__` es el nombre del *ámbito* en el que se ejecuta el código de nivel superior (tu programa principal).
228-
229-
El intérprete pasa el valor del atributo a `"__main__"` si el módulo se está ejecutando como programa principal (cuando lo ejecutas llamando al intérptrete en la terminal con `python my_modulo.py`, haciendo doble click en él, ejecutandolo en el intérprete interactivo, etc ).
230-
231-
Si el módulo NO es llamado como programa principal, sino que es **importado** desde otro módulo, el atributo `__name__` pasa a contener el **nombre del archivo** en sí.
232-
233-
Es decir, si tienes un archivo llamado `mi_modulo.py`, si lo ejecutamos como programa principal el atributo `__name__` será `"__main__"`, si lo usamos importándolo desde otro módulo (`import mi_modulo`) el atributo `__name__` será igual a `"mi_modulo"`.
234-
235-
En resúmen, básicamente lo que haces usando `if __name__ == "__main__":` es ver si el módulo ha sido importado o no. Si no se ha importado (se ha ejecutado como programa principal) ejecuta el código dentro del condicional.
236-
237-
Una de las razones para hacerlo es que, a veces, se escribe un módulo (un archivo .py) que se puede ejecutar directamente, pero que alternativamente, también se puede importar y reutilizar sus funciones, clases, métodos, etc. en otro módulo. Con esto conseguimos que la ejecución sea diferente al ejecutar el módulo directamente que al importarlo desde otro programa.
238-
239-
<a href = "#indice">[IR AL ÍNDICE]</a>
240-
241-
<a name = "guia"></a>
242-
243-
### 6.3 Guía de estilo PEP8.
244-
245-
En la organización *Python* existen lo que se llaman *PEP's* o [*Python Enhancement Proposals*](http://www.python.org/dev/peps/pep-0001/#what-is-a-pep), los cuales son documentos que proveen información a la comunidad de *Python* o describen nuevas características del lenguaje, su proceso de desarrollo o su entorno. Uno de estos *PEP's* es el *PEP8*, el cual está dedicado a la recopilación de los estándares de estilo seguidos por los desarrolladores de *Python* a la hora de escribir código para la librería estandar. Un listado completo de los *PEP's* se puede encontrar [aquí](http://www.peps.io/), mientras que una versión en castellano del *PEP8* se puede descargar de [aquí](documentos/guia_pep8_es.pdf) en este repositorio.
246169

247-
<a href = "#indice">[IR AL ÍNDICE]</a>

creando_un_entorno_virtual.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,30 @@
1-
#### Creando un entorno virtual.
1+
<div align = "center">
2+
<img src = "imagenes/logo_python.jpeg" />
3+
</div>
4+
5+
# Creando un entorno virtual Python.
6+
7+
Cuando se está desarrollando software en *Python*, es común utilizar diferentes versiones de un mismo paquete. Un *virtualenv*, o entorno virtual de *Python*, es un ambiente creado con el objetivo de aislar recursos como librerías y entornos de ejecución del sistema principal o de otros entornos virtuales. Esto significa que en el mismo sistema, computadora, es posible tener instaladas múltiples versiones de una misma librería sin crear ningún tipo de conflicto.
8+
9+
Para crear y utilizar un entorno virtual debe instalarse `virtualenv`; pero antes debe instalarse el manejador de paquetes de *Python* `pip`:
10+
11+
```bash
12+
$ sudo apt-get install python3-pip
13+
```
14+
Luego instalamos `virtualenv`:
15+
```bash
16+
$ sudo pip3 install virtualenv
17+
```
18+
## Creando un entorno virtual.
219

320
Para crear el entorno virtual debes dirigirte a la carpeta donde lo deseas crear. Se crea con el comando `virtualenv` seguido del nombre que le quieras poner, como lo indica el siguiente ejemplo:
421
```bash
522
$ virtualenv nombre_de_tu_entorno -p python3
623
```
724
Esto creará una nueva carpeta dentro del directorio que hayamos escogido, allí se instalarán todos los paquetes que desees utilizar.
825

9-
#### Activar / Desactivar entorno virtual.
26+
## Activar / Desactivar entorno virtual.
27+
1028
Para **activar** el entorno virtual debes dirigirte a la nueva carpeta anteriormente creada y ejecuta:
1129
```bash
1230
$ source nombre_entorno_virtual/bin/activate
@@ -15,4 +33,4 @@ Para **desactivar** el entorno virtual simplemente ejecuta:
1533
```bash
1634
$ deactivate
1735
```
18-
<a href = "#indice">[IR AL ÍNDICE]</a>
36+
<a href = "README.md">[IR AL ÍNDICE]</a>

estructura_script_python.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<div align = "center">
2+
<img src = "imagenes/logo_python.jpeg" />
3+
</div>
4+
5+
# Estructura de un script en Python.
6+
7+
```python
8+
1 #!/usr/bin/env python3
9+
2
10+
3
11+
4 if __name__ == "__main__":
12+
5 pass
13+
6
14+
```
15+
16+
La **línea 1** se conoce como *shebang*, se reconoce al iniciar con los caracteres `#!` cuando están al principio de la primera o segunda línea de un archivo de texto. Indica que el archivo es un *script* y le dice al sistema operativo qué intérprete ha de usarse para ejecutarlo. Los sistemas operativos *Linux* (y otros sistemas *Unix-like*) soportan de forma nativa esta característica.
17+
18+
Entre los ejemplos de *shebang* tenemos:
19+
20+
* `#!/usr/bin/python3` -> Usar el ejecutable *Python* localizado en `/usr/bin`
21+
* `#!/usr/bin/env python3` -> Usa `env` para buscar la variable de entorno "python3" en el PATH para ejecutar el script con ese programa.
22+
23+
Los sistemas operativos *Windows* no tienen soporte nativo para *shebang*. En cambio, usan la *extensión* del archivo para asociarlo al ejecutable de turno. Por lo tanto, la línea de *shebang* sería completamente ignorada en el caso de los sistemas Windows.
24+
25+
La **línea 4** está asociada al modo de funcionamiento del intérprete *Python*. Cuando el intérprete lee un archivo de código, **ejecuta todo el código que se encuentra en él**. Todo módulo (archivo de código) en *Python* tiene un atributo especial llamado `__name__` que define el *espacio de nombres* en el que se está ejecutando el archivo. Este atributo es usado para identificar de forma única un módulo en el sistema de importaciones.
26+
27+
Por su parte `__main__` es el nombre del *ámbito* en el que se ejecuta el código de nivel superior (tu programa principal).
28+
29+
El intérprete pasa el valor del atributo a `"__main__"` si el módulo se está ejecutando como programa principal (cuando lo ejecutas llamando al intérptrete en la terminal con `python my_modulo.py`, haciendo doble click en él, ejecutandolo en el intérprete interactivo, etc ).
30+
31+
Si el módulo NO es llamado como programa principal, sino que es **importado** desde otro módulo, el atributo `__name__` pasa a contener el **nombre del archivo** en sí.
32+
33+
Es decir, si tienes un archivo llamado `mi_modulo.py`, si lo ejecutamos como programa principal el atributo `__name__` será `"__main__"`, si lo usamos importándolo desde otro módulo (`import mi_modulo`) el atributo `__name__` será igual a `"mi_modulo"`.
34+
35+
En resúmen, básicamente lo que haces usando `if __name__ == "__main__":` es ver si el módulo ha sido importado o no. Si no se ha importado (se ha ejecutado como programa principal) ejecuta el código dentro del condicional.
36+
37+
Una de las razones para hacerlo es que, a veces, se escribe un módulo (un archivo .py) que se puede ejecutar directamente, pero que alternativamente, también se puede importar y reutilizar sus funciones, clases, métodos, etc. en otro módulo. Con esto conseguimos que la ejecución sea diferente al ejecutar el módulo directamente que al importarlo desde otro programa.
38+
39+
<a href = "README.md">[IR AL ÍNDICE]</a>

guia_estilo_pep8.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<div align = "center">
2+
<img src = "imagenes/logo_python.jpeg" />
3+
</div>
4+
5+
# Guía de estilo PEP8.
6+
7+
En la organización *Python* existen lo que se llaman *PEP's* o [*Python Enhancement Proposals*](http://www.python.org/dev/peps/pep-0001/#what-is-a-pep), los cuales son documentos que proveen información a la comunidad de *Python* o describen nuevas características del lenguaje, su proceso de desarrollo o su entorno. Uno de estos *PEP's* es el *PEP8*, el cual está dedicado a la recopilación de los estándares de estilo seguidos por los desarrolladores de *Python* a la hora de escribir código para la librería estandar. Un listado completo de los *PEP's* se puede encontrar [aquí](http://www.peps.io/), mientras que una versión en castellano del *PEP8* se puede descargar de [aquí](documentos/guia_pep8_es.pdf) en este repositorio.
8+
9+
<a href = "README.md">[IR AL ÍNDICE]</a>

0 commit comments

Comments
 (0)