O que é um ponteiro em Python?
O ponteiro no Python é denominado como uma variável apontando para o endereço de memória de outra variável. O ponteiro aponta para o endereço dessa variável da qual o endereço é fornecido. Em palavras simples, o ponteiro mantém um endereço de memória.
No exemplo abaixo, atribuímos “a” um valor inteiro 2 e o imprimimos. Da mesma forma, atribuímos o valor da string “b” e também o imprimimos. Abaixo, vimos os únicos tipos de cadeia e número inteiro; em python, existem mais tipos como lista, conjunto, tuplas, dicionário, etc. é um objeto
Sintaxe do ponteiro no Python
>>> variable name = value;
Exemplo 1
>> a = 2
>>> a
>> 2
Exemplo - 2
>>> b = “Bob”
>>> b
>>> Bob
Como criar ponteiros em Python?
Abaixo está um exemplo de criação de ponteiros com a função isinstance () para provar que é um tipo de objeto. Veremos todos os tipos de dados possíveis no Python com a função isinstance (). Dessa forma, você aprenderá como declarar todos os tipos de dados no Python também.
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))
Resultado:
Agora que sabemos que cada variável declarada é um objeto, cada função isinstance () retorna True, o que significa que é um objeto. Agora podemos dizer que tudo é um objeto em Python. Vamos aprender sobre objetos mutáveis de todos os objetos. Lembre-se de que lista, conjunto e dicionário são mutáveis. Resto não são objetos mutáveis. Objetos mutáveis podem ser alterados, enquanto objetos imutáveis não podem ser alterados.
Exemplo
Em objetos imutáveis como uma String, podemos fazer um anexo como mencionado abaixo
str = "Python Programming "
print(str)
print(id(str))
str += "Language"
print(str)
print(id(str))
e funciona, mas agora, se tentarmos acrescentar algo como
str = "Python Programming "
print(str)
str(5) = “S”
print(id(str))
str += "Language"
print(str)
print(id(str))
para a string emite um erro imutável; para modificar, precisamos usar a função append ().
Usos do ponteiro em Python
Ponteiros são usados em C e C ++ amplamente. Com os ponteiros, a alocação dinâmica de memória é possível. Os ponteiros podem ser declarados como variáveis que mantêm o endereço de memória de outra variável.
Operações aritméticas de ponteiros
Os ponteiros têm quatro operadores aritméticos.
- Operador de incremento: ++
- Operador de redução: -
- Operador de adição: +
- Operador de subtração: -
As operações aritméticas são realizadas com o uso de operadores aritméticos. Nos programas abaixo, usamos a função id () que retorna o endereço de memória do objeto.
Operador de incremento: incrementa o valor em 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))
Resultado:
Operador de decréscimo: diminui o valor em 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))
Resultado:
Operador de adição: executa adição de dois 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))
Resultado:
Operador de subtração: executa subtração de dois 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))
Resultado:
Vejamos agora um exemplo usando " is ", que retorna true se os objetos de ambos os objetos tiverem o mesmo endereço de memória
1. Exemplo
Código:
Neste exemplo, estamos declarando duas variáveis x e y, em que y é igual a x, que agora aponta para o mesmo endereço de memória que o de x.
x = 100
print("x =", x)
print("address of x", id(x))
y = x
print("y =", y)
print("address of y ", id(y))
Resultado:
2. Exemplo
Neste exemplo, estamos declarando duas variáveis x e y, onde y é igual a x, o que é verdadeiro, mas quando incrementamos o valor de y em um, a saída passa a ser falsa.
x = 100
y = x
print(y is x)
y = y + 1
print(y is x)
Resultado:
Nos dois exemplos acima, vimos isso.
Ponteiros para Ponteiros
1. Exemplo
def fun(a, b, c, d):
print(a, b, c, d)
x = (101, 102, 103, 104)
fun(*x)
Resultado:
2. Exemplo
def fun (a, b, c, d):
print(a, b, c, d)
y = ('a':'I', 'b':'like', 'c':'python', 'd':'programming')
fun(**y)
Resultado:
3. Exemplo
Colocando o Exemplo Um e o Exemplo Dois 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)
Resultado:
Conclusão
Espero que este artigo tenha sido bom o suficiente para fazer você entender melhor os tópicos. Além disso, o artigo é auto-explicativo para ser entendido como todos os elementos-chave foram explicados da melhor maneira possível.
Artigo recomendado
Este foi um guia para ponteiros em Python. Aqui discutimos o que são ponteiros em Python? diferentes tipos de ponteiros e operações aritméticas, juntamente com exemplos. Você também pode consultar nossos outros artigos sugeridos para saber mais -
- Operadores de comparação Python
- Operadores booleanos em Python
- Vantagens do Python
- Padrões de estrelas em Python
- Introdução aos ponteiros em C ++
- Visão geral dos ponteiros em C #
- Diferentes operações relacionadas a Tuplas
- Exemplos para implementar operadores de comparação no PowerShell