CodeGym /Cursos /Python SELF PT /Suplementos Importantes

Suplementos Importantes

Python SELF PT
Nível 5 , Lição 6
Disponível

6.1 Variáveis — são referências

Em Python, as variáveis são referências para objetos, e não a própria variável. Isso significa que, quando você cria uma variável em Python, você está apenas criando uma referência a um objeto na memória.

Essa característica da linguagem tem importantes consequências para o trabalho com variáveis, especialmente ao passar objetos para funções ou ao atribuí-los a outras variáveis.

Quando você cria uma variável e atribui um valor a ela, o Python aloca um objeto na memória para esse valor e faz da variável uma referência para esse objeto. Se você atribuir uma variável a outra, a nova variável irá referenciar o mesmo objeto que a variável original. Isso significa que mudanças feitas através de uma variável se refletirão na outra, se o objeto for mutável.

Exemplo:


a = [1, 2, 3]
b = a
b.append(4)
print(a)  # Saída: [1, 2, 3, 4]

Nós adicionamos o número 4 na variável b, mas ele foi adicionado também na lista na variável a, pois na verdade ambas as variáveis — são apenas referências para o objeto lista [1, 2, 3].

6.2 Objetos imutáveis

Em Python, os objetos são divididos em mutáveis e imutáveis. Objetos mutáveis, como listas e dicionários, podem ser modificados após a criação.

Objetos imutáveis, como strings e números, não podem ser alterados após a criação. Quando você trabalha com objetos imutáveis, as mudanças resultam na criação de um novo objeto:

A atribuição nunca muda um objeto:


a = 5  # a armazena uma referência para o objeto 5
b = a  # b também armazena uma referência para o objeto 5
b = 3  # agora b armazena uma referência para o objeto 3
print(a)  # Saída: 5               

O objeto pode ser modificado chamando sua função:


a = [1, 2, 3]
b = a
b.append(4)
print(a)  # Saída: [1, 2, 3, 4]                              

Mas há objetos imutáveis que possuem funções. Essas funções não alteram o objeto original, mas retornam um novo, que contém o novo resultado:


name = "Alex"
print(name)  # Saída: Alex
name2 = name.lower() 
print(name2)  # Saída: alex               

Strings — são objetos imutáveis. E embora possuam métodos, esses métodos nunca alteram o objeto de string — em vez disso, eles sempre retornam uma nova string (novo objeto). O objeto antigo permanece o mesmo.

6.3 Trabalhando com o tipo None

Em Python, há um tipo especial de dados que representa a ausência de valor — None. Ele é usado para indicar variáveis vazias ou como valor de retorno de funções que não retornam nada. Entender None é importante para gerenciar o comportamento do programa, especialmente no contexto de operadores condicionais e manipulação de dados.

Fundamentos do uso de None

None é a única instância da classe NoneType. Ele é usado para indicar que uma variável não tem valor. Nas condições, None é avaliado como falso (False).


a = None
if a:
    print("a é verdadeiro")
else:
    print("a é None ou False")

Comparando com None

Verificar uma variável para None deve ser feito usando o operador is, e não ==. O operador is verifica identidade, não igualdade de valores.


a = None
if a is None:
    print("a é None")
else:
    print("a tem valor")

None em funções

None é frequentemente usado em funções que não devem explicitamente retornar um valor. Se uma função não retorna valor, ela retorna implicitamente None.


def func():
    print("Esta função retorna None")

result = func()
print(result)  # Saída: None

None e listas

None pode ser usado em listas, tuplas ou outras coleções para indicar a ausência de um elemento em uma posição específica.


my_list = [1, None, 3]
print(my_list)  # Saída: [1, None, 3]
1
Pesquisa/teste
Conversão de tipos, nível 5, lição 6
Indisponível
Conversão de tipos
Conversão de tipos
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION