پایتون گیت مفهومی است که به استفاده از گیتهای منطقی و الکتریکی برای طراحی مدارهای الکتریکی در زبان برنامهنویسی پایتون اشاره دارد. این گیتهای منطقی به شما اجازه میدهند تا بتوانید خیلی راحت انواع گیتهای AND، OR، NAND، NOR، XOR و … را پیادهسازی کنید. هریک از این گیتها ممکن است یک یا دو ورودی را بگیرند و براساس عملگر منطقی که برای آنها تعریف شده است خروجی را به شما ارائه دهند. برای مثال گیت منطقی AND دو ورودی بولین را دریافت کرده و در صورتی که هردو مقدار برابر 1 باشد مقدار خروجی 1 را به شما ارائه داده و در غیر این صورت مقدار خروجی 0 را به شما ارائه میدهد.
در بوت کمپ پایتون شما میآموزید که دقیقا به چه شکل میتوانید از این گیتهای منطقی استفاده کرده و مدارهای الکتریکی را طراحی کنید.
آشنایی با پایتون گیت
پایتون گیت یا همان گیتهای منطقی در زبان برنامهنویسی پایتون وقتی استفاده میشوند که شما قصد داشته باشید برنامهنویسی برای مدارهای دیجیتالی را انجام دهید. این گیتها در واقع دارای ورودیها و خروجیهای مخصوص به خود هستند که براساس عملگرهای منطقی موجود در زبان برنامهنویسی پایتون ورودیها را به خروجی مدنظر تبدیل میکنند. در آموزش پایتون گیت باید دقت داشت که این گیتها معمولا میتوانند قدرت ذخیرهسازی اطلاعات بالایی را به شما ارائه داده و همینطور به طور مستقیم روی سرعت محاسبات شما نیز تاثیرگذار باشند.
در بوت کمپ برنامه نویسی یاد میگیرید که کتابخانههای خاصی در زبان برنامهنویسی پایتون و در پایتون گیت هاب موجود هستند که با استفاده از آنها میتوانید عملیات مختلف را روی گیتهای منطقی در زبان برنامهنویسی پایتون اعمال کنید.
مقاله پیشنهادی: دواپس چیست؟

آشنایی با انواع گیتهای منطقی در پایتون
همانطور که گفتیم گیتهای منطقی در زبان پایتون از انواع مختلفی تشکیل میشوند که در جدول زیر به بررسی و توضیحات مختصری درباره هریک از این گیتها پرداختهایم:
|
گیت منطقی پایتون |
توضیحات |
| AND | این گیت منطقی دو ورودی را دریافت کرده و در صورتی که هردو true باشند مقدار true و در غیر این صورت مقدار false را برمیگرداند. |
| OR | این گیت منطقی نیز دو ورودی را دریافت کرده و در صورتی که حداقل یکی از آنها مقدار true داشته باشد مقدار true برگردانده و در غیر این صورت مقدار false برمیگرداند. |
| NOT | این گیت یک ورودی را دریافت کرده و برعکس آن را بهعنوان خروجی ارائه میدهد. برای مثال اگر true گرفته باشد مقدار false و در صورتی که false گرفته باشد مقدار true را برمیگرداند. |
| NAND | این گیت منطقی دو ورودی را دریافت کرده و تنها زمانی مقدار false را برمیگرداند که هر دو ورودی دارای مقدار true باشند. در غیر این صورت مقدار true را برمیگرداند. |
| NOR | گیت منطقی NOR دو مقدار را بهعنوان ورودی میگیرد و اگر هر دو آنها false باشند مقدار true برگردانده و در غیر این صورت مقدار false را به شما برمیگرداند. |
| XOR | گیت منطقی XOR دو مقدار بولین را دریافت میکند، اگر هر دو مقدار آن یکسان باشند (یعنی هردو false یا هر دو true باشند) در این صورت مقدار برگشتی false خواهد بود و در غیر این صورت مقدار برگشتی برابر true خواهد بود. |
| XNOR |
XNOR دقیقا برعکس XOR است. به این معنا که اگر هر دو مقدار ورودی یکسان باشند (یعنی هر دو false یا هر دو true باشند) در این صورت مقدار برگشتی true بوده و در غیر این صورت مقدار برگشتی false خواهد بود. |
گیتهای منطقی AND و OR
گیتهای منطقی AND و OR پرکاربردترین گیت پایتون به شمار میآیند که باید با آن آشنا شوید. گیت منطقی AND دو ورودی را دریافت کرده و مطابق جدول زیر خروجی آن را به شما ارائه میدهد:
| ورودی اول | ورودی دوم | نتیجه |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
در زبان برنامهنویسی پایتون میتوانید این گیت منطقی را به شکل زیر پیادهسازی کنید:
def AND (a, b):
if a == 1 and b == 1:
return True
else:
return False
از طرف دیگر گیت منطقی OR نیز دو ورودی را دریافت کرده و مطابق با جدول زیر خروجی آن را به شما ارائه میدهد:
| ورودی اول | ورودی دوم | نتیجه |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
قطعه کد مربوط به این گیت منطقی در زبان برنامهنویسی پایتون به شکل زیر است:
def OR(a, b):
if a == 1 or b ==1:
return True
else:
return False
گیت منطقی NOT
گیت منطقی NOT یکی از معدود گیتهای منطقی در زبان برنامهنویسی پایتون است که بهجای دو ورودی تنها یک ورودی را دریافت کرده و مطابق با جدول زیر خروجی آن را به شما ارائه میدهد:
| ورودی اول | نتیجه |
| 0 | 1 |
| 1 | 0 |
توجه داشته باشید که برای پیادهسازی این گیت منطقی نیازی به استفاده از کتابخانهی پایتون ندارید و میتوانید از تابع زیر استفاده کرده و خیلی راحت این گیت منطقی را پیادهسازی کنید:
def NOT(a):
return not a
# Driver code
if __name__==’__main__’:
print(NOT(0))

