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 相关文章推荐
pycharm 使用心得(三)Hello world!
Jun 05 Python
python使用datetime模块计算各种时间间隔的方法
Mar 24 Python
python使用BeautifulSoup分析网页信息的方法
Apr 04 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
Python基于回溯法子集树模板实现8皇后问题
Sep 01 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
Feb 11 Python
Python 自由定制表格的实现示例
Mar 20 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 16 Python
django中websocket的具体使用
Jan 22 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 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
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
PHP新手上路(十四)
2006/10/09 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
2012/06/28 PHP
深入PHP异步执行的详解
2013/06/03 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
PHP 访问数据库配置通用方法(json)
2018/05/20 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
JavaScript 页面编码与浏览器类型判断代码
2010/06/03 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
简单快速的实现js计算器功能
2017/08/17 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
django解决跨域请求的问题详解
2019/01/20 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
什么是跨站脚本攻击
2014/12/11 面试题
百货商场楼层班组长竞聘书
2014/03/31 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
青奥会口号
2014/06/12 职场文书
霸气队列口号
2014/06/18 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
优秀教师申报材料
2014/12/16 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers