python:basico
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| python:basico [2022/04/04 23:59] – [Validación de datos de entrada] alberto | python:basico [2025/08/02 02:14] (actual) – [Strings] alberto | ||
|---|---|---|---|
| Línea 43: | Línea 43: | ||
| Las variables que se declaren fuera de una función, tienen ámbito global. | Las variables que se declaren fuera de una función, tienen ámbito global. | ||
| - | Las variables que se declaran en el interior de una función tienen ámbito local y s´ñolo | + | Las variables que se declaran en el interior de una función tienen ámbito local y sólo existen mientras se ejecute esa función. |
| Dentro de una función se pueden usar variables globales anteponiendo **global**. | Dentro de una función se pueden usar variables globales anteponiendo **global**. | ||
| El uso de variables globales es desaconsejable. | El uso de variables globales es desaconsejable. | ||
| Línea 109: | Línea 109: | ||
| print(" | print(" | ||
| | | ||
| - | elif (A > B):; | + | elif (A > B): |
| print(" | print(" | ||
| | | ||
| Línea 128: | Línea 128: | ||
| Si fuese necesario, se pueden usar las sentencias: | Si fuese necesario, se pueden usar las sentencias: | ||
| - | * **break** Sale del bcle while | + | * **break** Sale del bucle while |
| * **continue** Pasa a la primera línea del interior del bucle while | * **continue** Pasa a la primera línea del interior del bucle while | ||
| Línea 167: | Línea 167: | ||
| <code python> | <code python> | ||
| - | def miFuncion('argumento1'=' | + | def miFuncion(argumento1=' |
| # ... | # ... | ||
| # ... | # ... | ||
| Línea 383: | Línea 383: | ||
| Permite el uso de las sentencias **in** y **not in**. | Permite el uso de las sentencias **in** y **not in**. | ||
| - | Se puede usar //string interpolation// | + | Se puede usar desde Python 3.6 con **// |
| - | + | ||
| - | <code python> | + | |
| - | name = ' | + | |
| - | age =4000 | + | |
| - | ' | + | |
| - | </ | + | |
| - | + | ||
| - | Desde Python 3.6 existen | + | |
| <code python> | <code python> | ||
| Línea 498: | Línea 490: | ||
| El método **findall()** devuelve una lista de strings con todos los // | El método **findall()** devuelve una lista de strings con todos los // | ||
| - | Con el método **sub()**, se pueden sustituir las coincidencias: | + | Con el método **sub()**, se pueden sustituir las coincidencias. |
| - | + | Se puede trabajar con el método sub() de dos formas: | |
| - | <code python> | + | - A partir del patrón especificado anteriormente: |
| nameRegex=re.compile(r' | nameRegex=re.compile(r' | ||
| nameRegex.sub(' | nameRegex.sub(' | ||
| # Sustituye "Agent Alice" y "Agent Bob" en la cadena por " | # Sustituye "Agent Alice" y "Agent Bob" en la cadena por " | ||
| + | </ | ||
| + | - Especificando el patrón en la propia función sub\\ re.sub(patron, | ||
| + | def dashrepl(matchobj): | ||
| + | ... if matchobj.group(0) == ' | ||
| + | ... else: return ' | ||
| + | >>> | ||
| + | ' | ||
| + | >>> | ||
| + | 'Baked Beans & Spam' | ||
| </ | </ | ||
| ===== Validación de datos de entrada ===== | ===== Validación de datos de entrada ===== | ||
| Línea 513: | Línea 514: | ||
| </ | </ | ||
| + | === Métodos de validación de datos === | ||
| Algunos de sus métodos: | Algunos de sus métodos: | ||
| * **inputstr()** Como input(), con las características de la biblioteca. Se puede indicar una función de validación personalizada. | * **inputstr()** Como input(), con las características de la biblioteca. Se puede indicar una función de validación personalizada. | ||
| Línea 532: | Línea 534: | ||
| * **blank**=True/ | * **blank**=True/ | ||
| + | === Intentos === | ||
| + | Se puede limitar el número de intentos si se introduce el dato de forma errónea, ya que en caso de no hacerlo, lo seguiría pidiendo indefinidamente. Se puede hacer con los argumentos opcionales: | ||
| + | * **limit**=n Número de intentos. Genera un error RetryLimitException | ||
| + | * **timeout**=m Número de segundos máximo para introducir un dato válido. Genera un error TimeoutException | ||
| + | |||
| + | Se manejan con Try-Except. | ||
| + | |||
| + | Si se indica el argumento **default: | ||
| + | |||
| + | Se pueden pasar regex con los argumentos: | ||
| + | * **allowRegexes**=[r' | ||
| + | * **blockRegexes**=[r' | ||
| + | |||
| + | allowRegexes sobreescribe a block si se especifican ambos y se pisan. | ||
python/basico.1649109554.txt.gz · Última modificación: por alberto
