Python operatorên mentiqî peyda dike ku karên mantiqî (Boolean) bikin.(and
,or
,not
)
Ew ji bo danasîna pêwendiya di navbera pir şertan de di daxuyaniyek if de tê bikar anîn.
Ev beş tiştên jêrîn diyar dike.
- xaç:
and
- lêzêdekirina mantiqî:
or
- înkarî:
not
and
,or
,not
Pêşengiya operator
Wekî din, xalên jêrîn wekî hişyariyê têne rave kirin.
- Operatorên mantiqî ji bo tiştên cureyê ji bilî bool
and
,or
Van nirxên vegerê ne hewce ne ji celebê boolê ne.- Têkiliya kurt (nirxandina dorhêla kurt)
xaç:and
û berhema mentiqî ya du nirxan vedigerîne.
print(True and True)
# True
print(True and False)
# False
print(False and True)
# False
print(False and False)
# False
Bi rastî, ew pir caran ne ji bo rast an xelet, lê ji bo bêjeyên şertî yên ku operatorên berhevdanê bikar tînin tê bikar anîn. Ji bo agahdariya we, operatorên berhevdanê wiha ne.
<
>
a = 10
print(0 < a)
# True
print(a < 100)
# True
print(0 < a and a < 100)
# True
û dikare wekî jêrîn were girêdan.
print(0 < a < 100)
# True
lêzêdekirina mantiqî:or
an jî OR-ya mentiqî ya du nirxan vedigerîne.
print(True or True)
# True
print(True or False)
# True
print(False or True)
# True
print(False or False)
# False
înkarî:not
ne” redkirina nirxê vedigerîne; rast û derew berevajî dibin.
print(not True)
# False
print(not False)
# True
and,or,notPêşengiya operator
Rêza pêşîn a van operatorên mentiqî wiha ye: ne ya herî bilind e.
not
and
or
Di koda nimûneya jêrîn de, îfadeya jorîn wekî ya jêrîn tê şîrove kirin. Ji ber ku di nav parantezên zêde de pirsgirêk tune ye, dibe ku di rewşên mîna vê nimûneyê de zelalkirina wan hêsantir be.
print(True or True and False)
# True
print(True or (True and False))
# True
Heke hûn dixwazin bixebitin an berî û, parantezê bikar bînin().
print((True or True) and False)
# False
<
,>
Van operatorên berawirdkirinê ji nebûnê hîna pêşdatir in. Ji ber vê yekê, wekî ku di mînaka li jor de bû, ji bo her operasyona berhevdanê ne pêdivî ye ku parantez hebe.
print(0 < a and a < 100)
# True
Ji bo kurteya pêşengiya operatorê di Python de belgeya fermî ya jêrîn bibînin.
Operatorên mantiqî ji bo tiştên cureyê ji bilî bool
With these logical operators, not only bool types (true, false), but also numbers, strings, lists, etc. are processed as boolean values.
Tiştên jêrîn di operasyonên mantiqî yên Python de derew têne hesibandin.
- Berdewam têne diyarkirin ku derew in:
None
,false
- Di cureyên hejmarî de sifir:
0
,0
,0j
,Decimal(0)
,Fraction(0, 1)
- Rêzek an berhevoka vala:
'
,()
,[]
,{}
,set()
,range(0)
Hemî nirxên din rast têne hesibandin.
Fonksiyona bool() dikare were bikar anîn da ku nirxa boolê ya tiştekê bi dest bixe. Bala xwe bidinê ku rêzika ‘0’ an ‘False’ rast tê hesibandin.
print(bool(10))
# True
print(bool(0))
# False
print(bool(''))
# False
print(bool('0'))
# True
print(bool('False'))
# True
print(bool([]))
# False
print(bool([False]))
# True
Ji bo ku ‘0’ an jî ‘derew’ di rêzekê de wekî xelet were destnîşankirin, distutils.util.strtobool() bikar bînin.
and,orVan nirxên vegerê ne hewce ne ji celebê boolê ne.
Li vir mînakek tiştek ji bilî celebek boolê ye, ku encama her operator li ser nirxek hejmarî nîşan dide.
x = 10 # True
y = 0 # False
print(x and y)
# 0
print(x or y)
# 10
print(not x)
# False
Wekî ku hûn ji mînaka li jor dibînin, û û an di Python de rast an xelet ji celebê bool venagerin, lê nirxa li çepê an rastê li gorî rast e an xelet vedigerînin. Nimûne hejmar e, lê heman tişt ji bo celebên din ên wekî rêz û navnîşan derbas dibe. Bi rasthatinî, ne rast an derewîn ji celebê bool vedigere.
Pênaseyên nirxên vegerê yên û û an jî wiha ne.
The expression x and y first evaluates x; if x is false, its value is returned; otherwise, y is evaluated and the resulting value is returned.
The expression x or y first evaluates x; if x is true, its value is returned; otherwise, y is evaluated and the resulting value is returned.
6.11. Boolean operations — Expressions — Python 3.10.1 Documentation
Gava ku nirxên vegotinên çep û rast ji hev cuda rast û derew in, nirxên vegerê hêsan têne fêm kirin. Ji hêla din ve, heke her du jî rast bin an her du jî derew in, dê nirxa vegerê li gorî fermanê cûda be.
Ger hûn wê wekî vegotinek şertî di bêjeyek if de, hwd. de bikar bînin, encam wekî nirxek boolean tê hesibandin û pêvajoy kirin, ji ber vê yekê hûn ne hewce ne ku li ser wê xemgîn bibin, lê heke hûn nirxa vegerê ji bo pêvajoyek din bikar bînin, hûn pêdivî ye ku baldar be.
x = 10 # True
y = 100 # True
print(x and y)
# 100
print(y and x)
# 10
print(x or y)
# 10
print(y or x)
# 100
x = 0 # False
y = 0.0 # False
print(x and y)
# 0
print(y and x)
# 0.0
print(x or y)
# 0.0
print(y or x)
# 0
print(bool(x and y))
# False
Heke hûn dixwazin wê wekî rast an derewîn derman bikin, hûn dikarin wekî mînaka paşîn bikin.bool(x and y)
Nirxên vegerê yên û û an di tabloya jêrîn de têne kurt kirin.
x | y | x and y | x or y |
---|---|---|---|
true | false | y | x |
false | true | x | y |
true | true | y | x |
false | false | x | y |
Têkiliya kurt (nirxandina dorhêla kurt)
Wekî ku hûn ji tabloya li jor dibînin, heke x di x û y de xelet be, an heke x di x an y-yê de rast be, nirxa vegerê bêyî nirxa y-yê x be.
Di rewşeke wiha de y nayê nirxandin.
and
,or
Hişyar bikin ku heke hûn li milê rastê yê van pêvajoyan gazî fonksiyonek an rêbazek bikin ku hin pêvajoyê bikin, dibe ku pêvajo li gorî encama li milê çepê neyê darve kirin.
def test():
print('function is called')
return True
print(True and test())
# function is called
# True
print(False and test())
# False
print(True or test())
# True
print(False or test())
# function is called
# True