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使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Python面向对象编程中关于类和方法的学习笔记
Jun 30 Python
Python的requests网络编程包使用教程
Jul 11 Python
python 按照固定长度分割字符串的方法小结
Apr 30 Python
python得到windows自启动列表的方法
Oct 14 Python
用Python PIL实现几个简单的图片特效
Jan 18 Python
对Python 获取类的成员变量及临时变量的方法详解
Jan 22 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 Python
Python如何获取文件指定行的内容
May 27 Python
Python文件的操作示例的详细讲解
Apr 08 Python
python实现双向链表原理
May 25 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&amp;MYSQL服务器配置说明
2006/10/09 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
2008/09/10 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
php时间戳转换代码详解
2019/08/04 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
python解析文件示例
2014/01/23 Python
Python引用模块和查找模块路径
2016/03/17 Python
Python将多个excel文件合并为一个文件
2018/01/03 Python
python简单实现操作Mysql数据库
2018/01/29 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
解决Python对齐文本字符串问题
2019/08/28 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
python保留小数位的三种实现方法
2020/01/07 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
快速创建python 虚拟环境
2020/11/28 Python
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
写自荐信要注意什么
2013/12/26 职场文书
志愿者活动总结报告
2014/06/27 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书