Python3中条件控制、循环与函数的简易教程


Posted in Python onNovember 21, 2017

一、条件控制

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块,而计算机很多自动化任务,也是根据条件判断来实现的。

我们可以通过下图,来了解一下条件语句执行的过程

Python3中条件控制、循环与函数的简易教程

和 Java 差不多,不同点:

1、每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块;

2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块;

3、elif 代替了 else if;

4、在 Python 中没有 switch ? case 语句。

age = 18
if age <= 2:
 print('婴儿')
elif age <= 5: # elif 代替了 else if
 print('幼儿')
elif age <= 12:
 print('儿童')
elif age <= 18:
 print('少年')
elif age <= 40:
 print('青年')
elif age <= 59:
 print('中年')
else:
 print('老年')

二、循环

Python 中的循环语句有 for 和 while。

for

names = ['n1', 'n2', 'n3', 'n4']
for n in names:
 print(n)

while

m = 5
n = 0
while n <= 5: # 符合条件执行下面语句块
 n += 1
 print('循环次数:' + str(n))
else: # 可以有 else
 print('不符合条件')

注意:Python 没有 do..while 循环

break 和 continue 语句

和 Java 一样,break 跳出循环体;continue 中断此次循环,继续进行下一轮循环。

pass 语句

pass 是空语句,不做任何事情,是为了保持程序结构的完整性。

names = ['n1', 'n2', 'n3', 'n4']
for m in names:
 pass # 这里什么都不写,会报错

多重循环

在循环内部,还可以嵌套循环,我们来看一个例子:

for x in ['A', 'B', 'C']:
for y in ['1', '2', '3']:
print x + y

x 每循环一次,y 就会循环 3 次,这样,我们可以打印出一个全排列:

A1
A2
A3
B1
B2
B3
C1
C2
C3

三、函数

定义

函数定义使用 def 关键字,函数命名全部小写,可由下划线连接各个单词。

一般格式如下:

def 函数名(参数列表):
 函数体

实例

def hello():
 print('Hello,Python3')
hello() # 函数调用

必传参数

必传参数必须以正确的顺序传入参数。

def hello1(x, y):
 print(x, y)
hello1('必传', '参数')

默认参数

给参数添加默认值,默认参数可不传。

def hello2(x, y, z=8, name='wxl'):
 print(x, y, z, name)
hello2(666, 999) # 相当于hello2(666, 999,8,'wxl')
hello2(666, 999, 888) # 打印:666 999 888 wxl
hello2(666, 999, 888, 'WuXiaolong') # 打印:666 999 888 WuXiaolong
hello2(666, 999, name='WuXiaodlong') # 不按顺序提供默认参数,打印:666 999 8 WuXiaodlong

注意:

1、必传参数必须在前,默认参数在后,否则 Python 解释器会报错;

2、不按顺序提供默认参数,需要把参数名写上。

可变参数

可变参数顾名思义参数个数不定,在参数前面加了一个 * 号,可变参数接收到的是一个 tuple,这样传入的参数个数是可变的,可以是 1 个、2 个、任意个,还可以是 0 个。

def hello3(*y):
 print(y)
hello3(1, '2', 3.0, True) # 打印:(1, '2', 3.0, True)
hello3('wxl') # 打印:('wxl',)
hello3() # 打印:()
def hello4(x, *y):
 print(x, y)
hello4(1, '2', 3.0, True) # 打印:1 ('2', 3.0, True)
hello4('wxl') # 打印:wxl ()

关键字参数

与可变参数类似,关键字参数个数不定,在参数前面加了一个 ** 号,关键字参数接收到的是一个 dict。

def hello5(x, **y):
 print(x, y)
hello5(1024) # 打印:1024 {}
hello5(1024, name='WuXiaolong', code=520) # 打印:1024 {'name': 'WuXiaolong', 'code': 520}

返回值

使用 return 语句,可以将函数作为一个值赋值给指定变量。

def hello6(x):
 return x
print(hello6(666)) # 打印:666
def hello7(x, y):
 return x, y
m = hello7(666, 999)
type(m)
print(type(m), m) # 打印:<class 'tuple'> (666, 999)

全局变量

在函数里给一个变量赋值的时候,Python 自动认为这个变量是这个作用域的本地变量,并屏蔽作用域外的同名的变量,可以声明 global,表示在向一个全局变量赋值。

# 全局变量
z = 1024
def hello8():
 global z
 z = 520
 print('z=' + str(z)) # z=520
hello8()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
在Python中处理列表之reverse()方法的使用教程
May 21 Python
python实现备份目录的方法
Aug 03 Python
浅谈django中的认证与登录
Oct 31 Python
查看python安装路径及pip安装的包列表及路径
Apr 03 Python
Python中字符串与编码示例代码
May 20 Python
python如何统计代码运行的时长
Jul 24 Python
Python 依赖库太多了该如何管理
Nov 08 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
python图片验证码识别最新模块muggle_ocr的示例代码
Jul 03 Python
深入了解Python 方法之类方法 &amp; 静态方法
Aug 17 Python
Python3 循环语句(for、while、break、range等)
Nov 20 #Python
Python虚拟环境项目实例
Nov 20 #Python
Python插件virtualenv搭建虚拟环境
Nov 20 #Python
使用tensorflow实现AlexNet
Nov 20 #Python
Django在win10下的安装并创建工程
Nov 20 #Python
Python2与python3中 for 循环语句基础与实例分析
Nov 20 #Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 #Python
You might like
php实现的操作excel类详解
2016/01/15 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
JS实现两个大数(整数)相乘
2014/04/28 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
讲解Python中的标识运算符
2015/05/14 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
python 实现list或string按指定分段
2019/12/25 Python
pytorch实现线性拟合方式
2020/01/15 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
匡威德国官网:Converse德国
2019/01/26 全球购物
RealTek面试题
2016/06/28 面试题
师范院校学生自荐信范文
2013/12/27 职场文书
一岗双责责任书
2014/04/15 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
清洁工个人工作总结
2015/03/05 职场文书
消防宣传语大全
2015/07/13 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书