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自动化测试实例解析
Sep 28 Python
详细分析python3的reduce函数
Dec 05 Python
python爬虫获取百度首页内容教学
Dec 23 Python
对Python捕获控制台输出流的方法详解
Jan 07 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
Python xlrd excel文件操作代码实例
Mar 10 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 Python
基于python 取余问题(%)详解
Jun 03 Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 Python
详解pandas赋值失败问题解决
Nov 29 Python
python前后端自定义分页器
Apr 13 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
2019/06/22 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
利用Python循环(包括while&amp;for)各种打印九九乘法表的实例
2017/11/06 Python
vscode 远程调试python的方法
2017/12/01 Python
Python中反射和描述器总结
2018/09/23 Python
python assert的用处示例详解
2019/04/01 Python
python写程序统计词频的方法
2019/07/29 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
django API 中接口的互相调用实例
2020/04/01 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
正规的求职信范文分享
2013/12/11 职场文书
学生自我评价范文
2014/02/02 职场文书
物理学专业自荐信
2014/06/11 职场文书
小学生读书活动总结
2014/06/30 职场文书
社会实践的活动方案
2014/08/22 职场文书
六查六看自查报告
2014/10/14 职场文书
团拜会主持词
2015/07/04 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
redis lua限流算法实现示例
2022/07/15 Redis