Colunas calculadas no SharePoint | Uma visão geral
Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.
Na programação, você pode encontrar situações em que uma variável não possui um valor. Essas instâncias são comumente representadas por um valor especial conhecido como nulo. Muitas linguagens de programação, como C, Java, JavaScript e PHP, possuem valores nulos integrados, mas o Python adota uma abordagem ligeiramente diferente para representar variáveis nulas.
Em Python, o equivalente a null é None. É uma constante especial em Python que representa a ausência de um valor ou um valor nulo. É uma instância de seu próprio tipo de dados — o NoneType. Não é o mesmo que 0, False ou uma string vazia, pois é um tipo de dados próprio que não representa nenhum valor ou nenhum objeto.
Se você está aprendendo Python, é importante entender o conceito de None em Python. Ele fornece os meios para criar um código eficiente que lida com casos extremos. Ao explorar a programação Python, você encontrará vários cenários em que None prova ser essencial.
Neste artigo, exploraremos o que é um nulo, ou nenhum, em Python. Examinaremos exemplos e casos de uso para ajudá-lo a solidificar o conceito de valores nulos. Mas primeiro, vamos entender o conceito de valores None, ou Null, em Python.
Índice
O que é nulo em Python?
Para entender nulo em Python, você terá que entender os dois conceitos a seguir:
Diferença entre nenhum e nulo
nenhum tipo
1. Diferença entre nenhum e nulo
Nulo em muitas linguagens de programação é usado para denotar um ponteiro vazio ou um valor desconhecido. Você pode definir o valor nulo como 0 nesses idiomas.
No entanto, em Python, em vez de null, você usa a palavra-chave None para definir objetos e variáveis vazios. None serve para alguns dos mesmos propósitos que null em outras linguagens. Mas é uma entidade distinta e não definida como 0 ou qualquer outro valor.
2. NenhumTipo
Em Python, None é um tipo único de estrutura de dados, classificado em um tipo chamado NoneType. É um cidadão de primeira classe, o que significa que você pode atribuí-lo a variáveis. Você também pode passá-lo como um argumento e retornar como resultado.
Quando você atribui um valor de variável None, ele se torna um objeto NoneType. None não é equivalente a uma string vazia, o valor booleano False ou o valor numérico 0. Significa simplesmente variável nula ou nada.
Agora que você entende as terminologias relacionadas a nenhum, vamos ver como você pode usar o None para diferentes casos de uso!
Como usar nenhum em Python
Em Python, você pode usar None para vários casos de uso. Nesta seção, veremos 4 casos de uso importantes de None em Python.
Especificamente, veremos os seguintes casos de uso:
Atribuindo nenhum a variáveis
Usando None como parâmetro padrão
Verificando None com o operador de identidade
Manipulando valores ausentes
Vamos entrar nisso!
1. Atribuindo Nenhum a Variáveis
Você pode atribuir None a variáveis para indicar a ausência de um valor.
Por exemplo:
x = None
Nenhum aqui significa que o valor de x está ausente ou um valor válido ainda não foi decidido.
2. Usando nenhum como parâmetro padrão
Você também pode usar None como um valor de parâmetro padrão para definir funções. Isso é útil quando você deseja permitir argumentos opcionais para parâmetros padrão em suas funções.
O código a seguir mostra como usar None como um parâmetro padrão:
def greet(name=None):
if name is None:
print("Hello, World!")
else:
print(f"Hello, {name}!")
# Call the function without providing a name
greet()
# Call the function with a name
greet("Alice")
Quando você executa esse código, ele imprime “Hello, World!” quando você chama greet() sem nenhum argumento. Mas quando você chama o greet() com um argumento, como o greet(“Alice”), ele imprime “Olá, Alice!”. Isso permite que a função tenha argumentos opcionais.
3. Verificação de None com operador de identidade
Você pode usar o operador is identity para verificar se uma variável é None. Isso permite que você compare se duas variáveis se referem ao mesmo objeto.
Veja a seguir um exemplo para mostrar como usar o operador de identidade:
# Define a variable with no value
var1 = None
# Define a variable with a value
var2 = "Hello, World!"
# Check if var1 is None
if var1 is None:
print("var1 is None")
else:
print("var1 is not None")
# Check if var2 is None
if var2 is None:
print("var2 is None")
else:
print("var2 is not None")
Nesse código, var1 é None retornará True porque var1 recebeu o valor None. Por outro lado, var2 é None retornará False porque var2 tem um valor de string.
A saída para o script é fornecida abaixo:
4. Lidando com valores ausentes
Você também pode encontrar dados com valores ausentes. Você pode representar esses valores ausentes com None e tratá-los adequadamente.
O seguinte é um exemplo ao lidar com uma lista de números:
# Define a list of data with some missing values
data = [1, 2, 3, None, 5, None, 7, 8, None, 10]
def calculate_average(data):
# Filter out None values using list comprehension
valid_data = [value for value in data if value is not None]
# Calculate average if valid_data is not empty
average = sum(valid_data) / len(valid_data) if valid_data else None
return average
# Call the function and print the result
print(calculate_average(data))
Essa função calcula a soma de todos os valores diferentes de None na lista e a divide pela contagem de valores diferentes de None. Se todos os valores na lista forem Nenhum, a função retornará Nenhum.
A saída é dada abaixo:
Usando None e as diferentes técnicas mencionadas acima, você pode efetivamente lidar com valores ausentes em Python.
To learn more about handling missing values in Python, check the following video out:
Some More Use Cases of None in Python
Apart from the use cases discussed in the section above, there are some other use cases of None as well. These use cases are not frequently used ones but are good to know and are useful in some scenarios.
In this section, we’ll look go over the following 3 use cases of None in Python:
Using None in return statements
Using None as flags
Using None for custom objects
Let’s dive into it!
1. Using None as Return Statements
You can use None in return statements, particularly when a function completes its execution without finding a specific result.
For example, a function that searches for an element in a list can return None if the element is not found. The following code demonstrates using None as return value:
# Define a list
numbers = [10, 20, 30, 40, 50]
def find_in_list(lst, target):
for i, value in enumerate(lst):
if value == target:
return i
return None
# Search for a number in the list
print(find_in_list(numbers, 30))
print(find_in_list(numbers, 60))
In this code, the find_in_list function iterates over the input list lst. If it finds the target value, it returns the index of that value. If it doesn’t find the target value after checking the entire list, it returns None.
The output is given below:
2. Using None as Flags
You can also use None as a flag to indicate the state of a variable. For instance, you might use it to mark whether a value is uninitialized or to track a special condition in the program.
The following is an example of how you can use None as a flag:
def find_first_even_number(numbers):
# Initialize the first_even_number to None
first_even_number = None
# Iterate over the list of numbers
for number in numbers:
# If we find an even number and first_even_number is still None
if number % 2 == 0 and first_even_number is None:
first_even_number = number
break
return first_even_number
numbers = [1, 3, 5, 7, 8, 10]
# Call the function and print the result
print(find_first_even_number(numbers)) # Outputs: 8
In this code, None is used as a flag to indicate that we haven’t found an even number in the list yet.
If first_even_number is still None after the loop, this means that there were no even numbers in the list.
If first_even_number is not None, it contains the first even number from the list.
3. Using None for Custom Objects
You can use None for custom, user-defined objects, as well. When dealing with attributes, properties, or methods that return other objects, you might use None to signify the absence of a value or a relationship.
The following example demonstrates how you can use None for user-defined objects:
class Person:
def __init__(self, name):
self.name = name
self.best_friend = None
def set_best_friend(self, person):
self.best_friend = person
def get_best_friend_name(self):
if self.best_friend is not None:
return self.best_friend.name
else:
return None
# Create two Person objects
alice = Person('Alice')
bob = Person('Bob')
# Alice's best friend is Bob
alice.set_best_friend(bob)
print(alice.get_best_friend_name())
# Charlie doesn't have a best friend
charlie = Person('Charlie')
print(charlie.get_best_friend_name())
In this example, None is used as a default value for the best_friend attribute of a Person instance. The get_best_friend_name method returns the name of the best friend if there is one, and None if there isn’t.
The above code will output the following:
Special Functions and Techniques for Null Object
Agora discutiremos algumas funções e técnicas especiais que você pode usar relacionadas a NoneType e à manipulação de valores nulos. Abordaremos duas subseções principais:
A função de identificação
A Função Getattr
1. Função de Identificação
A função id() em Python é uma função interna que retorna a identidade de um objeto. Essa identidade é um inteiro único e constante atribuído a um objeto durante seu tempo de vida.
Isso permite distinguir entre objetos com diferentes endereços de memória. A função é especialmente útil ao trabalhar com objetos NoneType, pois pode ser usada para verificar a presença de None em variáveis ou expressões.
Veja a seguir um exemplo usando a função id() :
a = None
b = None
c = 42
print(id(a)) # Output: some unique integer representing None
print(id(b)) # Output: same integer as id(a)
print(id(c)) # Output: different integer from id(a) and id(b)
A saída deste código é dada abaixo:
Como None é um cidadão de primeira classe em Python, ele tem sua própria identidade exclusiva. Isso significa que você pode usar a função id() para comparar variáveis com None usando suas identidades:
if id(a) == id(None):
print("a is None")
A saída é dada abaixo:
2. Função Getattr
A função getattr() é outra função interna do Python que permite acessar os atributos de um objeto pelo nome.
Dado um objeto e uma string, getattr() retorna o valor do atributo nomeado ou o objeto None se o atributo não existir.
Isso pode ser útil para você ao lidar com valores nulos, especialmente nos casos em que você precisa acessar atributos que podem estar ausentes.
Veja a seguir um exemplo usando a função getattr() :
class ExampleClass:
def __init__(self, x, y):
self.x = x
self.y = y
example_obj = ExampleClass(3, 4)
# Access attribute using getattr
print(getattr(example_obj, "x")) # Output: 3
print(getattr(example_obj, "z", None)) # Output: None
No exemplo acima, usamos getattr() para acessar o atributo x e tentar acessar um atributo z inexistente.
Ao fornecer um valor padrão de None, evitamos um AttributeError e, em vez disso, recebemos o objeto None.
Como resultado, esta função permite acesso seguro a atributos mesmo na presença de objetos nulos ou atributos ausentes.
A saída deste código é dada abaixo:
Comparando nulo em outras linguagens de programação
No início deste artigo, fizemos uma pequena comparação entre Null em Python e Null em outras linguagens de programação.
Nesta seção, levaremos esse tópico adiante e compararemos Null em outras linguagens de programação populares com Null em Python. Isso ajudará você a entender melhor o conceito de None em Python se você tiver uma experiência de programação diferente.
Vamos entrar nisso!
1. Nulo em Java
Em Java, a palavra-chave “null” representa uma referência que não aponta para nenhum objeto ou valor. É usado para indicar a ausência de um valor e geralmente é usado como valor padrão para referências de objeto.
Por exemplo:
String myString = null; // Declare a String object with a null reference
O null do Java é diferente do None do Python. Null representa a falta de um objeto, enquanto None é um objeto real de NoneType.
2. Nulo em C
Na linguagem de programação C, nulo é representado por um ponteiro nulo, que indica um ponteiro não inicializado ou vazio. O ponteiro nulo geralmente é representado pelo valor inteiro 0.
O seguinte é um exemplo de uso de um ponteiro nulo em C:
int *myPointer = NULL; // Declare an integer pointer with a null reference
Nulo em C não está associado a um tipo de dados específico. Ele serve como um espaço reservado para ponteiros não inicializados ou vazios.
3. Nulo em PHP
No PHP, null representa uma variável sem valor ou sem referência. Como em outras linguagens, null é usado para denotar variáveis não inicializadas ou vazias.
O seguinte é um exemplo de Nulo em PHP:
$myVar = NULL; // Declare a variable with a null reference
O null do PHP não é um objeto de um tipo de dados específico, mas sim uma constante especial que representa a ausência de um valor.
Pensamentos finais
Em sua jornada como programador Python, aprender sobre os valores None é de grande importância. É um recurso exclusivo que serve como a maneira do Python dizer “nada aqui”.
É essencial para representar a ausência de um valor. Compreendendo e usando None corretamente, você pode criar funções mais flexíveis com argumentos opcionais e lidar efetivamente com os dados ausentes.
Além disso, os valores None permitem que suas funções se comuniquem claramente quando algo está ausente ou quando uma condição não foi atendida. Além disso, entender None é crucial ao lidar com bancos de dados, objetos definidos pelo usuário ou quando você precisa inicializar variáveis.
Este guia sobre valores None em Python demonstra alguns dos cenários importantes em que você deseja usar o objeto None em seu código.
Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.
Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates
Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.
Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.
Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.
Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.
Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.
O que é self em Python: exemplos do mundo real
Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.
Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.