Operator Logici
Le persone dicono "sì e sì", "sì o no", "assolutamente no". In Python, gli operatori logici and, or e not esprimono formalmente queste idee e producono valori booleani (True/False) che utilizzerai con i confronti in if/while.
Significato di ciascun operatore
Precedenza
not ha una priorità maggiore di and, che a sua volta ha una priorità maggiore di or (not > and > or). Usa le parentesi in caso di dubbio.
Ad esempio, age >= 18 and has_id è True solo se entrambe le condizioni sono soddisfatte:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Tavola della verità
Una tavola della verità elenca tutti i possibili valori di verità degli input e mostra il risultato di un'espressione logica. È un modo compatto per ragionare sulla logica senza eseguire il codice.
Utilizzo della tabella
Se X è False e Y è True, allora X and Y è False, X or Y è True e not X è True.
Valori di ritorno e short-circuiting (insieme)
and e or non restituiscono sempre le parole True/False, ma restituiscono uno dei loro operandi, e Python può interrompere l'esecuzione anticipatamente una volta noto il risultato.
-
A and B: -
Se
Aè falsey, l'intera espressione è falsa e il risultato èA(Python non valutaB); -
Se
Aè truthy, il risultato dipende daBe l'espressione viene valutata comeB. -
A or B: -
Se
Aè truthy, l'espressione è vera e il risultato èA(Python non valutaB); -
Se
Aè falsey, il risultato dipende daBe l'espressione viene valutata comeB. -
not Xrestituisce sempre un vero Booleano:TrueoFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
1. Completa gli spazi con True o False. Sia X = True, Y = False.
2. Quale affermazione corrisponde alla logica classica per "né X né Y"?
3. Cosa restituisce l'espressione?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain what "short-circuiting" means in more detail?
Can you give more real-life examples of using these logical operators?
How do I know if a value is considered "truthy" or "falsey" in Python?
Awesome!
Completion rate improved to 3.45
Operator Logici
Scorri per mostrare il menu
Le persone dicono "sì e sì", "sì o no", "assolutamente no". In Python, gli operatori logici and, or e not esprimono formalmente queste idee e producono valori booleani (True/False) che utilizzerai con i confronti in if/while.
Significato di ciascun operatore
Precedenza
not ha una priorità maggiore di and, che a sua volta ha una priorità maggiore di or (not > and > or). Usa le parentesi in caso di dubbio.
Ad esempio, age >= 18 and has_id è True solo se entrambe le condizioni sono soddisfatte:
123age = 21 has_id = True print(age >= 18 and has_id) # True
Tavola della verità
Una tavola della verità elenca tutti i possibili valori di verità degli input e mostra il risultato di un'espressione logica. È un modo compatto per ragionare sulla logica senza eseguire il codice.
Utilizzo della tabella
Se X è False e Y è True, allora X and Y è False, X or Y è True e not X è True.
Valori di ritorno e short-circuiting (insieme)
and e or non restituiscono sempre le parole True/False, ma restituiscono uno dei loro operandi, e Python può interrompere l'esecuzione anticipatamente una volta noto il risultato.
-
A and B: -
Se
Aè falsey, l'intera espressione è falsa e il risultato èA(Python non valutaB); -
Se
Aè truthy, il risultato dipende daBe l'espressione viene valutata comeB. -
A or B: -
Se
Aè truthy, l'espressione è vera e il risultato èA(Python non valutaB); -
Se
Aè falsey, il risultato dipende daBe l'espressione viene valutata comeB. -
not Xrestituisce sempre un vero Booleano:TrueoFalse.
1234567891011121314151617# Choosing a display name for a user profile username = "" # user didn't set a custom name print(username or "Guest") # "Guest" → fallback to default name username = "Alice" print(username or "Guest") # "Alice" → custom name is used # Checking login attempts and access permissions login_attempts = 0 access_level = 123 print(login_attempts and access_level) # 0 → login not yet attempted login_attempts = 5 print(login_attempts and access_level) # 123 → user has access after attempts # Checking empty and non-empty values print(not 0, not "Hello") # True False → 0 is falsey, non-empty string is truthy
1. Completa gli spazi con True o False. Sia X = True, Y = False.
2. Quale affermazione corrisponde alla logica classica per "né X né Y"?
3. Cosa restituisce l'espressione?
Grazie per i tuoi commenti!