RS

Reidner Santos26/09/2025 13:11
Compartilhe

Fundamentos de Python: Primeiros Passos, Boas Práticas e Impacto na Carreira

    📖 Introdução

    O Python não é apenas uma linguagem de programação; é a porta de entrada para um universo de oportunidades. Seja para automatizar tarefas simples, analisar dados complexos ou desenvolver aplicações robustas, sua sintaxe intuitiva e vasta comunidade o tornaram um pilar da tecnologia moderna.

    Neste guia, vamos explorar os fundamentos que fazem do Python uma ferramenta tão poderosa e entender como essa linguagem pode acelerar sua jornada no mundo da programação, desde os primeiros passos até as portas que ela abre para sua

    🔹 Características Fundamentais do Python

    Tipagem Dinâmica e Forte

    Python se destaca por sua tipagem dinâmica e forte. Isso significa que o Python é inteligente o suficiente para saber que 10 é um número e "oi" é um texto, sem que você precise declarar o tipo. No entanto, ele é rigoroso e não mistura tipos incompatíveis sem que você peça, evitando erros inesperados.

    Tipagem Dinâmica

    x = 10      # int
    
    x = "oi"    # agora string, sem erro
    

    Tipagem forte

    print("Número: " + 10) # ❌ erro, não converte int para str sozinho
    
    print("Número: " + str(10))  # ✅ precisa ser explícito
    

    Por que Python é Ideal para Iniciantes

    Essa característica de alta abstração é o que torna o Python uma excelente linguagem para começar. Ela permite que você foque na lógica de programação, e não em detalhes técnicos de baixo nível.

    💡 Dica Importante: Para se tornar um desenvolvedor completo, é crucial, mais tarde, explorar linguagens como C ou Java, que ensinam o que acontece "por trás dos panos" em relação à memória e tipagem explícita.

    ⚠️ Erros Comuns de Iniciantes em Python

    1.Esquecer os dois pontos (:) em estruturas de controle

    if x > 10   # ❌ Erro: faltou ":"
    
      print("maior que 10")
    if x > 10:  # ✅ Correto
    
      print("maior que 10")
    

    2. Misturar tab e espaço na indentação

    • Python é sensível à indentação → misturar tabs e espaços quebra o código.
    • Boa prática: configure seu editor para usar 4 espaços.

    3. Confundir comparação com atribuição

    if x = 10:   # ❌ Erro, "=" é atribuição
    
    if x == 10:  # ✅ Correto, "==" compara
    
    

    Esquecer self em métodos de classe

    class Pessoa:
    
      def __init__(nome):  # ❌ Erro: faltou self
    
          self.nome = nome
    

    5 Usar variáveis sem inicializar

    print(valor)  # ❌ NameError: 'valor' não definido
    

    6 Não converter tipos explicitamente

    idade = 20
    
    print("Idade: " + idade)       # ❌ Erro
    
    print("Idade: " + str(idade))  # ✅ Conversão correta
    

    Onde começar a programar?

    • Google Colab ou Kaggle → Ideais para iniciantes, já que rodam direto no navegador. O Colab tem limitações pois é voltado mais a análise de dados e ensino e não para aplicações complexas, caso queira expandir seu conhecimento.
    • Após ganhar experiência, o ideal é instalar o Python localmente para ter mais controle e desenvolver projetos completos.

    🔹 Bibliotecas essenciais de Python

    Uma das maiores forças do Python é sua vasta coleção de bibliotecas, que aceleram o desenvolvimento em diversas áreas.

    📊 Ciência de Dados e Estatística

    • NumPy – operações matemáticas e arrays multidimensionais.
    • Pandas – análise e manipulação de dados tabulares (DataFrames).
    • Matplotlib e Seaborn – gráficos e visualizações.

    💡 Exemplo: do  uso dos pandas 

    from sklearn.datasets import load_iris
    
    import pandas as pd
    
    # Carrega o dataset
    
    iris = load_iris()
    
    # Cria um DataFrame com os dados e os nomes das colunas
    
    df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
    
    print(df.columns) # sepal length (cm)', 'sepal width (cm)', 'petal length (cm)','petal width (cm)
    

    💡 Exemplo: do  uso dos numpy 

    import numpy as np
    
    # Array com os dados
    
    X = iris.data
    
    # Média de cada feature
    
    medias = np.mean(X, axis=0)
    
    # Médias: [5.84333333 3.05733333 3.758 1.19933333]
    
    print("Médias:", medias) 
    
    maximos = np.max(X, axis=0) # Máximos
    
    print("Valores máximos:", maximos) # Valores máximos: [7.9 4.4 6.9 2.5]
    
    

    💡 Exemplo: do uso de matplotlib 

    import matplotlib.pyplot as plt
    
    # Histograma do comprimento da sépala
    
    plt.hist(df["sepal length (cm)"], bins=15, color="skyblue", edgecolor="black")
    
    plt.title("Distribuição do Comprimento da Sépala")
    
    plt.xlabel("Comprimento (cm)")
    
    plt.ylabel("Frequência")
    
    plt.show()
    

    image

    # Gráfico de dispersão: comprimento vs largura da pétala
    
    plt.scatter(df["petal length (cm)"], df["petal width (cm)"], c=iris.target, cmap="viridis")
    
    plt.title("Relação entre Comprimento e Largura da Pétala")
    
    plt.xlabel("Comprimento da pétala (cm)")
    
    plt.ylabel("Largura da pétala (cm)")
    
    plt.colorbar(label="Classe (0=Setosa, 1=Versicolor, 2=Virginica)")
    
    plt.show()
    

    image

    🧠 Inteligência Artificial e Machine Learning

    • Scikit-learn – classificação, regressão, clustering.
    • TensorFlow, Keras e PyTorch – deep learning e redes neurais.

    💡 Exemplo de classificação com Scikit-learn

    from sklearn.datasets import load_iris
    
    from sklearn.model_selection import train_test_split
    
    from sklearn.preprocessing import StandardScaler
    
    from sklearn.linear_model import LogisticRegression
    
    from sklearn.metrics import accuracy_score, classification_report
    
    # Carregar dataset
    
    iris = load_iris()
    
    X, y = iris.data, iris.target
    
    # Dividir em treino (80%) e teste (20%)
    
    X_train, X_test, y_train, y_test = train_test_split(
    
      X, y, test_size=0.2, random_state=42, stratify=y
    
    )
    
    # Padronizar os dados
    
    scaler = StandardScaler()
    
    X_train = scaler.fit_transform(X_train)
    
    X_test = scaler.transform(X_test)
    
    # Criar e treinar o modelo
    
    model = LogisticRegression(max_iter=200)
    
    model.fit(X_train, y_train)
    
    # Previsões
    
    y_pred = model.predict(X_test)
    
    # Avaliação
    
    print("Acurácia no teste:", accuracy_score(y_test, y_pred))
    
    print("\nRelatório de classificação:\n", classification_report(y_test, y_pred, target_names=iris.target_names))
    
    

    💡 Exemplo de criação de uma rede neural simples usando tensorflow 

    import tensorflow as tf
    
    from tensorflow import keras
    
    from tensorflow.keras import layers
    
    model = keras.Sequential()
    
    model.add(layers.Dense(2, activation="relu"))
    
    model.add(layers.Dense(3, activation="relu"))
    
    model.add(layers.Dense(4))
    
    

    🖼️ Imagens e Multimídia

    • Pillow – manipulação de imagens.
    • OpenCV – Processamento de Imagens e Visão Computacional

    💡 Exemplo de carregamento e redimensionamento de imagem usando openCV

    import cv2
    
    import matplotlib.pyplot as plt
    
    # Carrega a imagem
    
    imagem = cv2.imread('iris_plot.png')
    
    # Converte de BGR (OpenCV) para RGB (matplotlib)
    
    imagem_rgb = cv2.cvtColor(imagem, cv2.COLOR_BGR2RGB)
    
    # Exibe com matplotlib
    
    plt.imshow(imagem_rgb)
    
    plt.axis('off')  # Remove os eixos
    
    plt.title('Imagem sem Alteração')
    
    plt.show()
    
    # Converter a imagem em cinza
    
    imagem_cinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY)
    
    # Exibe com matplotlib usando cmap 'gray'
    
    plt.imshow(imagem_cinza, cmap='gray')
    
    plt.axis('off')  # Remove os eixos
    
    plt.title('Imagem em Cinza')
    
    plt.show()
    

    💡 Exemplo de carregamento e redimensionamento de imagem usando PIL

    from PIL import Image
    
    import matplotlib.pyplot as plt
    
    # Carrega a imagem
    
    imagem = Image.open('iris_plot.png')
    
    # Exibe a imagem com matplotlib
    
    plt.imshow(imagem)
    
    plt.axis('off')  # Remove os eixos
    
    plt.title("Imagem Original")
    
    plt.show()
    
    # Redimensiona a imagem
    
    imagem_redimensionada = imagem.resize((500, 500))
    
    # Exibe a imagem redimensionada
    
    plt.imshow(imagem_redimensionada)
    
    plt.axis('off')
    
    plt.title("Imagem Redimensionada")
    
    plt.show()
    
    # Salva a imagem redimensionada
    
    imagem_redimensionada.save('foto_redimensionada.png')
    

    Essas duas bibliotecas podem ser usadas no pre-processamento para preparar os dados para alimentar a rede neural convolucional, no campo de visão computacional

    🔹 Desenvolvimento Web com Flask e Django

    O Python também é muito usado no desenvolvimento web.

    • O Flask é leve e flexível, ótimo para criar APIs simples.
    • O Django já vem com recursos prontos, ideal para sistemas grandes.

    💡 Exemplo: API simples com Flask

    from flask import Flask, jsonify
    
    app = Flask(__name__)
    
    @app.route("/")
    
    def hello():
    
      return jsonify({"mensagem": "Olá, mundo com Flask!"})
    
    if __name__ == "__main__":
    
      app.run(debug=True)
    

    🔹 Impacto do Python na carreira de um dev iniciante

    O Python é, sem dúvida, uma das melhores portas de entrada para o mundo da programação. Sua sintaxe simples e a vasta comunidade ativa facilitam o aprendizado e a resolução de problemas. Essa versatilidade permite que o iniciante explore diferentes áreas — Ciência de Dados, Desenvolvimento Web, Automação — antes de escolher uma especialização.

    No entanto, para se tornar um profissional diferenciado, é essencial ir além. Aprender conceitos mais profundos em linguagens como C ou Java não é para "substituir" o Python, mas sim para complementar sua base de conhecimento. Essa experiência em diferentes paradigmas de programação constrói um desenvolvedor mais completo, adaptável e preparado para os desafios mais complexos do mercado de trabalho, essas outras linguagens nos ajudam a entender melhor sobre:

    • Tipagem explícita
    • Gerenciamento de memória
    • Estruturas de baixo nível

    ✅ Conclusão  

    Python é versátil e poderoso, usado desde análises de dados até desenvolvimento web.  

    Sua curva de aprendizado suave o torna ideal para iniciantes, e suas bibliotecas aceleram o desenvolvimento em várias áreas.  

    Para evoluir na carreira, é essencial ir além do Python e explorar conceitos de outras linguagens — isso transforma um iniciante em um desenvolvedor completo, confiante e preparado para qualquer desafio.

    Compartilhe
    Comentários (2)
    DIO Community
    DIO Community - 29/09/2025 10:03

    Excelente, Matheus! Que artigo super claro e conciso sobre Estruturas de Dados no C#! É fascinante ver como você aborda o tema, mostrando que o uso da estrutura de dados correta é crucial para a organização e a performance de um projeto.

    Você demonstrou que um Array é uma coleção de tamanho fixo, uma List é uma lista flexível, uma Stack (pilha) segue a lógica LIFO (Last In, First Out), uma Queue (fila) segue a lógica FIFO (First In, First Out) e um Dictionary armazena pares de chave/valor. Sua análise de que a escolha da estrutura faz toda a diferença no desempenho e na organização do código é um insight valioso para a comunidade.

    Qual você diria que é o maior desafio para um desenvolvedor iniciante ao trabalhar com estruturas de dados, em termos de compreensão da lógica de cada estrutura e de como ela se aplica em problemas reais, em vez de apenas focar na sintaxe?

    Jacksson Wasterloô
    Jacksson Wasterloô - 26/09/2025 13:28

    Massa demais, parabéns