Muitos computadores vêm com Python pré-instalado. Para ver se sua máquina tem, vá para seu Terminal (Mac/Linux) ou Prompt de Comando (Windows), e simplesmente digite “python”.
Se você não vir uma tela uma vez que esta, você pode minguar o Python manualmente (Windows/ Mac). Alternativamente, pode-se instalar Anacondaum popular sistema de pacotes Python para IA e ciência de dados. Se você tiver problemas de instalação, peça ajuda ao seu assistente de IA predilecto!
Com o Python em realização, agora podemos principiar a grafar qualquer código. Recomendo executar os exemplos no seu computador à medida que avançamos. Você também pode minguar todo o código de exemplo do Repositório GitHub.
Cordas e Números
UM tipo de dados (ou simplesmente “tipo”) é uma maneira de qualificar dados para que possam ser processados de forma adequada e eficiente em um computador.
Os tipos são definidos por um verosímil conjunto de valores e operações. Por exemplo, cordas são sequências de caracteres arbitrárias (ou seja, texto) que pode ser manipulado de maneiras específicas. Tente as seguintes strings em sua instância Python de traço de comando.
"this is a string"
>> 'this is a string'
'so is this:-1*!@&04"(*&^}":>?'
>> 'so is this:-1*!@&04"(*&^}":>?'
"""and
this is
too!!11!"""
>> 'andn this isn too!!11!'
"we can even " + "add strings together"
>> 'we can even add strings together'
Embora as strings possam ser adicionadas juntas (ou seja, concatenadas), elas não podem ser adicionadas tipos de dados numéricos uma vez que int (ou seja, inteiros) ou float (ou seja, números com decimais). Se tentarmos isso em Python, receberemos uma mensagem de erro porque as operações são definidas somente para tipos compatíveis.
# we can't add strings to other data types (BTW this is how you write comments in Python)
"I am " + 29
>> TypeError: can only concatenate str (not "int") to str
# so we have to write 29 as a string
"I am " + "29"
>> 'I am 29'
Listas e Dicionários
Além dos tipos básicos de strings, ints e floats, o Python tem tipos para estruturar coleções maiores de dados.
Um desses tipos é um listaum coleção ordenada de valores. Podemos ter listas de strings, números, strings + números, ou mesmo listas de listas.
# a list of strings
["a", "b", "c"]# a list of ints
[1, 2, 3]
# list with a string, int, and float
["a", 2, 3.14]
# a list of lists
[["a", "b"], [1, 2], [1.0, 2.0]]
Outro tipo de oferecido principal é um léxicoque consiste em sequências de pares chave-valor onde chaves são strings e valores podem ser qualquer tipo de oferecido. Esta é uma ótima maneira de simbolizar dados com múltiplos atributos.
# a dictionary
{"Name":"Shaw"}# a dictionary with multiple key-value pairs
{"Name":"Shaw", "Age":29, "Interests":["AI", "Music", "Bread"]}
# a list of dictionaries
[{"Name":"Shaw", "Age":29, "Interests":["AI", "Music", "Bread"]},
{"Name":"Ify", "Age":27, "Interests":["Marketing", "YouTube", "Shopping"]}]
# a nested dictionary
{"User":{"Name":"Shaw", "Age":29, "Interests":["AI", "Music", "Bread"]},
"Last_login":"2024-09-06",
"Membership_Tier":"Free"}
Até agora, vimos alguns tipos de dados e operações básicas do Python. No entanto, ainda estamos perdendo um recurso principal: variáveis.
Variáveis fornecer uma representação abstrata de uma instância de tipo de dados subjacente. Por exemplo, eu poderia gerar uma variável chamada user_name, que representa uma string contendo meu nome, “Shaw”. Isso nos permite grafar programas flexíveis não limitados a valores específicos.
# creating a variable and printing it
user_name = "Shaw"
print(user_name)#>> Shaw
Podemos fazer a mesma coisa com outros tipos de dados, por exemplo, ints e listas.
# defining more variables and printing them as a formatted string.
user_age = 29
user_interests = ["AI", "Music", "Bread"]print(f"{user_name} is {user_age} years old. His interests include {user_interests}.")
#>> Shaw is 29 years old. His interests include ['AI', 'Music', 'Bread'].
Agora que nossos trechos de código de exemplo estão ficando maiores, vamos ver uma vez que gerar nosso primeiro script. É logo que nós grafar e executar programas mais sofisticados a partir da traço de comando.
Sua visita nos ajuda a continuar oferecendo o melhor para você! hs nm nn no hv np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe gn bk">Para fazer isso, crie uma novidade pasta no seu computador. Vou invocar a minha de python-início rápido. Se você tem um predilecto IDE (por exemplo, o Envolvente de Desenvolvimento Integrado)use isso para transfixar esta novidade pasta e gerar um novo registro Python, por exemplo, my-script.py. Lá, podemos grafar o programa cerimonial “Hello, world”.
# ceremonial first program
print("Hello, world!")
Se você não tem um IDE (não recomendado), você pode usar um editor de texto essencial (por exemplo, o Text Edit da Apple, o Notepad do Windows). Nesses casos, você pode abra o editor de texto e salve um novo registro de texto usando a extensão .py em vez de .txt. Reparo: se você usar o TextEditor no Mac, talvez seja necessário colocar o aplicativo no modo de texto simples em Formatar > Tornar texto simples.
Podemos portanto executar esse script usando o Terminal (Mac/Linux) ou o Prompt de Comando (Windows), navegando até a pasta com nosso novo registro Python e executando o seguinte comando.
python my-script.py
Parabéns! Você executou seu primeiro script Python. Sinta-se à vontade para expanda oriente programa copiando e colando os próximos exemplos de código e executando novamente o script para ver seus resultados.
Duas funcionalidades fundamentais do Python (ou de qualquer outra linguagem de programação) são loops e condições.
Laços nos permita executar um determinado pedaço de código várias vezes. O mais popular é o para laçoque executa o mesmo código enquanto itera sobre uma variável.
# a simple for loop iterating over a sequence of numbers
for i in range(5):
print(i) # print ith element# for loop iterating over a list
user_interests = ["AI", "Music", "Bread"]
for interest in user_interests:
print(interest) # print each item in list
# for loop iterating over items in a dictionary
user_dict = {"Name":"Shaw", "Age":29, "Interests":["AI", "Music", "Bread"]}
for key in user_dict.keys():
print(key, "=", user_dict[key]) # print each key and corresponding value
A outra função principal é condiçõesuma vez que instruções if-else, que nos permite programar lógica. Por exemplo, podemos querer verificar se o usuário é adulto ou calcular sua sabedoria.
# check if user is 18 or older
if user_dict["Age"] >= 18:
print("User is an adult")# check if user is 1000 or older, if not print they have much to learn
if user_dict["Age"] >= 1000:
print("User is wise")
else:
print("User has much to learn")
É geral use condicionais dentro de loops for para infligir diferentes operações com base em condições específicas, uma vez que relatar o número de usuários interessados em pão.
# count the number of users interested in bread
user_list = [{"Name":"Shaw", "Age":29, "Interests":["AI", "Music", "Bread"]},
{"Name":"Ify", "Age":27, "Interests":["Marketing", "YouTube", "Shopping"]}]
count = 0 # intialize countfor user in user_list:
if "Bread" in user["Interests"]:
count = count + 1 # update count
print(count, "user(s) interested in Bread")
Funções são operações que podemos realizar em tipos de dados específicos.
Já vimos uma função básica imprimir()que é definido para qualquer tipo de oferecido. No entanto, há alguns outros úteis que vale a pena saber.
# print(), a function we've used several times already
for key in user_dict.keys():
print(key, ":", user_dict[key])# type(), getting the data type of a variable
for key in user_dict.keys():
print(key, ":", type(user_dict[key]))
# len(), getting the length of a variable
for key in user_dict.keys():
print(key, ":", len(user_dict[key]))
# TypeError: object of type 'int' has no len()
Vemos que, ao contrário imprimir() e tipo(), comprimento() não é definido para todos os tipos de dados, portanto ele gera um erro quando aplicado a um int. Existem vários outros funções específicas do tipo assim.
# string methods
# --------------
# make string all lowercase
print(user_dict["Name"].lower())# make string all uppercase
print(user_dict["Name"].upper())
# split string into list based on a specific character sequence
print(user_dict["Name"].split("ha"))
# replace a character sequence with another
print(user_dict["Name"].replace("w", "whin"))
# list methods
# ------------
# add an element to the end of a list
user_dict["Interests"].append("Entrepreneurship")
print(user_dict["Interests"])# remove a specific element from a list
user_dict["Interests"].pop(0)
print(user_dict["Interests"])
# insert an element into a specific place in a list
user_dict["Interests"].insert(1, "AI")
print(user_dict["Interests"])
# dict methods
# ------------
# accessing dict keys
print(user_dict.keys())# accessing dict values
print(user_dict.values())
# accessing dict items
print(user_dict.items())
# removing a key
user_dict.pop("Name")
print(user_dict.items())
# adding a key
user_dict["Name"] = "Shaw"
print(user_dict.items())
Embora as funções principais do Python sejam úteis, o verdadeiro poder vem da geração funções definidas pelo usuário para executar operações personalizadas. Ou por outra, funções personalizadas nos permitem grafar código muito mais limpo. Por exemplo, cá estão alguns dos trechos de código anteriores reempacotados uma vez que funções definidas pelo usuário.
# define a custom function
def user_description(user_dict):
"""
Function to return a sentence (string) describing input user
"""
return f'{user_dict["Name"]} is {user_dict["Age"]} years old and is interested in {user_dict["Interests"][0]}.'# print user description
description = user_description(user_dict)
print(description)
# print description for a new user!
new_user_dict = {"Name":"Ify", "Age":27, "Interests":["Marketing", "YouTube", "Shopping"]}
print(user_description(new_user_dict))
Sua visita nos ajuda a continuar oferecendo o melhor para você! rj l rk rl"># define another custom function
def interested_user_count(user_list, topic):
"""
Function to count number of users interested in an arbitrary topic
"""
count = 0for user in user_list:
if topic in user["Interests"]:
count = count + 1
return count
# define user list and topic
user_list = [user_dict, new_user_dict]
topic = "Shopping"
# compute interested user count and print it
count = interested_user_count(user_list, topic)
print(f"{count} user(s) interested in {topic}")
Embora pudéssemos implementar um programa facultativo usando o núcleo do Python, isso pode ser incrivelmente demorado para alguns casos de uso. Um dos principais benefícios do Python é sua comunidade vibrante de desenvolvedores e um ecossistema robusto de pacotes de software. Quase tudo que você queira implementar com o Python essencial (provavelmente) já existe uma vez que uma livraria de código franco.
Podemos instalar esses pacotes usando Gerenciador de pacotes nativo do Python, pip. Para instalar novos pacotes, executamos comandos pip na traço de comando. Cá está uma vez que podemos instalar entorpecido, uma livraria principal de ciência de dados que implementa objetos e operações matemáticas básicas.
pip install numpy
Depois de instalar o numpy, podemos importá-lo para um novo script Python e usar alguns de seus tipos de dados e funções.
import numpy as np# create a "vector"
v = np.array([1, 3, 6])
print(v)
# multiply a "vector"
print(2*v)
# create a matrix
X = np.array([v, 2*v, v/2])
print(X)
# matrix multiplication
print(X*v)
O comando pip anterior adicionou numpy ao nosso envolvente Python base. Uma vez que selecção, é uma prática recomendada gerar o chamado ambientes virtuais. Estes são coleções de bibliotecas Python que podem ser facilmente trocadas para diferentes projetos.
Veja uma vez que gerar um novo envolvente virtual chamado meu-env.
python -m venv my-env
Logo, podemos ativá-lo.
# mac/linux
source my-env/bin/activate# windows
.my-envScriptsactivate.bat
Por termo, podemos instalar novas bibliotecas, uma vez que numpy, usando pip.
pip install pip
Nota: Se você estiver usando o Anaconda, confira isto folha de dicas útil para gerar um novo envolvente conda.
Várias outras bibliotecas são comumente usadas em IA e ciência de dados. Cá está um visão universal não abrangente de alguns úteis para a construção de projetos de IA.
Agora que fomos expostos aos fundamentos do Python, vamos ver uma vez que podemos usá-lo para implementar um projeto de IA simples. Cá, usarei a API OpenAI para gerar um resumidor de artigos de pesquisa e extrator de palavras-chave.
Uma vez que todos os outros trechos neste guia, o código de exemplo está disponível em Repositório GitHub.
Tags:
Crédito: Natividade Original