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中将字典转换为XML以及相关的命名空间解析
Oct 15 Python
Python while 循环使用的简单实例
Jun 08 Python
Python构建XML树结构的方法示例
Jun 30 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
Jan 06 Python
python ftp 按目录结构上传下载的实现代码
Sep 12 Python
python之PyQt按钮右键菜单功能的实现代码
Aug 17 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
Sep 23 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
Python基于stuck实现scoket文件传输
Apr 02 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 Python
如何理解及使用Python闭包
Jun 01 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按字符无乱码截取中文的方法
2015/03/27 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
密码强度检测效果实现原理与代码
2013/01/04 Javascript
js和jquery使按钮失效为不可用状态的方法
2014/01/26 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
Python的函数嵌套的使用方法
2014/01/24 Python
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python实现红包裂变算法
2016/02/16 Python
pyhanlp安装介绍和简单应用
2019/02/22 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
Python3如何使用range函数替代xrange函数
2020/10/05 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
欧洲有机婴儿食品最大的市场:Organic Baby Food(供美国和加拿大)
2018/03/28 全球购物
美国轮胎网站:Priority Tire
2018/11/28 全球购物
单位领导证婚词
2014/01/14 职场文书
2014年优秀党员材料
2014/12/18 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis
只用20行Python代码实现屏幕录制功能
2021/06/02 Python
Python实现批量自动整理文件
2022/03/16 Python