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中使用模块的教程
Apr 27 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
python如何实现数据的线性拟合
Jul 19 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
django model object序列化实例
Mar 13 Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
python pyhs2 的安装操作
Apr 07 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 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魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
Javascript 继承机制实例
2009/08/12 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
Python深入学习之上下文管理器
2014/08/31 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Python实现的桶排序算法示例
2017/11/29 Python
Python Flask基础教程示例代码
2018/02/07 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
关于廉洁的广播稿
2014/01/30 职场文书
市场部经理岗位职责
2014/04/10 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
同事打架检讨书
2015/05/06 职场文书
爱护公物主题班会
2015/08/17 职场文书