python的基础语法(if,while,for,break,continue 特殊缩进)

您所在的位置:网站首页 python程序的缩进原则 python的基础语法(if,while,for,break,continue 特殊缩进)

python的基础语法(if,while,for,break,continue 特殊缩进)

2024-07-11 00:52| 来源: 网络整理| 查看: 265

习惯了java,c++之类的宽容,初学python,被它摆了道下马威,写if else,竟然必须要我正确用缩进格式,原来在python里不能用括号来表示语句块,也不能用开始/结束标志符来表示,而是靠缩进来表示,好吧,我以后多注意  空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。 这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。我们将在后面的章节中看到有关块的用处的例子。 你需要记住的一样东西是错误的缩进会引发错误。例如: i = 5 print 'Value is', i # Error! Notice a single space at the start of the line print 'I repeat, the value is', i 当你运行这个程序的时候,你会得到下面的错误: File "whitespace.py", line 4 print 'Value is', i # Error! Notice a single space at the start of the line ^ SyntaxError: invalid syntax 注意,在第二行的行首有一个空格。Python指示的这个错误告诉我们程序的语法是无效的,即程序没有正确地编写。它告诉你, 你不能随意地开始新的语句块 (当然除了你一直在使用的主块)。何时你能够使用新块,将会在后面的章节,如控制流中详细介绍。 如何缩进 不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。我 强烈建议 你在每个缩进层次使用 单个制表符 或 两个或四个空格 。 选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这一种风格。  Python的缩进应该是一个优点,刚开始可能不是非常的习惯,慢慢就行了! 当你看别人的Python代码的时候,你就会深切感受到缩进的好处。 另外,Python的缩进可以在一定程度上防止大量的代码堆积在一起,客观上促使形成良好的代码风格 Py的哲学同Perl/ruby的不同。它不会给你很多功能,然后警告你说,这个这个最好别用,那个那个得注意了。它认为凡是它提供给你的,都是给你用的,只要符合它的语法规范,随便怎么用都可以。如果你能写出烂代码,那说明这个设计有问题。这是一种负责任的态度。 {} 可以允许程序员写出很烂的代码,而这与Py的哲学不符。所以Py在设计之处就规定,用缩进而不是{}表示程序块。 这并没有什么不好的,在绝大多数情况下,缩进比{}更清楚。 但是Py的缩进也不是无往不利的。个人感觉有两个地方不方便。 第一,粘贴代码的时候修改缩进不方便。但好在我有vi。 第二,html嵌套py代码的时候,要同时维护两套缩进,html的和py的。这个太困难了。我觉得这是妨碍PSP流行的最重要的原因。 不可否认,python的代码一旦缩进乱了,是无法重新格式化的。

2.

python的if判断 if 判断条件的时候,如果是多个条件一起进行判断,那么就需要逻辑运算符   并且-----------and 或者-----------or 非(取反)----not   if 条件1 and 条件2:      条件1和条件2都满足时,做的事情1      。。。。。。。。。。,做的事情2      。。。。。。。。。。,做的事情3      等等   if 条件1 or tiaojian2:      条件1和条件2有一个满足时,做的事情1      。。。。。。。。。。。。,做的事情2      。。。。。。。。。。。。,做的事情3      等等   if not (条件1 and 条件2):      满足条件1和条件2的取反时,做的事情1      。。。。。。。。。。。。,做的事情2      。。。。。。。。。。。。,做的事情3      等等   总结: 方式1: if 条件:     条件满足时做的事情1     条件满足时做的事情2     条件满足时做的事情3     。。。。。。等等   方式2: if 条件:     条件满足时做的事情1     条件满足时做的事情2     条件满足时做的事情3     。。。。。。等等 else:     条件不满足时做的事情1     条件不满足时做的事情2     条件不满足时做的事情3     。。。。。。等等   方式3: if 条件:     条件满足时做的事情1     条件满足时做的事情2     条件满足时做的事情3     。。。。。。等等 elif 条件2:     条件2不满足时做的事情1     条件2不满足时做的事情2     条件2不满足时做的事情3     。。。。。。等等 elif 条件3:     条件3不满足时做的事情1     条件3不满足时做的事情2     条件3不满足时做的事情3     。。。。。。等等 else:     条件1、2、3都不满足的情况下,默认执行的事情,(注意:else可有可无,根据实际的功能来确定)   如果条件1满足,那么就执行条件1满足时做的事情,做完后,下面的条件2、3都不会被执行,而是直接结束整个if语句   如果条件1不满足,那么就判断条件2是否满足,如果条件2满足,那么就执行条件2满足时的代码,然后结束整个if语句   如果条件1、2都不满足,那么就判断条件3,如果条件3满足,那么就执行条件3满足时执行的事情,然后结束整个if语句   周一至周日练习 #!/bin/bash env python   #1.获取用户输入的数字 num = input("请输入一个数字,1:周一 2:周二 。。。")   #2.根据用户的数据,显示相应的信息 if num=="1":     print("周一") elif num=="2":     print("周二") elif num=="3":     print("周三") elif num=="4":     print("周四") elif num=="5":     print("周五") elif num=="6":     print("周六") elif num=="7":     print("周日") else:     print("请输入正确数字")     if嵌套: if 条件1:     条件1满足时做的事情1     if 条件2:         条件2满足时做的事情2 3. while循环语法结构 当需要语句不断的重复执行时,可以使用while循环 while expression:     while_suite 语句while_suite会连续不断的循环执行,直到表达式的值变成0或false   复制代码 #!/usr/bin/env python sum100 = 0 counter = 1 while counter >> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2)[0, 2, 4]

xrange     函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。 xrange示例: 

>>> xrange(5)xrange(5)>>> list(xrange(5))[0, 1, 2, 3, 4]>>> xrange(1,5)xrange(1, 5)>>> list(xrange(1,5))[1, 2, 3, 4]>>> xrange(0,6,2)xrange(0, 6, 2)>>> list(xrange(0,6,2))[0, 2, 4]

    由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用:

for i in range(0, 100): print i for i in xrange(0, 100): print i 

    这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象:

a = range(0,100) print type(a) print a print a[0], a[1] 

    输出结果:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]0 1

    而xrange则不会直接生成一个list,而是每次调用返回其中的一个值:

a = xrange(0,100) print type(a) print a print a[0], a[1] 

    输出结果:

xrange(100)0 1

    所以xrange做循环的性能比range好,尤其是返回很大的时候,尽量用xrange吧,除非你是要返回一个列表。

6.break语句 break语句可以结束当前循环然后跳转到下条语句 写程序的时候,应尽量避免重复的代码,在这种情况下可以使用while-break结构 复制代码 #!/usr/bin/env python while True: yn = raw_input("continue?(y/n)") if yn in 'Yy': break print "work on" /usr/bin/python2.6 /root/PycharmProjects/untitled10/break1.py continue?(y/n)n work on continue?(y/n)y Process finished with exit code 0 复制代码 continue语句 当遇到continue语句时,程序会终止当前循环,并忽略剩余的语句.然后回到循环的顶端 如果仍然满足循环条件,循环体内语句继续执行,否则退出循环 所有偶数的和 复制代码 #!/usr/bin/env python sum100 = 0 counter = 1 while counter


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3