python学习随笔
x[index], x[index:index], x(arguments...), x.attribute :下标、切片、调用、属性引
用
(expressions...), [expressions...], {key: value...}, {expressions...} :表示绑定或元
组、表示列表、表示字典、表示集合
控制流
正如你可能已经猜测到的那番,这是通过控制流语句来实现的。在 Python 中有三种控制流语
句—— if for 和 while 。
if 语句
if 语句用以检查条件:如果 条件为真(True),我们将运行一块语句(称作 if-block 或 if
块),否则 我们将运行另一块语句(称作 else-block 或 else 块)。其中 else 从句是可选
while 语句
while 语句能够让你在条件为真的前提下重复执行某块语句。 while 语句是 循环(Looping) 语句的一种。 while 语句同样可以拥有 else 子句作为可选选
for 循环
for...in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目。我们将在后面的序列(Sequences)章节中了解有关它的更多内容。现在你所需要的就是所谓队列就是一系列项目的有序集
break 语句
break 语句用以中断(Break)循环语句,也就是中止循环语句的执行,即使循环条件没有变更为 False ,或队列中的项目尚未完全迭代依旧如此。有一点需要尤其注意,如果你 中断 了一个 for 或 while 循环,任何相应循环中的 else块都将不会被执
continue 语句
continue 语句用以告诉 Python 跳过当前循环块中的剩余语句,并继续该循环的下一次迭代。
函数
函数(Functions)是指可重复使用的程序片段。它们允许你为某个代码块赋予名字,允许你
通过这一特殊的名字在你的程序任何地方来运行代码块,并可重复任何次数。这就是所谓的
调用(Calling)函数。
函数可以通过关键字 def 来定义。这一关键字后跟一个函数的标识符名称,再跟一对圆括
号,其中可以包括一些变量的名称,再以冒号结尾,结束这一行。随后而来的语句块是函数
的一部分。
函数参数
函数可以获取参数,这个参数的值由你所提供,借此,函数便可以利用这些值来做一些事
情。这些参数与变量类似,这些变量的值在我们调用函数时已被定义,且在函数运行时均已
赋值完成。
函数中的参数通过将其放置在用以定义函数的一对圆括号中指定,并通过逗号予以分隔。当
我们调用函数时,我们以同样的形式提供需要的值。要注意在此使用的术语——在定义函数
时给定的名称称作“形参”(Parameters),在调用函数时你所提供给函数的值称作“实
参”(Arguments)。
局部变量
当你在一个函数的定义中声明变量时,它们不会以任何方式与身处函数之外但具有相同名称
的变量产生关系,也就是说,这些变量名只存在于函数这一局部(Local)。这被称为变量的
作用域(Scope)。所有变量的作用域是它们被定义的块,从定义它们的名字的定义点开始。
global 语句
如果你想给一个在程序顶层的变量赋值(也就是说它不存在于任何作用域中,无论是函数还是类),那么你必须告诉 Python 这一变量并非局部的,而是全局(Global)的。我们需要通过 global 语句来完成这件事。因为在不使用 global 语句的情况下,不可能为一个定义于函数之外的变量赋值。
关键字参数
如果你有一些具有许多参数的函数,而你又希望只对其中的一些进行指定,那么你可以通过
命名它们来给这些参数赋值——这就是关键字参数(Keyword Arguments)——我们使用命
名(关键字)而非位置(一直以来我们所使用的方式)来指定函数中的参数。
这样做有两大优点——其一,我们不再需要考虑参数的顺序,函数的使用将更加容易。其
二,我们可以只对那些我们希望赋予的参数以赋值,只要其它的参数都具有默认参数值。
可变参数
有时你可能想定义的函数里面能够有任意数量的变量,也就是参数数量是可变的,这可以通
过使用星号来实现
return 语句
return 语句用于从函数中返回,也就是中断函数。我们也可以选择在中断函数时从函数中返回一个值。
DocStrings
Python 有一个甚是优美的功能称作文档字符串(Documentation Strings),在称呼它时通常
会使用另一个短一些的名字docstrings。DocStrings 是一款你应当使用的重要工具,它能够帮
助你更好地记录程序并让其更加易于理解。令人惊叹的是,当程序实际运行时,我们甚至可
以通过一个函数来获取文档!