¿Qué es el puntero en Python?
El puntero en Python se denomina como una variable que apunta a la dirección de memoria de otra variable. El puntero apunta a la dirección de esta variable de la cual se proporciona la dirección. En palabras simples, el puntero tiene una dirección de memoria.
En el siguiente ejemplo, asignamos a "a" un valor entero 2 y lo imprimimos. Del mismo modo, asignamos un valor de cadena "b" y también lo imprimimos. A continuación, hemos visto los únicos tipos de cadenas y enteros, en Python hay más tipos como list, set, tuples, dictionary, etc. Veamos cada uno de estos individualmente y comprendamos con la función instancia () que devuelve TRUE si es un objeto
Sintaxis del puntero en Python
>>> variable name = value;
Ejemplo 1
>> a = 2
>>> a
>> 2
Ejemplo - 2
>>> b = “Bob”
>>> b
>>> Bob
¿Cómo crear punteros en Python?
A continuación se muestra un ejemplo de creación de punteros con la función isinstance () para demostrar que es un tipo de objeto. Veremos todos los tipos de datos posibles en Python con la función isinstance (), de esta manera también aprenderá a declarar todos los tipos de datos en Python.
Código:
// assigning an integer value
a = 2
print(a)
// checking if integer is an object or not
print(isinstance(a, object))
// assigning a string value
b = "Bob"
print(b)
// checking if string is an object or not
print(isinstance(b, object))
// assigning a list value
inputList = (1, 2, 3) print(inputList)
// checking if list is an object or not
print(isinstance(inputList, object))
//assigning a set value
inputSet = (10, 20, 30)
print(inputSet)
// checking if set is an object or not
print(isinstance(inputSet, object))
// assigning a tuple value
inputTuple = (100, 200, 300)
print(inputTuple)
//checking if tuple object or not
print(isinstance(inputTuple, object))
// assigning a dictionary value
inputDict = (
"0": 1922,
"1": "BMW",
"2": 100
)
print(inputDict)
//checking if dictionary is an object or not
print(isinstance(inputDict, object))
Salida:
Ahora que sabemos que cada variable declarada es un objeto, ya que cada función isinstance () devuelve True, lo que significa que es un objeto. Ahora podemos decir que todo es un objeto en Python. Aprendamos sobre los objetos mutables de todos los objetos. Tenga en cuenta que la lista, el conjunto y el diccionario son mutables. El descanso no son objetos mutables. Los objetos mutables se pueden cambiar mientras que los objetos inmutables no se pueden cambiar.
Ejemplo
En un objeto inmutable como una cadena, podemos hacer un anexo como se menciona a continuación
str = "Python Programming "
print(str)
print(id(str))
str += "Language"
print(str)
print(id(str))
y funciona, pero ahora si intentamos agregar algo más como
str = "Python Programming "
print(str)
str(5) = “S”
print(id(str))
str += "Language"
print(str)
print(id(str))
a la cadena arroja un error ya que es inmutable, para modificar tenemos que usar la función append ().
Usos del puntero en Python
Los punteros se usan ampliamente en C y C ++. Con los punteros es posible la asignación dinámica de memoria. Los punteros se pueden declarar como variables que contienen la dirección de memoria de otra variable.
Operaciones aritméticas de punteros
Los punteros tienen cuatro operadores aritméticos.
- Operador de incremento: ++
- Operador de decremento: -
- Operador adicional: +
- Operador de resta: -
Las operaciones aritméticas se realizan con el uso de operadores aritméticos. En los siguientes programas hemos utilizado la función id () que devuelve la dirección de memoria del objeto.
Operador de incremento: incrementa el valor en 1
Código:
#using the incrementing operator
x = 10
print("x = ", x, "\n")
print("Address of x", id(x))
x += 1
print("Now x = ", x, "\n")
print(x)
#using the id() function to get the memory address
print("Address of x", id(x))
Salida:
Operador decreciente: disminuye el valor en 1
#using the decrementing operator
x = 10
print("x = ", x, "\n")
print(id(x))
x -= 1
print("Now x = ", x, "\n")
print(x)
#using the id() function to get the memory address
print("Address of x", id(x))
Salida:
Operador de adición: realiza la adición de dos operandos
#using the addition operator
#using the addition operator
x = 10
y = 20
print("x = ", x, "\n")
print("y = ", y, "\n")
print("Address of x", id(x))
x = y + 3
print("x = y + 3 \n")
print("Now x = ", x, "\n")
# using the id() function to get the memory address
print("Address of x", id(x))
Salida:
Operador de resta: realiza la resta de dos operandos
Código:
#using the subtraction operator
x = 10
y = 5
print("x = ", x, "\n")
print("y = ", y, "\n")
print("Address of x", id(x))
x = y - 3
print("x = y - 3 \n")
print("Now x = ", x, "\n")
print("Address of x", id(x))
Salida:
Veamos ahora con un ejemplo usando " is " que devuelve verdadero si los objetos de ambos objetos tienen la misma dirección de memoria
1. Ejemplo
Código:
En este ejemplo, estamos declarando dos variables x e y, donde y es igual a x que ahora apunta a la misma dirección de memoria que la de x.
x = 100
print("x =", x)
print("address of x", id(x))
y = x
print("y =", y)
print("address of y ", id(y))
Salida:
2. Ejemplo
En este ejemplo, estamos declarando dos variables x e y, donde y es igual a x, lo cual es cierto, pero cuando incrementamos el valor de y en uno, la salida se convierte en falsa.
x = 100
y = x
print(y is x)
y = y + 1
print(y is x)
Salida:
En los dos ejemplos anteriores, hemos visto eso.
Punteros a punteros
1. Ejemplo
def fun(a, b, c, d):
print(a, b, c, d)
x = (101, 102, 103, 104)
fun(*x)
Salida:
2. Ejemplo
def fun (a, b, c, d):
print(a, b, c, d)
y = ('a':'I', 'b':'like', 'c':'python', 'd':'programming')
fun(**y)
Salida:
3. Ejemplo
Poniendo el ejemplo uno y el ejemplo dos juntos
def fun (a, b, c, d):
print(a)
print(b)
print(c)
print(d)
x = (100, 200, 300, 400)
fun(*x)
y = ('a':'I', 'b':'like', 'c':'python', 'd':'programming')
fun(**y)
Salida:
Conclusión
Espero que este artículo sea lo suficientemente bueno como para hacerte entender los temas de una mejor manera. Además, el artículo se explica por sí mismo, ya que todos los elementos clave se han explicado de la mejor manera posible.
Artículo recomendado
Esta ha sido una guía de Punteros en Python. Aquí discutimos qué son los punteros en Python? diferentes tipos de punteros y operaciones aritméticas junto con ejemplos. También puede consultar nuestros otros artículos sugeridos para obtener más información:
- Operadores de comparación de Python
- Operadores booleanos en Python
- Ventajas de Python
- Patrones de estrellas en Python
- Introducción a los punteros en C ++
- Descripción general de punteros en C #
- Diferentes operaciones relacionadas con tuplas
- Ejemplos para implementar operadores de comparación en PowerShell