DEV Community

Cover image for What it really owes to be a better Python Developer
Gaurav
Gaurav

Posted on • Originally published at tekraze.com

What it really owes to be a better Python Developer

Whenever you learn any new programming language the question that envisage by everybody after grabbing core concepts, when you are ready to move on to the advanced and specific area with Python ?

The toughest thing is to decide when you should move on to specific area with python, or still need to practice core of the language. Core doesn’t involve understanding syntax and making your program to run and get the desired output. It involves when to use a particular data structure, what operation of that data structure causes what effects, and how to achieve the desired output with given data structures or operations or inbuilt libraries effectively and efficiently. If you are able to answer few basics Questions, then you are ready to move on to advanced concepts. Don’t believe on those who enjoy to demean, instead of motivating you to give on the new start.

Note: These Questions are just list of some concepts according to my experience is enough to build real stuff.
List of Question

Q1: What is the difference between mutable and immutable data structure of Python, which data structure of Python is mutable and which is immutable?

Are you able to answer to the first one that’s cool, now answer other too If You are able to answer these questions then You are ready to move on buddy….

Q2: What’s the output of the following

>>> my_list = [1,4,5]
>>> my_new_list = my_list
>>> my_new_list[1] = 69
>>> print(my_list)
Enter fullscreen mode Exit fullscreen mode

I am sure you will be able to answer this one too…, and not get amazed by the output. If you are not, then you need to put more time on practice.
Q3. When you able to understand the concepts of list comprehension.

Consider the Following Snippets:


>>> matrix = [[25,2,5],[23,421,42],[42,2,1],[0,32,6]]
>>> new_matrix = [[row[i] for rows in matrix] for i in range(3)]
>>> print (new_matrix)
Enter fullscreen mode Exit fullscreen mode

Q4: When to use args and kwargs to make your functions or methods flexible?

Q5: Why to use decorators and how to write decorators efectively?

Q6: What’s the the difference between @staticmethod and @classmethod, and when to use which function?

Though both of the decorators appears same but there is a one big difference, that is classmethod is used when you need the object of that class in output or have to deal with the object of that class in that method.

Q7: In what case generator should be used, and how to use them effectively ?

Q8: You must know how to play game with Regex?

Since in advanced field of python you might be using them in many cases like validating a phone number, validating pattern. or searching for some sorts of data that consist of many pages.

Q9: The most strangest thing in Python Ellipsis … (optional)

Q10: What’s the difference between from module import first, second and import module

Q11: This is the most important part that you must be able to do, that is debug Your Code, in case of any errors or exception.

If you are able to answer or perform all then you are ready to move on to advanced section of Python, No need to worry about forgetting concepts, Leave that on Google. So What to do next after having that much of sufficient knowledge ? You can read various field that python lets you choose by reading Why Python Programming?

If I missed out something, You may add up more through comments or You could read Similar Post at What it really owes to be a better Python Developer

Top comments (0)