Skip to main content

Enhancing the Python codes...

    Once i came across a problem in Hacker Rank, i solved it. But when i had to revisit the problem, i was not able to read my code. The way the code was written made it very unpleasant to read and understand. Then, I had a spark to better enhance my code. And when i came across PEP-8 ( Python Enhancement Proposal) i thought it is a better enhancement available and followed widely.

    This article will be about discussion on PEP - 8. And this is a summary of the documentation available at https://www.python.org/dev/peps/pep-0008/

Indentation:

    - Use 4 spaces per Indentation level.

    - In case a long line has to be continued in the next line, the continuation line should align wrapped elements either vertically using python's implicit line joining inside parenthesis or use hanging indent.

    - In hanging indent, there should be no argument in the first line and further indentation has to be used to distinguish it from the next line.

    - We have two options aligned with the wrapped element or the hanging indent, the former is preferred in case of  'if' statement. Since "if (" by default has 4 characters ( 'if' has two letters, a white space and a opening bracket).

    - The closing brace/ bracket/ parenthesis on multi line constructs either line up under the first non-white space character of the last line or  it may be lined up under the first line of the multi line construct.

   - Its better to break a binary operator for better readability of code.

Maximum Line Length:

    - Limit all the lines to a maximum of 79 characters. It is fine to have up to 99 characters of code in the line if it is not widely shared or documented.

    - For flowing long blocks of text with fewer structural restriction ( doc string or comments), the line length should be limited to 72 characters.

    - '\' can be used to continue a line.
 

Comments

Popular posts from this blog

CodeSignal - Almost Strictly Increasing Sequence

I came across an interesting question in Code Signal.   "Given a sequence of integers as an array, determine whether it is possible to obtain a strictly increasing sequence by removing no more than one element from the array."                                                                                                         It is strictly increasing if every element in the array is greater than its successor.     For a strictly increasing sequence we can check for each element whether it is greater than the next. In that case we can come to a conclusion that this sequence is not strictly increasing. If every element is greater than the successor we get to know it is a strictly increasing.    For worst case(The sequence is strictly increasing), the algorithmic complexity is O(n).     If we use similar approach for the question, we have to remove each element and pass the sequence to the above function.      So for n elements, we use a fun

Deep Learning (Goodfellow et al) - Chapter 2 review

     This chapter is the first chapter of the part - 1. This part prepares you for Deep learning and in this chapter Linear Algebra is covered. The author advice you to skip the chapter if you are already familiar with the concepts. Also it is not that you can become Gilbert Strang after reading this chapter! The chapter is so concise that what may be relevant to our future acquaintance with the book are only present here. Only at the end of the chapter some concepts author speaks on the application part. The focus is on mathematical concepts involving Linear Algebra.       Though Science and Engineering use Linear Algebra efficiently, Computer scientist have lesser experience with it. This is the motivation of the chapter and if you have experience it then author provides you with a reference (The Matrix Cookbook - Petersen and Pedersen, 2006) and waves you good bye to meet in the next chapter.      Definitions of scalar, vector, matrix and tensor are listed one by one