Home  >  Article  >  Backend Development  >  10 hidden easter eggs in using Python

10 hidden easter eggs in using Python

高洛峰
高洛峰Original
2017-03-24 16:10:371662browse

1. Use re.DEBUG to view the matching process of regular expressions

Regular expressions are a major feature of Python, but debugging can be painful and it is easy to find a bug. Fortunately, Python can print out the parse tree of regular expressions and display the complete process of re.compile through re.debug.
10 hidden easter eggs in using Python
Once you understand the syntax, you can spot your mistakes. Here we can see that [/font] forgot to remove []

2. The enumerate function is used to traverse the elements in the list and their subscripts


10 hidden easter eggs in using Python

3. Be careful with default arguments

10 hidden easter eggs in using Python
Instead, you should use a marked value indicating "undefined" to replace "[]".
10 hidden easter eggs in using Python

4. For C-based developers who prefer brackets to indentation, you only need to use the following command:

from __future__ import braces

5. Tricks in slicing operation

a = [1,2,3,4,5] >>> a[::2] [1,3,5]
A special example is x[::-1], which can reverse the list
>>> a[::-1] [5,4,3,2,1]

6. Decorator

Decorator enables calling other functions or methods in a function to increase functionality, thereby modifying parameters or results, etc. Adding a decorator before the function definition only requires one "@"symbol.
The following example shows the usage of a print_args decorator:
10 hidden easter eggs in using Python

7. Trick for getting parameters

You can use * or ** to get out a list or dictionary As a function parameter
10 hidden easter eggs in using Python

8, Exception else statement

10 hidden easter eggs in using Python
It is better to use "else" than adding redundant code in the "try" statement, Because it avoids accidentally getting exceptions that are not protected by try statements... except declarations.

9. Nested list comprehensions and generator expressions

[(i,j) for i in range(3) for j in range(i) ]
(( i,j) for i in range(4) for j in range(i) )
These statements can replace a large number of nested loop code blocks

10. Main sentence patterns

import this
Let us recite the essence of the Zen of Python (The Zen of Python, by Tim Peters):
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.

The above is the detailed content of 10 hidden easter eggs in using Python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn