What makes Python Cool?

As the topic says, we will look into some of the cool feature provided by Python.

Python has a lot of functionality (or say tricks) which makes the language unique from another language such as

1. The Zen of Python

filter_none

edit
close

play_arrow

link
brightness_4
code

import this

chevron_right


If you type this command on the terminal you will get “The Zen of Python, by Tim Peters” which will help you to improve the readability, usability and maintainability of Python code.

Check out this video for more detail

3. Swapping of two variable in one line

Python provides a cool functionality to swap two variables in one line using something called tuple unpacking which will make your code shorter and easier to read

filter_none

edit
close

play_arrow

link
brightness_4
code

a = 10
  
b = 20
  
print(f"Before swapping value of a = {a} and b = {b}")
  
a, b = b, a
  
print(f"After swapping value of a = {a} and b = {b}")

chevron_right


If you want to dig deeper into this tuple unpacking, I will suggest to check out this blog by trey hunner

Tuple Unpacking

4. Create a web server using one line

filter_none

edit
close

play_arrow

link
brightness_4
code

python -m http.server 8000

chevron_right


To create a simple file sharing application go to your folder which you want to share and type the above command then go to your browser and type

127.0.0.1:8000

to open that folder in your browser, you can use this from other devices also if you are in the same network.

Here is a link to know more about this

5. All Data Structure at one place: Collections

filter_none

edit
close

play_arrow

link
brightness_4
code

from collections import Counter
  
myList = [1, 1, 2, 3, 4, 5, 3, 2, 3, 4, 2, 1, 2, 3]
  
print(Counter(myList))

chevron_right


This module has data structures which will help you to solve various real-life problems without writing too much code.
Collections

6. Gem of python: Itertools

Itertools is one of the most important standard library available in Python 3 which has a lot of features inbuilt. Itertools provides the functionality to create fast, memory-efficient, and good-looking code.

You will find a lot of useful function in Itertools module, let us look into one the popular one

filter_none

edit
close

play_arrow

link
brightness_4
code

import itertools
  
itertools.permutations('ab')

chevron_right


To learn more about Itertools check-out this link

Itertools

7. Looping with Index: Enumerate

This is a cool feature which provides the index without having to define any counter for index

filter_none

edit
close

play_arrow

link
brightness_4
code

mylist = [1, 13, 16, 15, 80]
  
for i, value in enumerate(mylist):
      print( i, ': ', value)

chevron_right


8. Reversing a list

The reverse is always the tedious task in any programming language but Python’s built-in reversed() function allows you to create a reverse of a list in one line

filter_none

edit
close

play_arrow

link
brightness_4
code

lst = [1, 2, 3, 4, 5]
  
list(reversed(lst))

chevron_right


For more details check-out this link

Reversing a List

9. Adding two lists using Zip

let us say you have two lists and you want to add the elements of that list then python is having a Zip function which will come in handy and give you the result without using a nested loop

filter_none

edit
close

play_arrow

link
brightness_4
code

a = [1, 2, 3]
  
b = [4, 5, 6]
  
for i, j in zip(a, b):
    print("Sum of a and b is", i + j)

chevron_right


Zip operation is popular in Data Science because of the matrix multiplication where Zip can be used to do Row and Column multiplication.

10. List/Set/Dict comprehension

Comprehension provides the easiest way to define any complicated code in one line

let us say you want to square the even number from 1–20

If you use the normal if-else then the code will be like

filter_none

edit
close

play_arrow

link
brightness_4
code

square_list = []
  
for number in range(1, 20):
    if number % 2 == 0:
        square_list.append(number * number)
  
print(square_list)

chevron_right


If using list comprehension, you just have to type a less code

filter_none

edit
close

play_arrow

link
brightness_4
code

square_list = [number * number for number in range(1, 20) if number % 2 == 0]
  
print(square_list)

chevron_right


In the same way, dictionary comprehension and set comprehension can be used

filter_none

edit
close

play_arrow

link
brightness_4
code

my_dict = {i: i * i for i in range(10)}
  
my_set =  {i * 10 for i in range(10)}
  
print(my_dict)
  
print(my_set)

chevron_right


11. Modern Dictionary

Python dictionary is so powerful that if you go deeper into python then everything revolves around object and dictionary.

If you want to learn more about the dictionary then check this video, you will learn a lot of important feature of the dictionary

12. Pretty Print

This is the easiest way to print the list and dictionary in a beautiful way by doing

filter_none

edit
close

play_arrow

link
brightness_4
code

import pprint
  
pp = pprint.PrettyPrinter(indent = 4)
  
pp.pprint(my_dict)

chevron_right


This comes in handy when working with a large dictionary or if you are working with JSON file then you can use pprint to print the JSON file.

13. Use Interactive “_” Operator.

filter_none

edit
close

play_arrow

link
brightness_4
code

2 + 2
  
print(_)

chevron_right


The “_” references to the output of the last executed expression.

On the top of this Python also provides a lot of external libraries which has a better feature than any programming language, I am naming a few of the top library below

Numpy
Pandas
Scikit-Learn
Scrapy
Beautiful Soup
OpenCV
Requests
Matplotlib
Pygame
SQLAlchemy
SciPy
Python Twisted

After going through all of the cool features, your feeling is like

That’s all about Python from my side, If you have any doubt or you want to add something, please comment below.

If you like my article, you can follow me on

Quora: https://www.quora.com/profile/Shankar-Jha-20
Medium: https://medium.com/@shankarj67
Twitter: https://twitter.com/Skhk634



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.