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语言的优雅之处
Jul 04 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
python实现发送邮件功能代码
Dec 14 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
Python实现自动上京东抢手机
Feb 06 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
对django中foreignkey的简单使用详解
Jul 28 Python
解析python实现Lasso回归
Sep 11 Python
Django的CVB实例详解
Feb 10 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
python 画条形图(柱状图)实例
Apr 24 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 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
模板引擎正则表达式调试小技巧
2011/07/20 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
php提交表单发送邮件的方法
2015/03/20 PHP
PHP网络操作函数汇总
2015/05/18 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
django 自定义过滤器的实现
2019/02/26 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
周鸿祎:教你写创业计划书
2013/12/30 职场文书
法学院方阵解说词
2014/01/29 职场文书
财务担保书范文
2014/04/02 职场文书
企业贷款委托书格式
2014/09/12 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
Java详细解析==和equals的区别
2022/04/07 Java/Android