python基础(五)缩进和选择

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

缩进

Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。

先看C语言的表达方式(注意,这是C,不是Python!)

if ( i > 0 )
{
    x = 1;
    y = 2;
}

如果i > 0的话,我们将进行括号中所包括的两个赋值操作。括号中包含的就是块操作,它隶属于if。

在Python中,同样的目的,这段话是这样的

if i > 0:
    x = 1
    y = 2

在Python中, 去掉了i > 0周围的括号,去除了每个语句句尾的分号,表示块的花括号也消失了。

多出来了if ...之后的:(冒号), 还有就是x = 1 和 y =2前面有四个空格的缩进。通过缩进,Python识别出这两个语句是隶属于if。

Python这样设计的理由纯粹是为了程序好看。

if语句

写一个完整的程序,命名为ifDemo.py。这个程序用于实现if结构。

i = 1
x = 1
if i > 0:
    x = x+1
print x

$python ifDemo.py  # 运行

程序运行到if的时候,条件为True,因此执行x = x+1,。

print x语句没有缩进,那么就是if之外。

如果将第一句改成i = -1,那么if遇到假值 (False), x = x+1隶属于if, 这一句跳过。 print x没有缩进,是if之外,不跳过,继续执行。

这种以四个空格的缩进来表示隶属关系的书写方式,以后还会看到。强制缩进增强了程序的可读性。

复杂一些的if选择:

i = 1
if i > 0:    print ‘positive i‘
    i = i + 1
elif i == 0:    print ‘i is 0‘
    i = i * 10
else:    print ‘negative i‘
    i = i - 1
print ‘new i:‘,i

这里有三个块,分别属于if, elif, else引领。
Python检测条件,如果发现if的条件为假,那么跳过后面紧跟的块,检测下一个elif的条件; 如果还是假,那么执行else块。
通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。

整个if可以放在另一个if语句中,也就是if结构的嵌套使用:

i  = 5
if i > 1:
    print ‘i bigger than 1‘
    print ‘good‘
    if i > 2:
        print ‘i bigger than 2‘
        print ‘even better‘

if i > 2 后面的块相对于该if缩进了四个空格,以表明其隶属于该if,而不是外层的if。

总结

if语句之后的冒号

以四个空格的缩进来表示隶属关系, Python中不能随意缩进

if  <条件1>:

statement

elif <条件2>:

statement

elif <条件3>:

statement

else:

statement

时间: 2024-08-14 00:21:29

python基础(五)缩进和选择的相关文章

Python基础05 缩进和选择

Python基础05 缩进和选择 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例.if后面跟随条件,如果条件成立,则执行归属于if的一个代码块. 先看C语言的表达方式(注意,这是C,不是Python!) if ( i > 0 ) { x = 1; y = 2; } 如果i > 0的话,我们将进行括号中所包括的两个赋值操作.括号中包含的就是块操作

python基础05 缩进与选择

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例.if后面跟随条件,如果条件成立,则执行归属于if的一个代码块. 先看C语言的表达方式(注意,这是C,不是Python!) if ( i > 0 ) { x = 1; y = 2; } 如果i > 0的话,我们将进行括号中所包括的两个赋值操作.括号中包含的就是块操作,它隶属于if. 在Python中

python基础五——模块

python模块(标准.自定义.第三方模块).python的os.sys和时间模块和__name__. 一.python模块 import 模块的实质就是把要导入模块里面的代码,从上到下执行一遍.找模块的顺序是,首先是当前目录,然后是环境变量里.模块包含:标准模块.自定义模块和第三方模块. 标准模块:python自带的,不需要安装,直接import就能使用: 自定义模块:自己写的python 第三方模块:别人开发好的功能模块,使用需要安装. 安装方式:(1)系统命令,pip install xx

python基础五:模块

模块&包 模块(Module)的概念:在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里的代码会越来越长,维护也越来越不易.为了编写可维护的代码,我们把很多函数分组,分别放在不同的文件里,很多语言都采用这个组织代码的方式,在python中一个.py文件就称之为模块.使用模块的好处:大大提高代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块. 所以,模块一共三种: p

python基础五——正则表达式

正则表达式 一.查询功能 import re s='besttest is good is is' print(re.match(r'be',s).group()) #字符串前加r代表原字符串 # match方法接收3个参数,第一个是正则表达式,第二个是要查找的字符串,第三个不是必填的,用于控制正则的匹配方式 #是从第一个单词中匹配字符串,如果匹配到返回一个对象,否则,返回None print(re.search(r'is',s).group()) # search是从整个内容里找,找到就返回第

Python基础(五):变量、函数和类

现在的编程思想的核心都是面向对象,而变量.函数和类就是面向对象的基础, 类 类是一些具有相似属性和功能的对象集合,如果我们把类比作制作手机的模具,那么通过这个模具,我们可以生产出大批量具有相同功能和属性的手机. 定义类的关键字:class 所有的class默认继承于object,我们来写一个手机类, class Phone(object): pass 注意:括号里的object可以省略. 那么如何通过类创建一个实例对象呢?如下: phone_01 = Phone() 函数 函数是一个功能点的具体

python基础(五)

1. 字典 dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 dict保存的数据不是按照我们添加进去的顺序保存的.是按照hash表的顺序保存的.而hash表不是连续的.所以不能进行切片工作. 它只能通过key来获取dict中的数据. 注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据 2. 增删改查 1)增加 dic[key] = value dic.setdefau

Python基础五--shutil模块

高级文件处理模块: a. 简单文件操作: 1. 将文件内容cope到另一个文件中:shutil.copyfileobj(open('test_t.txt','r'),ope('test.txt','a')): 2. cope文件:shutil.copefile('test.txt','test_t.txt'): 3. cope权限:shutil.copymode('test.txt','test_t.txt'): 4. cope状态信息:shutil.copystat('test.txt','t

Python基础教程(第五章 条件、循环和其他语句)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5329066.html______ Created on Xu Hoo 读者学到这里估计都有点不耐烦了.好吧,这些数据结构什么的看起来都挺好,但还是没法用它们做什么事,对吧? 下面开始,进度会慢慢加快.前面已经介绍过了几种基本语句(print语句.import语句.赋值语句).在深入介绍条件语句和循环语句之前,我们先来看看这几种基