Python3 学习手册(二) 流程控制语句
来源:互联网 发布:linux wine 运行 exe 编辑:程序博客网 时间:2024/05/20 21:20
转载请注明本文出自maplejaw的博客(http://blog.csdn.net/maplejaw_)
上一篇,我们学习了Python中的基本数据类型,也顺带讲了下while
循环。本篇开始系统的介绍一些流程控制语句。为了方便演示,本篇开始将部分源码写成.py文件,然后运行测试。
首次我们建立demo.py的文本文件。然后使用Python自带的IDIE打开编程即可。按F5即可运行程序。
if语句
和其他编程语言一样,Python也有if语句,但是跟其他编程语言却不太相同,倒是像其他语言中的switch语句,此外,需要注意的是else if 应写为elif
。务必记住,条件体内一定要缩进,否则会报错。
x=int(input("请输入一个整数:")); #这里使用int()进行转型,相当于java中的Integer.parseIntif x<0: print("该数小于0");elif x==0: print("该数等于0");else : print("该数大于0");
for语句
for循环相当于java中的for-each语句,使用for [x] in [x] :
形式,第一个参数表示你取的名字,第二个参数表示要遍历的列表。
words=['你','你好','你们','你们好'];for w in words: #遍历list print(w);print('第二次循环--->') for w in words[1:]:# 指定遍历范围 print(w);
如果只是想来个从0到9的循环,该怎么做?使用range()
函数。
for i in range(10): print(i)
当然,range也可以如下用法。
words=['你','你好','你们','你们好'];for i in range(len(words)): print(words[i])
range()
也是可以指定范围的。
一个参数:表示0到stop(不包括)。
两个参数:start到stop(不包括)。
三个参数:start到stop(不包括),但是第三个参数step表示步数
break、continue和else语句
break语句等同于C语言,用于跳出最小for循环或while循环。与C语言不同的是python中循环语句可以有else
条件。else
只在for循环结束时执行(不包括break跳出导致的结束)。
以下的程序用来打印出10以内的素数:
for n in range(2, 10): for x in range(2, n): if n % x == 0: print(n, '=', x, '*', n//x) break else: print(n, '是一个素数')else: print('全部执行完毕')
结果为:
2 是一个素数3 是一个素数4 = 2 * 24 是一个素数5 是一个素数6 = 2 * 36 是一个素数7 是一个素数8 = 2 * 48 是一个素数9 = 3 * 39 是一个素数hello word
continue 语句用于继续下一个循环。
for num in range(2, 10): if num % 2 == 0: print('可以被2整除', num) continue print('不能被2整除', num)
定义函数
在了解定义函数之前,我们先来了解下,怎么使用python内置的函数。
求绝对值:abs
求最大值:max
现在来自定义函数,自定义函数必须使用def
来声明,以下定义了一个简单的求两个数之间最大值的函数。
def max(i ,j): if i>j: print(i) else: print(j)
定义完函数外就可以直接使用了。
max(9,10) # 10
当然我们可以给函数取一个别名,以下为取名m来使用
但是我们发现以上函数有个缺陷,最大数无法赋值给一个变量。怎么使函数有返回值呢?只需使用return
关键字即可。
def max(i, j): if i > j: return i else: return jn = max(1, 11)print(n) # 11,如果没有使用return 则为 None
定义函数时,可以给参数一个默认值。
def max(i, j=10): if i > j: return i else: return jn = max(1)print(n) # 10n = max(1,-1)print(n) # 1n = max(j=-1,i=3) #这里可以指明关键字print(n) # 3
函数中使用可变参数。 *name
表示可变参数,**name
表示关键字参数,内部包装为字典,字典相当于java中的map,需要指明参数名。
def test(*arguments, **keywords): for arg in arguments: print(arg) print("-" * 40) for kw in keywords.keys(): # 获取字典的key集合 print(kw, ":", keywords[kw])test("参数1", "参数2", "参数3", shopkeeper="字典1", client="字典2", sketch="字典3")
测试结果如下:
当然,我们可以指明关键字。
def test(*arguments, *,city,age): ## 表示只能传入city和age的关键字参数
pass语句
pass这个语句表示什么事都不做。可以当做占位符来使用,常用来定义空函数,或空条件。因为python中不允许定义空函数,故用pass
占位
def max(i, j=10): pass
编程风格
- 使用4个空格进行缩进
- 每一行不要超过79个字符
- 函数,类,代码块之间因加上空行
- 尽量多写注释
- 使用文档注释
- 操作符左右,逗号后面记得加空格
- 类名命名遵守驼峰规则,函数与方法遵守小写+下划线的形式
- 第一个方法参数使用
self
命名
- Python3 学习手册(二) 流程控制语句
- java基础(二)----流程控制语句跳转控制语句
- java流程控制语句(二)
- Linux下C语言学习(二)——流程控制语句和数组的学习
- 黑马程序员_java自学学习笔记(二)----流程控制语句
- oracle控制语句学习二——case流程控制语句
- Scala学习笔记(二)流程控制
- 【perl】学习手记(二)--流程控制
- Java语言基础(二)---程序流程控制语句、函数
- 第7次课 流程控制语句程序(二)
- PHP 基础知识总结二(流程控制语句)
- scala学习笔记(二) 控制语句
- Python3.2官方文档教程-流程控制语句(if,for,pass)
- JAVA基础再回首(二)——流程控制语句、跳转控制语句
- 二十九日结束第一遍流程控制语句
- Go 之旅二: 流程控制语句
- java学习二:流程控制
- 流程控制(二)
- sql server 2008 代理服务提供的凭据无效
- 解决问题的步骤
- Java环境jdk安装
- adb push 文件夹到手机目录上
- android-----View工作原理系列(二)
- Python3 学习手册(二) 流程控制语句
- Jtest工具介绍及使用案例
- 2016.7.5 安防界面layout的相关问题
- poj 2186 Popular Cows
- springmvc整合cxf遇到的坑
- 深入浅出MagicalRecord-02
- 【hdu】1664 different digits【搜索+字符串处理】
- postgre数据库远程连接配置
- 杂记