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使用os模块的os.walk遍历文件夹示例
Jan 27 Python
利用python画一颗心的方法示例
Jan 31 Python
python获取指定时间差的时间实例详解
Apr 11 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
对python使用http、https代理的实例讲解
May 07 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
python Tcp协议发送和接收信息的例子
Jul 22 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
15个Pythonic的代码示例(值得收藏)
Oct 29 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 Python
浅析Python中的套接字编程
Jun 22 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使之能同时支持GIF和JPEG
2006/10/09 PHP
sae使用smarty模板的方法
2013/12/17 PHP
php通过字符串调用函数示例
2014/03/02 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
ionic 3.0+ 项目搭建运行环境的教程
2017/08/09 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
Python中的变量和作用域详解
2016/07/13 Python
django使用图片延时加载引起后台404错误
2017/04/18 Python
基于python socketserver框架全面解析
2017/09/21 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
python中时间模块的基本使用教程
2019/05/14 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
python字典key不能是可以是啥类型
2020/08/04 Python
python 还原梯度下降算法实现一维线性回归
2020/10/22 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
自荐信模版
2013/10/24 职场文书
端午节演讲稿
2014/05/23 职场文书
社区志愿者活动方案
2014/08/18 职场文书
党支部三会一课计划
2014/09/24 职场文书
2015大学生实训报告
2014/11/05 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
面试通知短信
2015/04/20 职场文书