Арифметикалық операциялар
Теория
Салыстыру операторлары
- == – тең (5 == 5 → True)
- != – тең емес (5 != 3 → True)
- > – үлкен (7 > 3 → True)
- < – кіші (2 < 1 → False)
- >= – үлкен немесе тең (5 >= 5 → True)
- <= – кіші немесе тең (4 <= 3 → False)
Әр түрлі типтерді салыстыру
print(10 == 10.0) # True (мәндері тең)
print(10 != "10") # True (типтері әртүрлі)
# Мәтіндер (лексикографиялық, ASCII бойынша)
print("apple" < "banana") # True ('a' < 'b')
print("Abc" < "abc") # True (A=65, a=97)
# Логикалық мәндер (True=1, False=0)
print(True == 1) # True
print(False == 0) # True
print(True > False) # True
Тізбектелген салыстырулар
x = 5
print(1 < x < 10) # True (1 < 5 and 5 < 10)
print(10 > x >= 3) # True
print(2 == x == 5) # False
Салыстыру нәтижесін айнымалыға сақтау
a = 10; b = 20
is_greater = a > b
print(is_greater) # False
print(type(is_greater)) # <class 'bool'>
if is_greater:
print("a үлкен")
else:
print("b үлкен")
Логикалық операторлар (and, or, not)
- and – екеуі де True болса ғана True (False and ... → False)
- or – біреуі True болса True (True or ... → True)
- not – керісінше
age = 25
has_license = True
if age >= 18 and has_license:
print("Машина жүргізе алады")
day = "Saturday"
if day == "Saturday" or day == "Sunday":
print("Демалыс күні")
is_raining = False
if not is_raining:
print("Қолшатыр қажет емес")
Ақиқаттық кестесі
| A | B | A and B | A or B | not A |
|---|---|---|---|---|
| False | False | False | False | True |
| False | True | False | True | True |
| True | False | False | True | False |
| True | True | True | True | False |
Қысқа тұйықталу (short-circuit evaluation)
def risky_call():
print("Функция шақырылды")
return True
print(False and risky_call()) # risky_call() шақырылмайды
print(True or risky_call()) # risky_call() шақырылмайды
# Бұл мүмкіндік қауіпсіздік үшін пайдалы:
if name is not None and name.startswith("A"):
print("А әрпінен басталады")
Де Морган заңдары
- not (A and B) == (not A) or (not B)
- not (A or B) == (not A) and (not B)
# Мысал: not (age >= 18 and has_ticket) = age < 18 or not has_ticket
age = 16; has_ticket = True
if age < 18 or not has_ticket:
print("Кіруге болмайды")
Басқа типтердің логикалық мәні (truthiness)
False мәндері: None, False, 0, 0.0, "" (бос жол), [] (бос тізім), {}, set().
name = input("Атыңыз: ")
if name: # егер бос жол емес болса
print(f"Сәлем, {name}")
else:
print("Атыңызды енгізбедіңіз")
value = 10
if value: # 0 емес болса True
print("Мән нөл емес")