Python 3.7.x 介绍-2
流程控制
1.for
>>> # Measure some strings:
... words = ['cat', 'window', 'defenestrate']
>>> for w in words:
... print(w, len(w))
...
cat 3
window 6
defenestrate 12
2.range()
如果你需要迭代一系列数字,内置函数range()就派上用场了。 它生成等差数列
>>> for i in range(5):
... print(i)
...
0
1
2
3
4
3.break, continue, else
break语句就像在C中一样,跳出了最内层的for或while循环。
循环语句可能有一个else子句; 当循环全部走完(for)或条件变为false(while)时终止,子句被执行,但是当循环被break语句终止时,它不被执行。
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print(n, 'equals', x, '*', n//x)
... break
... else:
... # loop fell through without finding a factor
... print(n, 'is a prime number')
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
4.pass
pass语句什么都不做。 当语法需要语句但程序不需要操作时,可以使用它。 例如:
>>> while True:
... pass # Busy-wait for keyboard interrupt (Ctrl+C)
...
5.Define a function
>>> def fib(n): # write Fibonacci series up to n
... """Print a Fibonacci series up to n."""
... a, b = 0, 1
... while a < n:
... print(a, end=' ')
... a, b = b, a+b
... print()
...
>>> # Now call the function we just defined:
... fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
关键字def引入了函数定义。 它必须后跟函数名称和带括号的形式参数列表。 构成函数体的语句从下一行开始,并且必须缩进。
>>> def fib2(n): # return Fibonacci series up to n
... """Return a list containing the Fibonacci series up to n."""
... result = []
... a, b = 0, 1
... while a < n:
... result.append(a) # see below
... a, b = b, a+b
... return result
...
>>> f100 = fib2(100) # call it
>>> f100 # write the result
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
此示例演示了一些新的Python功能:
a. return语句返回一个函数的值。 不带表达式参数的return返回None。 从函数末尾掉落也会返回None。
b. result.append(a)调用list对象结果的方法。
6.Coding Style
使用4空格缩进,没有tab。
4个空间是小缩进(允许更大的嵌套深度)和大缩进(更容易阅读)之间的良好折衷。tab引入混淆,最好省略。
换行,使其不超过79个字符。
这有助于用户使用小显示器,并且可以在较大的显示器上并排放置多个代码文件。
使用空行分隔函数和类,以及函数内的较大代码块。
如果可能,将评论放在他们自己的一行上。
使用docstrings。
在操作符周围和逗号后使用空格,但不能直接在包围结构内:a = f(1,2)+ g(3,4)。
一致地命名您的类和函数;惯例是将CamelCase用于类,使用lower_case_with_underscores(小写加下划线)用于函数和方法。始终使用self作为第一个方法参数的名称(有关类和方法的更多信息,请参阅官方文档)。
如果您的代码旨在用于国际环境,请不要使用花哨的编码。 Python的默认值,UTF-8甚至纯ASCII在任何情况下都能最好地工作。
同样,不同语言背景的人会阅读或维护代码时,请不要在标识符中使用非ASCII字符。