Home > Backend Development > Python Tutorial > Detailed explanation of Python code indentation and test module examples

Detailed explanation of Python code indentation and test module examples

不言
Release: 2018-05-07 11:50:54
Original
1359 people have browsed it

This article mainly introduces the detailed explanation of Python code indentation and test module examples. It has certain reference value. Now I share it with you. Friends in need can refer to it

Preface

Python code indentation and testing modules are an indispensable part of learning Python. This article mainly introduces the relevant content about Python code indentation and testing modules and shares them with everyone. Reference study, not much to say below, let’s take a look at the detailed introduction.

1. Python code indentation

Python functions do not have obvious begin and end, and there is no indication of the beginning and end of the function. curly braces. The only delimiter is a colon ( : ), and then the code itself is indented.

Example: Indentation buil dCon necti onStr ing function

def buildConnectionString(params):
"""Build a connection string from a dictionary of parameters.
Returns string."""
return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
Copy after login

Code blocks are defined by their indentation. By "blocks of code" I mean: functions, if statements, for loops, while loops, etc. Starting an indent indicates the beginning of a block, and canceling an indent indicates the end of a block. There are no obvious parentheses, braces or keywords. This means that whitespace is important and consistent. In this example, the function code (including the doc string) is indented by 4 spaces. It doesn’t have to be 4, just consistent. The first unindented line is considered outside the function body.

For example: "if statement" shows an example of indentation of an if statement.

def fib(n): (1)
print 'n =', n (2)
if n > 1: (3)
return n * fib(n - 1)
else: (4)
print 'end of the line'
return 1
Copy after login

(1) This is a function named fib with one parameter n. All code within functions is indented.

(2) It is very easy to output content to the screen in Python, just use print. The print statement can accept any data type, including strings, integers, and other types such as dictionaries and lists. You can even mix the output together, just separate them with commas. All values ​​are printed on the same line, separated by spaces (commas are not printed). So when fib is called with 5, "n = 5" will be output.

(3) The if statement is a kind of code block. If the if expression evaluates to true, the following indented block will be executed, otherwise the else block will be executed.

(4) Of course if and else blocks can contain many lines, as long as they are all equally indented. There are two lines of code in this else block. There is no special syntax for multi-line blocks, just indentation. After some initial protest and a few mocking analogies to Fortran, you'll make peace with code indentation and start to see its benefits. A major benefit is that all Python programs look similar because indentation is a language requirement rather than a style. This makes it much easier to read and understand other people's Python code.

Note: Python vs. Java: Statements and Statement Splitting

Python uses hard returns to split statements, and colons and indentation to split code blocks. C and Java use semicolons to separate statements and curly braces to separate blocks of code.

2. Python test module

All Python modules are objects and have several useful attributes. You can use these properties to easily test the modules you write. Here's a trick using if name.

if name == "__main__":

Before moving on to learn something new, there are a few important observations. First, if expressions do not need to be enclosed in parentheses. Second, the if statement ends with a colon, followed by the indented code.

Note: Python vs. C: Comparison and Assignment


Like C, Python uses == for comparison and = for assignment. Unlike C, Python does not support inline assignment, so there is no chance of an unexpected assignment occurring when you intend to perform a comparison.

So why is this special if statement a trick? Modules are objects, and all modules have a built-in property name . The value of a module's name depends on how you apply the module. If a module is imported, the value of name is usually the module's filename, without a path or file extension. But you can also run the module directly like a standard program, in which case the value of name will be a special default value, main .

>>> import odbchelper
>>> odbchelper.__name__
'odbchelper'
Copy after login

Once you know this, you can design a test suite for your module inside the module and include this if statement in it. When you run the module directly, the value of name is main , so the test suite executes. When you import the module, the value of name is something else, so the test suite is ignored. This makes it much easier to develop and debug new modules before integrating them into a larger program.

Tip: if name on Mac OS __


On MacPython, an extra step is required to make the if name trick work. Click the black triangle in the upper right corner of the window to pop up the module's properties menu and confirm that Run as main is selected.

  • Explanation on how to use Python unit testing framework unittest

  • Python test implementation method

Related recommendations :

Packaging and publishing of Python code

Method to separate python code and comments_python

Cross-validation and python Code

The above is the detailed content of Detailed explanation of Python code indentation and test module examples. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template