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程序设计入门(5)类的使用简介
Jun 16 Python
python自然语言编码转换模块codecs介绍
Apr 08 Python
python打开文件并获取文件相关属性的方法
Apr 23 Python
Python的Django框架中设置日期和字段可选的方法
Jul 17 Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
Python 中迭代器与生成器实例详解
Mar 29 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
Python实例方法、类方法、静态方法的区别与作用详解
Mar 25 Python
在pycharm中实现删除bookmark
Feb 14 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
pytorch显存一直变大的解决方案
Apr 08 Python
解决pytorch-gpu 安装失败的记录
May 24 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编程与应用
2006/10/09 PHP
用PHP实现多服务器共享SESSION数据的方法
2007/03/16 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
PHP实现的数独求解问题示例
2017/04/18 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
共享自己写一个框架DreamScript
2007/01/20 Javascript
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
python中精确输出JSON浮点数的方法
2014/04/18 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python装饰器原理与用法深入详解
2019/12/19 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
大型活动策划方案
2014/01/12 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
2014庆六一活动方案
2014/03/02 职场文书
三严三实对照检查材料
2014/09/22 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang