知识点
相关文章
更多最近更新
更多Python基础 缩进和选择
2019-03-19 01:07|来源: 网络
python最具特色的就是用缩进来写模块。我们下面以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这样设计的理由是:程序会看起来很好看)
我们写一个完整的程序,命名为ifDemo.py
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之外,不会跳过,继续执行。
这种以四个空格的缩进来表示隶属关系的书写方式,我们以后还会经常看到。Python很强调程序的可读性,这种强制的缩进要求实际上是在帮程序员写出整洁的程序。
复杂一些的选择的例子:
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顺序检测所跟随的条件,如果发现为假,那么跳过后面紧跟的块,检测下一个条件; 如果发现为真,那么执行后面紧跟的块,跳过剩下的块
(else等同于elif True)
整个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语句之后的冒号
以四个空格的缩进来表示隶属关系, python中不能随意缩进
if <条件1>:
statement
elif <条件2>:
statement
elif <条件3>:
statement
else:
statement
本文链接:Python基础 缩进和选择,作者:Vamei 出处:http://www.cnblogs.com/vamei
相关问答
更多-
关于Python的缩进问题[2021-04-28]
这样就可以啦 你去下载pythonwin,它会告诉你错误在哪一行, 缩进技巧最好是每块代码以4个空格为佳 -
关于python缩进问题[2022-05-16]
交互模式在使用块语句(if, while, try)时,在结束块语句时,要输入额外的回车的。交互模式只会一个命令一个命令地执行,块语句视为一个语句。 >>> if true: ... print "hahahahahaha" (回车) print "hehe" 想要一次执行,必须写成一个脚本,以.py后缀命名(其实用什么后缀都可以)。然后在命令行执行: python mytest.py 望采纳! -
python 的缩进问题 unexpected unident[2022-03-10]
应该是255行的try, 没有对应的except的缘故. -
Python:Notepad的基础操作问题,急求解![2022-07-17]
我那边已经答你了,这边再补充几句,免得你的分儿浪费了可惜,呵呵。 缩进可以用两种字符:空格/Tab符。 但在Python,两种不能混用,必须统一。 设置:首选项:Tab Settings:python(或改[Default],然后在python中勾选"Use default value"): 如果你习惯用空格,就勾选"Replace by space"。 如果你习惯用Tab,就取消"Replace by space"。 你最好让Notepad++"显示所有字符",以看清区别。 -
python里的缩进如何使用?[2023-11-27]
你学过编程吗?一般语言都是通过{}来标识代码块的,而在python中,是通过缩进来识别代码块的。我一个一个的回答你的问题。 缩进几个空格或者tab都是可以的,只要你保持一致就可以。不过为了别人阅读方便,还是用tab或者4个空格比较好。 行开头的空格才算缩进。 当需要书写子代码块时,用缩进。 你要知道缩进的用途,它是用来标识不同的代码块的,通过不同的缩进来判断代码行之间的关系。 if,while,for,def行之后的行首的空格都是缩进。 -
Python 缩进[2021-11-24]
你在IDLE中每次只能输入一个代码块,比如一个def,for,if,while代码块。 你最后的block0是和if平级还是if内部的? 如果是平级,那你这种写法就是错的,因为if已经是一个代码块了,block0是第二个代码块,这么写是不对的。 如果是内部的,那你应该让它和block1的缩进相同。 从你的意思看,你是想让它和if平级吧?那你需要把if和block0写到一个函数中,或者写到py文件中再运行 -
python的缩进问题[2024-01-29]
你用什么编辑器?如果是IDLE的话,选中需要缩进的行,按菜单Edit->Indent Region就可以了。 大多数代码编辑器也有类似的功能。如果找不到,可以先用IDLE编辑好了保存一下。 -
python缩进问题[2021-09-07]
可能是TAB跟空格的问题,解决方案: 1. 把缩进都删除; 2. 每级缩进只用一个空格,这样问题是解决了; 3. 最好的建议是File--New Window,新建一个py文件,在这个里面输入代码。 -
还是python缩进,我要“缩进死”了![2023-09-16]
def find_the_atom(filename,r,n): with open(filename) as file: sery=atom_generator(file) atom=next(sery,None) while atom and atom.Model!=r: atom=next(sery,None) if atom: while atom and atom.number!=n: atom=next(sery,None) if atom: return atom else: print('该 ... -
python 缩进问题,代码如下[2023-08-12]
报错在第三句,print 'End!'处出现,if语句块写完后,ctrl+d可以看到if语句的打印结果,然后再写print ‘End!',否则像你这么写的话,默认最后一句print也在语句块内,但是没有做缩进,所以报错了。