آشنایی با گیتهای منطقی NAND و NOR
گیتهای منطقی NAND و NOR در واقع عملیاتی برعکس گیتهای منطقی AND و OR را برای شما انجام میدهند. در اولین قدم بیایید گیت منطقی NAND را بررسی کنیم. در عملگر AND خروجی شما تنها زمانی true بود که هر دو مقدار ورودی برابر true باشند. در گیت منطقی NAND دقیقا برعکس این است. یعنی خروجی شما تنها زمانی false خواهد بود که هر دو مقدار ورودی برابر true باشند. جدول زیر این موضوع را به شکل بهتری به شما نشان میدهد:
| ورودی اول | ورودی دوم | نتیجه |
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
قطعه کد زیر به شما نشان میدهد که دقیقا به چه شکل میتوانید این گیت منطقی را در زبان برنامهنویسی پایتون پیادهسازی کنید بدون اینکه نیازی به نصب گیت در پایتون داشته باشید:
def NOR(a, b):
if(a == 0) and (b == 0):
return 1
elif(a == 0) and (b == 1):
return 1
elif(a == 1) and (b == 0):
return 1
elif(a == 1) and (b == 1):
return 0
در مقابل باید دقت داشته باشید که گیت منطقی NOR نیز دقیقا برعکس OR است. گیت منطقی OR تنها زمانی مقدار false به شما برمیگرداند که هر دو ورودی دارای مقدار false باشند. حال باید بدانید گیت منطقی NOR تنها زمانی مقدار true برمیگرداند که هر دو ورودی دارای مقدار false باشند. برای اینکه درک بهتری از این موضوع به دست بیاورید جدول زیر را درباره پایتون گیت OR مشاهده کنید:
| ورودی اول | ورودی دوم | نتیجه |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
در ادامه قطعه کدی را مشاهده میکنید که به شما نشان میدهد دقیقا به چه شکل میتوانید گیت منطقی NOR را در زبان برنامهنویسی پایتون پیادهسازی کنید:
def NOR(a, b):
if(a == 0) and (b == 0):
return 1
elif(a == 0) and (b == 1):
return 0
elif(a == 1) and (b == 0):
return 0
elif(a == 1) and (b == 1):
return 0
آشنایی با گیتهای منطقی XOR و XNOR
در نهایت شما نیازمند این هستید که دو مورد دیگر از رایجترین گیتهای منطقی که امروزه در زبان پایتون استفاده میشوند یعنی گیتهای منطقی XOR و XNOR را بشناسید. اولین گیتی که قصد صحبت درباره آن در این بخش را داریم گیت XOR است. این گیت تنها زمانی که دو مقدار ورودی متفاوت باشند مقدار true بر میگرداند و در صورتی که دو مقدار ورودی یکسان باشند مقدار برگشتی توسط آن برابر false خواهد بود. جدول زیر این موضوع را به شکل دقیق به شما نشان میدهد:
| ورودی اول | ورودی دوم | نتیجه |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
برای پیادهسازی این کد کافی است که قطعه کد زیر را استفاده کنید:
def XOR (a, b):
if a != b:
return 1
else:
return 0
در مقابل باید بدانید که عملگر XNOR قرار دارد. این عملگر دقیقا برعکس XOR است. این بدان معناست که مقدار خروجی آن وقتی برابر true میشود که هر دو ورودی یکسان باشند و در غیر این صورت مقداری که بهعنوان خروجی برگردانده میشود برابر false خواهد بود. جدول زیر را در این زمینه مشاهده کنید:
| ورودی اول | ورودی دوم | نتیجه |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
حال با استفاده از قطعه کد زیر میتوانید از این گیت منطقی در کدهای پایتون خود استفاده کنید:
def XNOR(a,b):
if(a == b):
return 1
else:
return 0
سخن پایانی
وقتی که قصد دارید روی مدارهای الکتریکی در زبان برنامهنویسی پایتون کار کنید نیازمند این خواهید بود که با پایتون گیت نیز آشنا شده و اطلاعاتی را درباره آن به دست بیاورید. در بوت کمپ برنامه نویسی به زبان پایتون این مفهوم به طور عمیقتر برای شما توضیح داده شده و شما با یادگیری برنامه نویسی به زبان پایتون میتوانید خیلی راحت مدارهای پیچیدهای را با کمک زبان برنامهنویسی پایتون طراحی کنید. از طرف دیگر باید بدانید که شما میتوانید از ChatGPT در برنامه نویسی پایتون برای طراحی این مدارهای الکتریکی نیز استفاده کنید که در آموزشهای مجموعه بامداد به طور مفصل درباره این موضوع صحبت شده است.


