Logic Gates in Python - A Beginner-Friendly Guide With Examples

This article comprehensively covers the different logic gates in Python. Logic gates are the most basic materials to implement digital components. The use of logic gates ranges from computer architecture to the field of electronics.

These gates deal with binary values, either 0 or 1. Different types of gates take different numbers of input, but all of them provide a single output. These logic gates when combined form complicated circuits.

Let us try to implement logic gates in Python Language.

Basic Logic Gates in Python

There are three most basic logic gates in circuit development.

OR Gate

This gate provides the output as 1 if either of the inputs is 1. It is similar to an “addition” operation, with respect to binary numbers.

XNOR Gate

OR Gate

The table displayed above is the truth table. It is used to showcase all the combinations of values for inputs to a 'OR' gate. The figure alongside the table denotes an 'OR' gate.

Implementation in Python:

We get the following output:


AND Gate

This gate provides an output of 0 if either of the inputs are 0. This operation is considered as multiplication in binary numbers.

and_logic_gates

AND Gate

We can see in the truth table that whenever either of the two inputs is 0, the output is 0 too. The alongside figure denotes the 'AND' gate.

Implementation in Python:

Output:


NOT Gate

This gate provides the negation of the input given. This gate supports only a single input.

not_logic_gate

NOT Gate

The above table clearly displays the reversal of bits. The adjoining figure represents the 'NOT'gate.

Python implementation of binary NOT Gate:

Output:

Note: The 'NOT()' function provides correct results for bit values 0 and 1.


Universal Logic Gates in Python

There are two universal logic gates, 'NAND' and 'NOR'. They are named universal because any boolean circuit can be implemented using only these gates.

NAND Gate

The 'NAND' gate is a combination of 'AND' gate followed by 'NOT' gate. Opposite to 'AND' gate, it provides an output of 0 only when both the bits are set, otherwise 1.

nand_logic_gate

NAND Gate

In Python, 'NAND()' function can be implemented using the 'AND()' and 'OR()' functions created before.

We get the following output:


NOR Gate

The 'NOR' gate is a result of cascading of 'OR' gate followed by 'NOT' gate. Contrary to 'OR' gate, it provides an output of 1, when all the inputs are 0.

nand_logic_gate

NOR Gate

Similar to 'NAND()' function, 'NOR()' can be implemented using already created functions.

Output:


Exclusive Logic Gates in Python

There are two special types of logic gates, XOR and XNOR, that focus on the number of inputs of 0 or 1, rather than individual values.

XOR Gate

An acronym for Exclusive-OR, 'XOR' gate provides an output of 1 when the number of 1s in the input is odd.

XNOR Gate

XOR Gate

We can clearly see the output for the XOR Gate in the table above. It provides an output of 1 when the number of ones in the input is 1, that is odd.

We can implement 'XOR()' function easily in Python by:

We get the following output:


XNOR Gate

It is formed as a result of the combination of 'XOR' and 'NOT' gates. Opposite to 'XOR', it provides an output of 1, when the number of 1s in the input is even.

XNOR Gate

XNOR Gate

The 'XNOR()' function can be implemented by using the 'XOR()' and 'NOT()' functions in Python.

Output:


Conclusion

The implementation of logic gates in Python is very easy. As a programmer, you need to be aware of logic gates and operators in Python. We hope that this article enlightened the reader about the basics and execution of logic gates in Python.

For further reading, check out our other Python tutorials.

By admin

Leave a Reply