python的基础语法(if,while,for,break,continue特殊缩进)1.python的缩进
习惯了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 4php心得体会100字
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。
linux视频编辑软件第⼆,html嵌套py代码的时候,要同时维护两套缩进,html的和py的。这个太困难了。我觉得这是妨碍PSP流⾏的最重要的原因。
不可否认,python的代码⼀旦缩进乱了,是⽆法重新格式化的。
2.
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
。。。。。。等等
python基础代码100例
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:周⼆。。。")jsoncpp
#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 <= 100:
sum100 += counter
counter += 1
print"result is %d" % sum100
4.for 循环
for循环可以⽤来遍历某⼀对象(遍历:通俗点说,就是把这个循环中的第⼀个元素到最后⼀个元素依次访问⼀次)。for循环的基本结构如下:
具体看这个案例:
设计⼀个函数,在桌⾯创建10个⽂本,⽤数字从1-10依次给它们命名。
1def text_create():
2    path = '/Users/duwangdan/Desktop/'
3for text_name in range(1,11):
4# 1-10的范围需要⽤到range函数
5        with open (path + str(text_name) + '.txt','w') as text:
6# as的⽤法正⽂内会详细介绍
7            text.write(str(text_name))
8            text.close()
9print('Done')
10
11 text_create()
现在我们来理解下每⾏代码。
第1⾏:定义⼀个text_create函数;
第2⾏:给变量path赋值为桌⾯路径;
第3⾏:将1-10范围内的每个数字依次装⼊变量text_name中,每次命名⼀个⽂件;
第5⾏:打开位于桌⾯的txt⽂件,并给每⼀个text执⾏写⼊操作;
第7⾏:给每个⽂件依次命名;
第8⾏:关闭⽂件;
第9⾏:执⾏完⼀次命名操作后显⽰⼀个Done;
第11⾏:调⽤函数。
案例中提到了“as”,在Python中,“as”语法是⽤来代替传统的“finally”的。
⽐如:打开桌⾯的test⽂件,尝试读取⽂件内容,最后关闭⽂件。
1 file = open('/Users/duwangdan/')
2try:
3    data = ad()
4finally:
5    file.close()
虽然这段代码执⾏良好,但⽐较冗长,换成⽤“as”来表达后,代码会更为简洁。
1 with open('/Users/duwangdan/') as file:
2    data = ad()
除了上⾯的单层循环之外,还有⼀种常见的循环,是嵌套循环。
jfinal是前端框架吗
⽐如⽤嵌套循环实现九九乘法⼝诀。
1for i in range(1,10):
2for j in range(1,10):
3print('{} X {} = {}'.format(i,j,i*j))
最外层的循环,依次将1-9的数字储存在变量i中;变量i每取⼀次值,内层循环就依次将1-9的数字储存在变量j中;最后打印出当前的i、j、和i*j的值。
从Python2.6开始,新增了format函数,⽤来格式化字符串,可以通过{}.format来实现。在上⾯这个案例中,将i、j、i*j的值分别存⼊前⾯的{ }中,然后做好格式化,统⼀形式。
5.python
range
函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,⽣成⼀个序列。
range⽰例:
1. >>> range(5)
2. [0, 1, 2, 3, 4]
3. >>> range(1,5)
4. [1, 2, 3, 4]
5. >>> range(0,6,2)
6. [0, 2, 4]
xrange
函数说明:⽤法与range完全相同,所不同的是⽣成的不是⼀个数组,⽽是⼀个⽣成器。
xrange⽰例:
1. >>> xrange(5)
三星手机access denied怎么办
2. xrange(5)
3. >>> list(xrange(5))
4. [0, 1, 2, 3, 4]
5. >>> xrange(1,5)
6. xrange(1, 5)
7. >>> list(xrange(1,5))
8. [1, 2, 3, 4]
9. >>> xrange(0,6,2)
10. xrange(0, 6, 2)
11. >>> list(xrange(0,6,2))
12. [0, 2, 4]
由上⾯的⽰例可以知道:要⽣成很⼤的数字序列的时候,⽤xrange会⽐range性能优很多,因为不需要⼀上来就开辟⼀块很⼤的内存空间,这两个基本上都是在循环的时候⽤:
1. for i in range(0, 100):
2. print i
3. for i in xrange(0, 100):

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。