Tutorial python

Tutorial en español sobre el lenguaje de programación más Zen

  • Curso Básico
    • Instalar Python
    • 1 Comentarios
    • 2 Variables
    • 3 Listas
    • 4 Condicionales
    • 5 Bucles
    • 6 Módulos
  • Otros recursos
  • Blog

Variables en python: Texto y números

Tipos de variables en python

Una variable es un sitio donde guardamos una determinada información. En función del tipo de información que guardemos (texto, números, booleanas, etc.), la variable será de uno u otro tipo. Por simplicidad sólo vamos a ver las variables de texto y numéricas, ya que son las que se usan en más del 80% de las ocasiones.

Cada variable tiene que tener un nombre con el que referirnos a ella. Python tiene en cuenta si escribimos en mayúsculas o minúsculas la variable (lo que se conoce como case sensitive). No es lo mismo una variable que se llame f1 que una que se llame F1.

Como es lógico y, para evitar confusiones, el nombre de la variable no puede coincidir con los nombres de los «comandos» de python (if, for, etc.). Tampoco podremos usar nombres de variables con tildes o con ñ.

¿Y por qué hay que decir lo que se mete en cada variables? Porque en función de lo que haya dentro de ella, se podrán hacer una u otras cosas, como por ejemplo sumar dos números.

En Python estas son las variables más comunes:

Números

En números hay dos tipos principales, los números enteros (llamados int) y los reales (llamados float). El separador decimal que tenemos que usar es el punto.

Aunque si no decimos el tipo de número que va a contener, Python intentará decidir por si mismo cuál es el más apropiado, esto en ocasiones produce errores. Mi recomendación mientras estés empezando a aprender, es la de que siempre especificar qué tipo de número es, ya que evitará futuras frustraciones.

>>> # Definimos dos variables llamadas numero1 y
>>> # numero2, y asociaremos un número a cada una
>>> numero1=int(2)
>>> numero2=float(2.5)
>>> print (numero1)
2
>>> print (numero2)
2.5

Para saber de qué tipo es una determinada variable, basta con preguntarle a Python type(variable).

Texto

Las variables que almacenan texto se denominan strings (str). Tienen que estar entre comillas sencillas(‘) o dobles («), o si el texto ocupa varias líneas, entre triples comillas dobles («»») .

>>> # Definimos dos variables llamadas texto y
>>> # texto2, y asociaremos un texto a cada una
>>> texto="Esto es un texto"
>>> texto2='Esto es otro texto'
>>> print (texto)
Esto es un texto
>>> print (texto2)
Esto es otro texto

>>> # Definimos una nueva variable texto3 que
>>> # incluye un texto multilinea.
>>> texto3="""Hola
... caracola"""
>>> print (texto3)
Hola
caracola

Al igual que sucedía con los números, Python supone que lo que introducimos es un texto al estar entre comillas, aunque siempre podemos forzarle a interpretarlo como texto usando el comando str.

>>> texto3=str(54)
>>> print(texto3)
54

Para unir dos textos, basta con usar el operador +.

>>> print("Hola"+" Caracola")
Hola Caracola

Print y variables

Como hemos visto, el comando print es de gran utilidad para que el programa pueda comunicarse con nosotros. Este comando muestra el texto que pongamos, o incluso el valor que hay dentro de una variable. En el caso de que juntemos texto y números, debemos tomar la precaución de convertir los números en texto, ya que si no, Python no sabe cómo se hace la suma de un texto y un número.

texto="Esto es un texto"
numero=15

# El siguiente comando devuelve un error
print(texto+" "+numero)

# Convirtiendo el número en texto, solucionamos el problema.
print(texto+" "+str(numero))
Prueba

Si te ha gustado compártelo:

  • Haz clic para compartir en Facebook (Se abre en una ventana nueva)
  • Haz clic para compartir en Twitter (Se abre en una ventana nueva)

