Soy nuevo en python

Hola buenas acabo de empezar con python, anteriormente estuve con html, css, javascript y algo de php, y de momento python me esta pareciendo muy sencillo su estructura y la forma de plasmarlo.
Pero tengo una duda tonta que no se muy bien en que momento tengo que indicar que un dato es un str o int o float.
Repito soy nuevo, gracias

No entiendo muy bien tu pregunta, pero si lo que no sabes es indicarlo al usuario para que te entre un str, un int o un float, yo los convierto cuando los estoy poniendo en la misma variable.
Ejemplo:
nombre = input(“Entre el nombre”) Por el input siempre te va a entrar cadenas de textos.

numero_entero = int(input(“Entre el numero”)) Aqui te va a entrar una cadena pero lo estas convirtiendo en entero

numero_float = float(input(“Entre el numero flotante”)) Aqui pasa lo mismo, te entra una cadena pero le estas diciendo que lo convierta en float.

No se si esto te haya sido de utilidad.

Hola Adannn

Bienvenido, como mencionas que tienes experiencia con PHP te recomiendo el libro: From PHP to Python de Yann Rabiller. Es bastante específico para cuando vienes de PHP y quieres pasar a Python.

Respecto a tu duda sobre cuándo indicar los tipos de datos como str, int o float, algunos puntos clave:

  1. Tipado Dinámico en Python: Python es un lenguaje de programación de tipado dinámico. Esto significa que no necesitas declarar explícitamente el tipo de una variable cuando la creas. Python interpreta el tipo de dato basado en el valor que se le asigna a la variable. Por ejemplo:
x = 10       # Python interpreta x como un entero (int)
y = "Hola"   # Python interpreta y como una cadena de texto (str)
z = 3.14     # Python interpreta z como un número de punto flotante (float)
  1. Hay momentos en los que necesitas convertir explícitamente un tipo de dato en otro. Python ofrece funciones como int(), str(), y float() para realizar estas conversiones. Por ejemplo:
numero = "5"
print(int(numero) + 10)  # Convierte el string "5" en el entero 5 y suma 10,
  1. Si estás escribiendo funciones, a veces puede ser útil verificar o convertir tipos para asegurarte de que los datos son manipulados adecuadamente.
def suma(a: int, b: int) -> int:
    return a + b

Espero que estos puntos te ayuden a cómo trabajar con tipos de datos en Python.

1 me gusta

Ah vale ya entiendo, si que eres concretamente esa mi duda, osea que hay que indicar por ejemplo un dato entero para que no lo interprete como un string o viceversa.
Vale muchisimas gracias y heencontrado una pagina para hacer ejercicios de python e ir practicando y es esta: Programación con Python | Aprende con Alf
si alguien sabe de alguna pagina mas para ir practicando que me lo haga saber por favor

Muy buena respuesta de @ellaquimica.

Pero esto no es correcto.

Si estás escribiendo funciones, a veces puede ser útil verificar o convertir tipos para asegurarte de que los datos son manipulados adecuadamente.

No verifica o convierte los tipos. Es solo una sugerencia.

Por ejemplo yo puedo llamar la function asi, sin ningun problema.

result = suma("a" + "b")
# result es: 'ab'
print(result)

Aunque si recomiendo que lo hagas como ella dice, por que la esta diciendo al usuario de la function que use int, tambien ayuda a la IDE a hacer autocompletion.

Si quieres que verifique lo de arriba puedes usar una tercera libreria:

https://mypy-lang.org/

O sino puedes verificar los argumentos con la function

type

or

isinstance

Por ejemplo:

if isinstance(a, int) and isinstance(b, int):
     return a + b
else:
     raise TypeError("Los inputs tienen que ser int")