பைத்தானின் தருக்க ஆபரேட்டர்கள் மற்றும், அல்லது, மற்றும் அல்ல (தர்க்கரீதியான இணைப்பு, துண்டிப்பு, மறுப்பு)

வணிக

தருக்க (பூலியன்) செயல்பாடுகளைச் செய்ய பைதான் தருக்க ஆபரேட்டர்களை வழங்குகிறது.(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

மேலே உள்ள எடுத்துக்காட்டில் இருந்து நீங்கள் பார்க்க முடியும், மற்றும் மற்றும் அல்லது பைத்தானில் சரி அல்லது தவறான வகை bool ஐ வழங்க வேண்டாம், ஆனால் அது உண்மையா அல்லது தவறானதா என்பதைப் பொறுத்து இடது அல்லது வலதுபுறத்தில் மதிப்பை வழங்கவும். எடுத்துக்காட்டு எண், ஆனால் இது சரங்கள் மற்றும் பட்டியல்கள் போன்ற பிற வகைகளுக்கும் பொருந்தும். தற்செயலாக, பூல் வகையின் சரி அல்லது தவறானவை வழங்காது.

மற்றும் மற்றும் அல்லது பின்வருவனவற்றின் வருவாய் மதிப்புகளின் வரையறைகள்.

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