Comentarios

  1. jokkin dice

    8 septiembre, 2016 a las 10:32 am

    me gustaría programar un juego de cartas en python.lo voy a intentar.Poco a poco.

    Responder
    • alumno dice

      5 diciembre, 2017 a las 11:39 am

      lo has conseguido?¿

      Responder
      • Laz dice

        11 enero, 2018 a las 9:19 am

        Yo quiero hacer un buscador de nombres

        Responder
    • kevin dice

      26 mayo, 2020 a las 9:56 pm

      lo lograste?

      Responder
      • Nicolas dice

        10 julio, 2020 a las 6:42 am

        Yo logré hacer el juego de cartas llamado 99 y el juego de estrategia astucia naval… Hace un par de meses que empecé a aprender

        Responder
  2. Elrabos dice

    4 mayo, 2018 a las 11:32 am

    Pues yo estoy realizando una aplicación que se conecta remotamente a un RouterOS con software mikrotik y lo administro desde mi aplicación con GUI echa en python.

    Responder
  3. Javier dice

    11 septiembre, 2018 a las 2:13 am

    Buenas! Como hago para impedir que me ingrese un numero en una variable de texto?
    Ya probé poniendo str al momento de ingreso de datos pero me acepta numeros igualmente.

    Responder
    • jaime dice

      11 septiembre, 2018 a las 2:06 pm

      Hola Javier,
      python tiene muchas funciones para verificar el tipo de una variable. En tu caso puedes usar la función str.isalpha().

      Responder
  4. Jorge dice

    30 octubre, 2018 a las 9:03 am

    Muy claro

    Responder
  5. Marcel Herrera dice

    3 enero, 2019 a las 5:41 am

    Deberias de pedir donaciones para volver esta página más grande

    Responder
  6. Anderson Says dice

    15 enero, 2019 a las 11:41 pm

    Buenas tardes amigo como puedo realizar interfaces gráficas? Porque necesito conectar sensores laser para que pueda reflejarse diferentes valores en los gráficos por fa ayudame con esta consulta.

    Responder
    • jaime dice

      16 enero, 2019 a las 6:28 am

      Hola Anderson,
      python dispone de diferentes bibliotecas para realizar interfaces gráficas, aunque no son su fuerte. Te pongo algunas de las más populares:
      – Tkinter: Es la que viene de serie
      – PyQt
      – PyGObject

      Si sólo quieres dibujar gráficos, puedes usar directamente matplotlib (se integra muy bien con jupyter notebook), seaborn o incluso bokeh.

      Responder
  7. Marta dice

    23 mayo, 2019 a las 5:11 pm

    Hola!
    Tengo que crear esto para la universidad y estoy algo perdida. Podría alguien ayudarme?

    Estaria remunerado, gracias

    Trabajo 2: Modelización paramétrica con Python
    Se quiere fabricar una placa rectangular de acero que está sometida a un desplazamiento unitario en un extremo, estando empotrado en el opuesto, con lados B, L. Dicha placa contiene diferentes taladros y para ello se quiere identificar la posición óptima de los mismos. La localización de los taladros son:
    1. En el centro de la placa, se tiene un taladro de radio B/5
    2. En la línea x = 3B/4, se tiene una fila con 3 taladros de radio B/10 con una
    separación de B/10 con respecto a los extremos.
    Para este problema, se pide:
    1. Generar un script de Python que permita la modelización de dicha placa.
    2. Identificar las posiciones más críticas.
    3. Analizar los resultados de tensiones normales y tangenciales.
    .
    Fecha de entrega: 15/06/2019

    Responder
    • jaime dice

      24 mayo, 2019 a las 7:18 am

      Hola Marta,
      creo que el problema está más relacionado con la resistencia de materiales que con python en sí.

      Responder
      • Marta dice

        9 junio, 2019 a las 10:40 am

        buenas, podría ayudarme en como crear el script python? Lo demás sabría hacerlo yo. Es solo que nose como crear los agujeros en la placa a partir de python

        Responder
        • jaime dice

          12 junio, 2019 a las 8:46 pm

          Hola Marta,
          evidentemente python no hace agujeros, creo que falta información para poder resolver el problema.

          Responder
    • Patricia dice

      21 junio, 2019 a las 3:14 am

      Quiero crear una plataforma para enseñar programacion en scrath y python para niños. Me puedes orientar

      Responder
      • jaime dice

        23 junio, 2019 a las 7:23 pm

        Hola Marta,
        quizá lo más sencillo es que empieces con una instalación básica de WordPress.

        Responder
  8. Gabriel dice

    17 septiembre, 2019 a las 1:20 pm

    Me gustaria obtener una lista de los tipos de variables que tiene python. Ej: str;int etc.
    Donde la obtengo?

    Responder
    • jaime dice

      17 septiembre, 2019 a las 4:43 pm

      Hola Gabriel,
      pues hay bastante tipos. Aunque en inglés, puedes encontrarla aquí.

      Responder
  9. Itsas dice

    22 noviembre, 2019 a las 11:43 am

    Hola, tengo un problema. Me gustaría saber si es posible insertar en un string la información guardada en una variable, es decir:

    a=’amigos’
    string=’ Hola (a)’
    string
    siendo la respuesta:
    Hola amigos

    Responder
    • jaime dice

      22 noviembre, 2019 a las 5:35 pm

      Hola Itsas,
      Claro que es posible. Lo explicamos en nuestro artículo sobre variables en la parte de texto.

      Se hace con el operador +.

      Sí la variable no es un texto (por ejemplo si es un número). Tienes que poner str(variable) para que no te de error.

      Responder
  10. Nadia dice

    7 marzo, 2020 a las 11:51 am

    Hola..
    necesito realizar dos operaciones en cadenas por asi decirlo

    a+b=c
    y que ese c me lo reconozca como float para poder sumarlo de nuevo
    c+d=e

    el tema es que no me lo reconoce me aparece este error
    correrformula2=float(densidadroca.get())*float(correralgortimo1.get())
    ValueError: could not convert string to float: ‘

    correralgortimo=StringVar()
    def correrformula():
    correrformula=float(alturabanco.get())-float(taco.get())+float(pasadura.get())
    print(«{:.2f}».format(correrformula))
    return correralgortimo.set(correrformula)

    correralgortimo1=StringVar()
    def correrformula1():
    correrformula1=float(alturabanco.get())*float(burden.get())*float(espaciamiento.get())
    print(«{:.2f}».format(correrformula1))
    return correralgortimo1.set(correrformula1)

    botonEnvio=Button(raiz, text=»Calcular Parámetros 1″, command= lambda: [(correrformula()),(correrformula1())])
    botonEnvio.config(padx=3, pady=3, bg=»white», font=(«Book Antiqua», 11), fg=»black»)
    botonEnvio.pack(side=LEFT)

    correralgortimo2=StringVar()
    def correrformula2():
    correrformula2=float(densidadroca.get())*float(correralgortimo1.get())
    print(«{:.2f}».format(correrformula2))
    return correralgortimo2.set(correrformula2)

    botonEnvio=Button (raiz, text=»Calcular Parámetros 2″, command=correrformula2)
    botonEnvio.config(padx=3, pady=3, bg=»white», font=(«Book Antiqua», 11), fg=»black»)
    botonEnvio.pack(side=RIGHT)

    #————–Parámetros Calculados

    alttotalcolexplo=Entry (miFrame, textvariable=correralgortimo)
    alttotalcolexplo.grid(row=1, column=8)
    alttotalcolexploLabel=Label(miFrame, text=»Altura tot. Col. expl. (m):»)
    alttotalcolexploLabel.grid(row=1, column=7, sticky=»e», padx=10, pady=5)
    alttotalcolexploLabel.config(font=(«Book Antiqua», 10))

    volpozoremovido=Entry(miFrame, textvariable=correralgortimo1)
    volpozoremovido.grid(row=2, column=8)
    volpozoremovidoLabel=Label(miFrame, text=»Vol/Pozo removido (m3):»)
    volpozoremovidoLabel.grid(row=2, column=7, sticky=»e», padx=10, pady=5)
    volpozoremovidoLabel.config(font=(«Book Antiqua», 10))

    tonpozoremovido=Entry(miFrame, textvariable=correralgortimo2)
    tonpozoremovido.grid(row=3, column=8)
    tonpozoremovidoLabel=Label(miFrame, text=»Ton/Pozo removido (Ton):»)
    tonpozoremovidoLabel.grid(row=3, column=7, sticky=»e», padx=10, pady=5)
    tonpozoremovidoLabel.config(font=(«Book Antiqua», 10))

    Responder
    • jaime dice

      7 marzo, 2020 a las 4:38 pm

      Hola Nadia,
      el problema lo tienes porque al menos uno de los dos campos de tkinter (densidadroca o algoritmo1) te devuelve algo que no es posible convertir a float (aparentemente es un apóstrofe).

      Revisa el valor devuelto y ten en cuenta que puede que tengas configurado float para que espere un punto (.) en vez de una coma (,).

      Responder
  11. Andrés dice

    15 abril, 2020 a las 3:39 pm

    Hola, es que estoy tratando de pasar el nombre de un parámetro por un string, es decir

    var1 = 2
    var2 = 3

    for cada_num in range(1,3):
    print(funcion(‘var’ + str(cada_num))

    Pero no sé si se pueda pasar de un string «var1» a la variable var 1

    Cualquier recomendación es ayuda

    Gracias!!

    Responder
    • jaime dice

      15 abril, 2020 a las 4:51 pm

      Hola Andrés,
      puedes hacerlo así:
      var1 = 2
      var2 = 3
      for cada_num in range(1,3):
      print(globals()['var' + str(cada_num)])

      Aunque NO es recomendable.

      Sería mejor usar un diccionario:
      variables={"var1": 2, "var2": 3}
      for cada_num in range(1,3):
      print(variables['var' + str(cada_num)])

      Responder
  12. Adel dice

    24 abril, 2020 a las 5:18 pm

    Hola, una consulta alguien sabe como puedo agregar una palabra en el primer programa para que luego esa misma palabra se repita en el segundo programa? creo que debo usar una misma variable en varios for distintos, pero no entiendo como

    #programa1

    palabra_frase = input(«ingresa una frase o palabra: «)

    letra= input(«ingresa una letra: «)

    cantidad = 0

    for i in palabra_frase:

    if i == letra:

    cantidad += 1

    print(«la letra», letra, «aparece», cantidad, «veces»)

    #programa2

    palabra_frase = input(«Introduce una palabra: «)

    for i in range(len(palabra_frase)-1, -1, -1):

    print(palabra_frase[i])

    Responder
    • jaime dice

      24 abril, 2020 a las 5:54 pm

      Hola Adel,
      no entiendo muy bien la pregunta, pero si tienes que usar una variable en más de un programa tienes que grabarla en algún sitio (archivo, base de datos, etc.) porque si no el segundo programa no podrá utilizarla.

      Responder
      • Adel dice

        24 abril, 2020 a las 6:16 pm

        Gracias, y como podría guardar esa palabra?
        Me piden esto exactamente «escribir un programa que pida al usuario una frase/palabra y una letra, y muestre por pantalla el número de veces que aparece la letra en la frase y Para la frase/palabra solicitada en a), escriba un programa que muestre en pantalla una a una las letras de la frase/palabra ingresada comenzando por la última letra»

        Responder
        • jaime dice

          24 abril, 2020 a las 8:28 pm

          Como te comentaba, lo puedes guardar en un archivo, pero hay multitud de formatos: csv, txt, json, sqlite, pickle, etc.
          Si estás empezando con python y no te han pedido un formato específico, quizá te estén pidiendo que amplíes el programa para que después de mostrar el número de veces que aparece la letra en la frase, muestres la palabra letra a letra.

          Responder
  13. Noel Tejeda dice

    26 mayo, 2020 a las 12:12 am

    Excelente página de pana te felicito, me gustó mucho ese menú oscuro y el logo de python como lo colocaste. he aprendido detalles que en otros cursos no lo han dicho.

    Responder
    • jaime dice

      26 mayo, 2020 a las 9:58 pm

      Me alegro de que te haya gustado Noel

      Responder
  14. ADRIAN dice

    17 julio, 2020 a las 12:25 am

    NO LE ENCUENTRO LA MANERA DE RESOLVERLO
    En este reto te proponemos programar un código que solicite al usuario que introduzca un número, lo asigne a una variable llamada Dato y lo imprima por la consola. A continuación, deberás solicitar al usuario que introduzca una palabra, lo asigne a la misma variable Dato y lo imprima por la consola. De esta forma comprobarás que la misma variable Dato puede contener un número o un texto.

    Responder
    • jaime dice

      17 julio, 2020 a las 11:03 am

      Hola Adrián,
      creo que es bastante sencillo. ¿Dónde exactamente tienes el problema?

      Responder
      • Federico dice

        1 septiembre, 2020 a las 5:07 pm

        En mi caso, no estaría entendiendo la consigna. ¿Hay que escribir una función?

        Responder
        • jaime dice

          3 septiembre, 2020 a las 11:29 am

          Hola Federico,
          ¿qué entiendes por consigna? ¿lo que introduce el usuario?

          No es necesario escribir una función.

          Responder
          • Federico dice

            3 septiembre, 2020 a las 12:16 pm

            Hola Jaime, gracias por su respuesta. Claro, me confunde la parte de «solicite al usuario», pues yo había pensado en algo así:

            Dato = int(8)
            print(Dato)

            Dato=»palabra»
            print(Dato)

            Pero, no sé si es correcto.

          • jaime dice

            3 septiembre, 2020 a las 12:30 pm

            Hola Federico,
            para solicitar datos al usuario se usa la función input
            ej. Dato = input(«Introduce un dato: «)

          • Federico dice

            3 septiembre, 2020 a las 10:29 pm

            Hola Jaime, gracias por su respuesta.
            Entiendo que lo que pide la consigna solo es esto, entonces:

            Dato=input(«Introduzca un número»)
            print(Dato)

            Dato=input(«Introduzca una palabra»)
            print(Dato)

          • jaime dice

            7 septiembre, 2020 a las 8:01 pm

            Hola Federico,
            yo también entiendo que eso es lo que piden en el ejercicio. Al ser python un lenguaje de tipos dinámicos, no es necesario definir qué puede contener una variable con antelación, al contrario de como sucede en otros lenguajes.

  15. Freilyn Eliezer dice

    22 noviembre, 2020 a las 1:21 am

    Hola, Me.gustaría saber como se declaran las variables en python

    Responder
    • jaime dice

      22 noviembre, 2020 a las 10:11 pm

      Hola Freilyn,
      no es necesario declararlas de manera explícita. Con asignarles un valor es suficiente.

      Responder
  16. Scarleth dice

    23 noviembre, 2020 a las 2:11 pm

    Hola, me gustaría saber como a una palabra se le puede asignar un valor total a raíz de una base de datos, donde cada letra tiene su correspondiente valor numérico.

    Responder
    • jaime dice

      23 noviembre, 2020 a las 3:07 pm

      Hola Scarleth,
      creo que es un ejercicio y lo suyo es que intentes resolverlo pensándolo por tus propios medios.

      Responder
  17. Luque dice

    14 diciembre, 2020 a las 8:18 pm

    Hola buenas tardes:
    Me podrías ayudar con algo sencillo?
    Necesito el código en python para que me cree 10 carpetas en windows que se llamen:
    Tema 1
    Tema 2
    Tema 3
    …
    Tema 10

    Muchas gracias de antemano.
    Luque

    Responder
    • jaime dice

      13 enero, 2021 a las 12:29 pm

      Hola Luque,
      puedes usar la función mkdir que está en la biblioteca os.

      Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Tabla de contenidos

  • Curso básico
    • Instalar Python
    • 1 Comentarios
    • 2 Variables
    • 3 Listas
    • 4 Condicionales
    • 5 Bucles
    • 6 Módulos
Para darte un servicio más personalizado, esta web utiliza cookies propias y de terceros. Si sigues navegando, entendemos que aceptas su uso según nuestra política de cookies. Aceptar Leer más
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR