控制流语句和函数function
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 控制流语句:
条件if
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。各种类型中某些值会自动被转化为False,其他值则是True如:None, 0, 0.0, ' ', [ ], ( ), set( )。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if<判断条件>:
<执行语句>
elif<判断条件>:
<执行语句>
else:
<执行语句>
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
>>>num=8 # 判断值是否在0~5或者10~15之间
>>>if (num>=0 and num<=5)or(num>=10 and num<=15):
print 'hello'
>>>else:
print 'undefine'
# 输出结果: undefine
while 循环
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while<判断条件>:
<执行语句>
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假false时,循环结束。执行流程图如下:
Gif 演示 Python while 语句执行过程
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:
for循环
for<变量> in <可迭代对象>:
<语句块>
for循环可迭代的对象有很多的类型:字符串、列表、元组、集合、等也可以是生成器、迭代器等。
循环使用 else 语句
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
函数function
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。以下是简单的规则:
# 函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
# 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
# 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
# 函数内容以冒号起始,并且缩进。
# return [表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法:
定义函数:def语句;
def <函数名> (<参数表>):
<缩进的代码块>
return<函数返回值>
默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的。
调用函数:<函数名>(<参数>)
注意括号!
无返回值: <函数名>(<参数表>)
返回值赋值:v=<函数名>(<参数表>)
定义函数的参数:固定参数/可变参数
一种是在参数表中写明参数名key的参数,固定了顺序和数量。
def func(key1,key2,key3...)
def func(key1,key2=value2,key3...)
一种是定义时还不知道会有多少参数传入的可变的参数。
def func(*args): #不带key的多个参数
def func(**kwargs): #key=val形式的多个参数
调用函数的参数:位置参数/关键字参数
调用函数时,可以传进两种参数:
一种是没有名字的位置参数
func(arg1,arg2,arg3...)
会按照前后顺序对应到函数参数传入。
一种是带key的关键字参数
func(key1=arg1,key2=arg2...)
由于指定了key ,可以不按照顺序对应。
# 如果混用,所有位置参数必须在前,关键字参数必须在后
全局变量和局部变量
全局变量: 定义在函数外的拥有全局作用域,全局变量可以在整个程序范围内访问,全局变量想作用于函数内,需加 global。
局部变量:定义在函数内部的变量拥有一个局部作用域,局部变量只能在其被声明的函数内部访问,调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:
网友评论