లాజికల్ (బూలియన్) కార్యకలాపాలను నిర్వహించడానికి పైథాన్ లాజికల్ ఆపరేటర్లను అందిస్తుంది.(and
,or
,not
)
if స్టేట్మెంట్లో బహుళ పరిస్థితుల మధ్య సంబంధాన్ని వివరించడానికి ఇది ఉపయోగించబడుతుంది.
ఈ విభాగం క్రింది వాటిని వివరిస్తుంది.
- కూడలి:
and
- తార్కిక జోడింపు:
or
- తిరస్కరణ:
not
and
,or
,not
ఆపరేటర్ ప్రాధాన్యత
అదనంగా, ఈ క్రింది అంశాలు హెచ్చరికలుగా వివరించబడ్డాయి.
- బూల్ కాకుండా ఇతర రకాల వస్తువుల కోసం లాజికల్ ఆపరేటర్లు
and
,or
ఈ రిటర్న్ విలువలు తప్పనిసరిగా బూల్ టైప్ కానవసరం లేదు.- షార్ట్ సర్క్యూట్ (షార్ట్ సర్క్యూట్ మూల్యాంకనం)
కూడలి:and
మరియు రెండు విలువల తార్కిక ఉత్పత్తిని అందిస్తుంది.
print(True and True)
# True
print(True and False)
# False
print(False and True)
# False
print(False and False)
# False
వాస్తవానికి, ఇది తరచుగా నిజం లేదా తప్పు కోసం కాదు, కానీ పోలిక ఆపరేటర్లను ఉపయోగించి షరతులతో కూడిన వ్యక్తీకరణల కోసం ఉపయోగించబడుతుంది. మీ సమాచారం కోసం, పోలిక ఆపరేటర్లు క్రింది విధంగా ఉన్నాయి.
<
>
a = 10
print(0 < a)
# True
print(a < 100)
# True
print(0 < a and a < 100)
# True
మరియు క్రింది విధంగా సంగ్రహించవచ్చు.
print(0 < a < 100)
# True
తార్కిక జోడింపు:or
లేదా రెండు విలువల తార్కిక ORని అందిస్తుంది.
print(True or True)
# True
print(True or False)
# True
print(False or True)
# True
print(False or False)
# False
తిరస్కరణ:not
కాదు” విలువ యొక్క తిరస్కరణను అందిస్తుంది; నిజం మరియు తప్పు రివర్స్ అవుతాయి.
print(not True)
# False
print(not False)
# True
and,or,notఆపరేటర్ ప్రాధాన్యత
ఈ లాజికల్ ఆపరేటర్ల ప్రాధాన్యత క్రమం క్రింది విధంగా ఉంది: కాదు అత్యధికం.
not
and
or
కింది నమూనా కోడ్లో, పై వ్యక్తీకరణ క్రింద ఉన్నట్లుగా వివరించబడుతుంది. అదనపు కుండలీకరణాలతో సమస్య లేనందున, ఈ ఉదాహరణ వంటి సందర్భాలలో వాటిని స్పష్టంగా వివరించడం సులభం కావచ్చు.
print(True or True and False)
# True
print(True or (True and False))
# True
మీరు ఆపరేట్ చేయాలనుకుంటే లేదా ముందు మరియు, కుండలీకరణాలను ఉపయోగించండి().
print((True or True) and False)
# False
<
,>
ఈ కంపారిజన్ ఆపరేటర్ల కంటే ఎక్కువ ప్రాధాన్యత ఉంది. అందువల్ల, పై ఉదాహరణలో ఉన్నట్లుగా, ప్రతి పోలిక ఆపరేషన్కు కుండలీకరణాలు అవసరం లేదు.
print(0 < a and a < 100)
# True
పైథాన్లో ఆపరేటర్ ప్రాధాన్యత యొక్క సారాంశం కోసం దిగువన ఉన్న అధికారిక డాక్యుమెంటేషన్ను చూడండి.
బూల్ కాకుండా ఇతర రకాల వస్తువుల కోసం లాజికల్ ఆపరేటర్లు
With these logical operators, not only bool types (true, false), but also numbers, strings, lists, etc. are processed as boolean values.
పైథాన్ యొక్క తార్కిక కార్యకలాపాలలో కింది వస్తువులు తప్పుగా పరిగణించబడతాయి.
- స్థిరాంకాలు తప్పుగా నిర్వచించబడ్డాయి:
None
,false
- సంఖ్యా రకాలుగా సున్నా:
0
,0
,0j
,Decimal(0)
,Fraction(0, 1)
- ఖాళీ సీక్వెన్స్ లేదా సేకరణ:
'
,()
,[]
,{}
,set()
,range(0)
అన్ని ఇతర విలువలు నిజమైనవిగా పరిగణించబడతాయి.
ఒక వస్తువు యొక్క బూలియన్ విలువను పొందడానికి ఫంక్షన్ bool()ని ఉపయోగించవచ్చు. ‘0’ లేదా ‘False’ స్ట్రింగ్ నిజమైనదిగా పరిగణించబడుతుందని గమనించండి.
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
స్ట్రింగ్లో ‘0’ లేదా ‘false’ని తప్పుగా నిర్వహించడానికి, distutils.util.strtobool()ని ఉపయోగించండి.
and,orఈ రిటర్న్ విలువలు తప్పనిసరిగా బూల్ టైప్ కానవసరం లేదు.
బూల్ రకం కాకుండా ఇతర వస్తువు యొక్క ఉదాహరణ ఇక్కడ ఉంది, ప్రతి ఆపరేటర్ యొక్క ఫలితాన్ని సంఖ్యా విలువపై చూపుతుంది.
x = 10 # True
y = 0 # False
print(x and y)
# 0
print(x or y)
# 10
print(not x)
# False
మీరు పైన ఉన్న ఉదాహరణ నుండి చూడగలిగినట్లుగా, మరియు మరియు లేదా పైథాన్లో బూల్ యొక్క నిజమైన లేదా తప్పుని తిరిగి ఇవ్వవద్దు, కానీ అది ఒప్పు లేదా తప్పు అనే దానిపై ఆధారపడి ఎడమ లేదా కుడి వైపున ఉన్న విలువను తిరిగి ఇవ్వండి. ఉదాహరణ సంఖ్యాపరమైనది, కానీ స్ట్రింగ్లు మరియు జాబితాల వంటి ఇతర రకాలకు కూడా ఇది వర్తిస్తుంది. యాదృచ్ఛికంగా, టైప్ బూల్ యొక్క ఒప్పు లేదా తప్పును తిరిగి ఇవ్వదు.
రిటర్న్ విలువల యొక్క నిర్వచనాలు మరియు మరియు లేదా క్రింది విధంగా ఉన్నాయి.
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
ఎడమ మరియు కుడి వ్యక్తీకరణల విలువలు విడివిడిగా ఒప్పు మరియు తప్పు అయినప్పుడు, రిటర్న్ విలువలు అర్థం చేసుకోవడం సులభం. మరోవైపు, రెండూ ఒప్పు అయితే లేదా రెండూ తప్పు అయితే, ఆర్డర్ ఆధారంగా రిటర్న్ విలువ భిన్నంగా ఉంటుంది.
మీరు if స్టేట్మెంట్ మొదలైన వాటిలో షరతులతో కూడిన వ్యక్తీకరణగా ఉపయోగిస్తే, ఫలితం బూలియన్ విలువగా నిర్ణయించబడుతుంది మరియు ప్రాసెస్ చేయబడుతుంది, కాబట్టి మీరు దాని గురించి చింతించాల్సిన అవసరం లేదు, కానీ మీరు తదుపరి ప్రాసెసింగ్ కోసం రిటర్న్ విలువను ఉపయోగిస్తే, మీరు జాగ్రత్తగా ఉండాలి.
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
మీరు దానిని నిజం లేదా తప్పుగా పరిగణించాలనుకుంటే, మీరు చివరి ఉదాహరణలో వలె చేయవచ్చు.bool(x and y)
రిటర్న్ విలువలు మరియు మరియు లేదా దిగువ పట్టికలో సంగ్రహించబడ్డాయి.
x | y | x and y | x or y |
---|---|---|---|
true | false | y | x |
false | true | x | y |
true | true | y | x |
false | false | x | y |
షార్ట్ సర్క్యూట్ (షార్ట్ సర్క్యూట్ మూల్యాంకనం)
మీరు పై పట్టిక నుండి చూడగలిగినట్లుగా, x మరియు y లలో x తప్పు అయితే, లేదా x లేదా yలో x నిజమైతే, y విలువతో సంబంధం లేకుండా రిటర్న్ విలువ x అవుతుంది.
అటువంటి సందర్భంలో, y మూల్యాంకనం చేయబడదు.
and
,or
మీరు కొంత ప్రాసెసింగ్ చేయడానికి ఈ ప్రక్రియల కుడి వైపున ఒక ఫంక్షన్ లేదా పద్ధతిని కాల్ చేస్తే, ఎడమ వైపున ఫలితంపై ఆధారపడి ప్రక్రియ అమలు చేయబడదని గుర్తుంచుకోండి.
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