పైథాన్ యొక్క లాజికల్ ఆపరేటర్లు మరియు, లేదా, మరియు కాదు (లాజికల్ సంయోగం, డిస్జంక్షన్, నెగేషన్)

వ్యాపారం

లాజికల్ (బూలియన్) కార్యకలాపాలను నిర్వహించడానికి పైథాన్ లాజికల్ ఆపరేటర్లను అందిస్తుంది.(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ఆపరేటర్ ప్రాధాన్యత

ఈ లాజికల్ ఆపరేటర్‌ల ప్రాధాన్యత క్రమం క్రింది విధంగా ఉంది: కాదు అత్యధికం.

  1. not
  2. and
  3. 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)

రిటర్న్ విలువలు మరియు మరియు లేదా దిగువ పట్టికలో సంగ్రహించబడ్డాయి.

xyx and yx or y
truefalseyx
falsetruexy
truetrueyx
falsefalsexy

షార్ట్ సర్క్యూట్ (షార్ట్ సర్క్యూట్ మూల్యాంకనం)

మీరు పై పట్టిక నుండి చూడగలిగినట్లుగా, 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