Python dla początkujących

Python to jeden z najbardziej popularnych i przyjaznych języków programowania na świecie. W tym przewodniku omówimy kilka prostych fragmentów kodu Python, które pomogą zrozumieć jego podstawy.

1. Konwersja tekstu na wielkie litery

before = input("Before: ")
print("After: ", end="")
for c in before:
    print(c.upper(), end="")
print()

Powyższy kod pyta użytkownika o wejściowy tekst, a następnie konwertuje każdą literę na wielką literę i wyświetla go na ekranie. Jest to prosty sposób na zmianę wielkości liter w tekście.

Optymalizacja:

before = input("Before: ")
after = before.upper()
print(f"After: {after}")

2. Hello World

from sys import argv

if len(argv) == 2:
    print(f"hello, {argv[1]}")
else:
    print("hello, world")

Ten program przyjmuje jeden argument wiersza poleceń i wita użytkownika. Jeśli nie ma argumentu, wita „świat”. To proste wprowadzenie do obsługi argumentów wiersza poleceń w Python.

Optymalizacja:

import sys

if len(sys.argv) != 2:
    print("Missing command-line argument")
    sys.exit(1)

print(f"Hello, {sys.argv[1]}")
sys.exit(0)

3. Sprawdzanie czy element jest w liście

from sys import argv

names = ["Bill", "Charlie", "Fred", "George", "Ginny"]

name = input("Name: ")

if name in names:
    print("Found")
    sys.exit(0)

print("Not found")
sys.exit(1)

Ten kod sprawdza, czy wprowadzone imię znajduje się na liście imion. Jeśli tak, wyświetla „Znaleziono”, w przeciwnym razie „Nie znaleziono”.

4. Wyszukiwanie numeru telefonu

people = {
    "Carter": "+1 615-872-231",
    "Monika": "+48 525-845-233"
}

name = input("Name: ")
if name in people:
    print(f"Number: {people[name]}")

Ten fragment kodu pyta użytkownika o imię, a następnie sprawdza, czy imię jest w słowniku. Jeśli tak, wyświetla odpowiadający numer telefonu.

5. Zapisywanie danych do pliku CSV

import csv

file = open("phonebook.csv", "a")

name = input("Name: ")
number = input("Number: ")

writer = csv.writer(file)
writer.writerow([name, number])

file.close()

Ten kod umożliwia użytkownikowi dodawanie nowych wpisów do książki telefonicznej przechowywanej w pliku CSV. Pyta użytkownika o imię i numer telefonu, a następnie dodaje je do pliku CSV.

Funkcja DictWriter

Funkcja DictWriter jest częścią modułu csv w języku Python, który umożliwia zapisywanie danych do plików CSV za pomocą słowników. Jest to narzędzie wygodne w użyciu, które pozwala programiście pracować ze strukturą danych bardziej przypominającą słowniki, co może być czytelniejsze i bardziej intuicyjne niż korzystanie z list czy krotek.

Główne cechy funkcji DictWriter to:

  1. Zapisywanie danych z użyciem słowników: DictWriter pozwala zapisywać dane do pliku CSV, używając słowników jako rekordów danych. Każdy klucz w słowniku odpowiada nazwie kolumny w pliku CSV.
  2. Automatyczne tworzenie nagłówków kolumn: DictWriter automatycznie tworzy nagłówki kolumn w pliku CSV na podstawie kluczy użytych w słownikach, co eliminuje potrzebę ręcznego dodawania nagłówków.
  3. Elastyczność w zarządzaniu danymi: Dzięki użyciu słowników, DictWriter zapewnia elastyczność w zarządzaniu danymi, ponieważ można łatwo dodawać, usuwać i modyfikować pola danych w pliku CSV.
  4. Zarządzanie strumieniem danych: DictWriter jest często używany z kontekstem with, który automatycznie zarządza otwieraniem i zamykaniem pliku, co pomaga uniknąć problemów związanych z niezamknięciem pliku po jego użyciu.

Dzięki tym cechom DictWriter ułatwia pracę z danymi w plikach CSV, zwłaszcza gdy dane są reprezentowane w formie słowników.

Zmodyfikowany kod z zastosowaniem funkcji DictWriter z modułu csv:

import csv

# Otwórz plik CSV w trybie dołączania (append)
with open("phonebook.csv", "a", newline='') as file:
    # Określ nazwy kolumn
    fieldnames = ['Name', 'Number']

    # Utwórz obiekt DictWriter
    writer = csv.DictWriter(file, fieldnames=fieldnames)

    # Jeśli plik jest pusty, dodaj nagłówki kolumn
    if file.tell() == 0:
        writer.writeheader()

    # Zapytaj użytkownika o imię i numer telefonu
    name = input("Name: ")
    number = input("Number: ")

    # Zapisz dane do pliku CSV
    writer.writerow({'Name': name, 'Number': number})

W powyższym kodzie DictWriter pozwala nam zapisać dane do pliku CSV używając słowników, co jest bardziej czytelne i elastyczne niż zwykłe listy. Funkcja writeheader() dodaje nagłówki kolumn do pliku tylko wtedy, gdy plik jest pusty, co zapewnia czytelność danych. Dodatkowo, używamy kontekstu with, który automatycznie zamyka plik po zakończeniu jego używania, co zapobiega potencjalnym problemom związanych z zapomnieniem o zamknięciu pliku.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *