🍕🔥 Pizza is great! 🔥🍕

Concetti di Base

Comprendere i concetti fondamentali di TomatoPy ti aiuterà a sfruttare al meglio la libreria. Questa guida introduce le idee e i componenti fondamentali.

Componenti Fondamentali

1. Ingredienti

Gli ingredienti sono i mattoni di TomatoPy. Ogni ingrediente ha proprietà che influenzano il suo comportamento durante le operazioni di cottura.

from tomatopy import Ingredient

# Crea un ingrediente di base
tomato = Ingredient(
    name="tomato",
    amount=1,
    unit="whole",
    properties={
        "ripeness": 0.8,
        "water_content": 0.95,
        "sugar_content": 0.03
    }
)

2. Cucina

La classe Kitchen rappresenta il tuo ambiente di cottura virtuale. Gestisce le operazioni di cottura e mantiene le condizioni ambientali.

from tomatopy import Kitchen

kitchen = Kitchen()
kitchen.set_temperature(180)  # Celsius
kitchen.set_humidity(65)      # Percentuale

3. Ricette

Le ricette combinano più ingredienti e definiscono come devono essere preparati.

from tomatopy import Recipe

# Crea una ricetta
marinara = Recipe("Marinara Classica")
marinara.add_ingredient(tomato)
marinara.set_cooking_method("sobbollire")
marinara.set_duration("30m")

Concetti Chiave

1. Sistema di Proprietà

Gli ingredienti hanno proprietà che influenzano il loro comportamento:

  • Physical Properties: weight, volume, density

  • Chemical Properties: pH, water content, sugar content

  • Culinary Properties: ripeness, freshness, texture

# Accedi e modifica le proprietà
print(tomato.properties["water_content"])  # 0.95
tomato.properties["ripeness"] = 0.9

2. Operazioni di Cottura

Le operazioni di cottura trasformano gli ingredienti attraverso vari metodi:

  • Heat Application: simmering, boiling, roasting

  • Mechanical Action: chopping, blending, kneading

  • Chemical Changes: fermentation, curing

# Esegui operazioni di cottura
sauce = kitchen.cook(
    tomato,
    method="sobbollire",
    temperature=100,
    duration="30m"
)

3. Gestione dello Stato

Gli ingredienti mantengono lo stato durante le operazioni di cottura:

# Controlla lo stato dell'ingrediente
print(tomato.state)  # "crudo"
sauce = kitchen.cook(tomato, method="sobbollire")
print(sauce.state)   # "cotto"

Concetti Avanzati

1. Profili di Sapore

Gli ingredienti e i prodotti cotti hanno profili di sapore:

from tomatopy import TasteTester

tester = TasteTester()
profile = tester.analyze(sauce)

# Accedi ai componenti del sapore
print(profile.acidity)     # 0.7
print(profile.sweetness)   # 0.3
print(profile.umami)       # 0.8

2. Conversione delle Unità

TomatoPy gestisce automaticamente le conversioni delle unità:

# Converti tra unità
tomato.convert_to_imperial()  # Converte da metrico a imperiale
sauce.convert_volume("ml", "cups")  # Converte tra unità di volume

3. Gestione degli Errori

La libreria include una gestione degli errori robusta:

prova:
    kitchen.cook(tomato, temperature=1000)  # Troppo caldo!
eccetto TemperatureError come e:
    print(f"Errore: {e}")  # "La temperatura supera il range di cottura sicuro"

Migliori Pratiche

  1. Usa sempre ambienti virtuali

    python -m venv tomatopy-env
    source tomatopy-env/bin/activate  # o `tomatopy-env\Scripts\activate` su Windows
  2. Check Ingredient Properties Before Cooking

    if tomato.properties["ripeness"] < 0.5:
        print("Warning: Tomato may be too unripe for optimal results")
  3. Use Type Hints for Better Code

    from typing import Dict, Any
    
    def create_ingredient(name: str, properties: Dict[str, Any]) -> Ingredient:
        return Ingredient(name=name, properties=properties)

Next Steps

  • Core Modules - Dive deeper into specific modules

  • from typing import Dict, AnyTutorials - Follow step-by-step guides

  • API Reference - Explore the full API documentation

Was this helpful?