Python的缩进和冒号
Python只所以如此简单,归功于它的缩进机制,严格的缩进机制使得代码非常整齐规范,赏心悦目,提高了可读性,在一定意义上提高了可维护性。但对于从其他语言转过来的朋友如:java开发人员,c语言开发,c++开发人员来说,可能要适应一段时间,代码十分严格的缩进格式,如果不按照规矩办事,一不小心就会出现语法错误
Python并不像其他语言那样要求什么{},仅仅使用Tab键来区分代码的逻辑性
a = 19
if a>10:
print('aaaaa')
print('bbbb')
if条件判断
Python中有很多判断的逻辑,那用什么来处理呢?当然首选就是我们的if语句,if后面跟条件进行判断,如果后面为真,才执行if后面缩进的代码,如果条件为假,就直接跳过if语句。如下图所示:
格式:
if 判断条件:
执行语句......
else:
执行语句......
实例:
你可以通过不断改变a的值来打印不同的执行结果,代码如下所示:
a = 3
if a<= -1:
print('a 是负数')
elif a == 0:
print('a 等于0')
else:
print('a 是正数')
while循环(很少用这个while)
很多情况程序可以为我们做很多重复而又同样的工作,都是通过循环来实现的,大概的逻辑图就是如下图所示:
格式:
while 判断条件:
执行语句......
解释说明:
while在执行的时候,先看判断语句,只要为真,就执行语句,执行完语句以后,再执行判断语句,一般我们都会在判断条件这里设置一个变量,在执行语句的时候对这个变量进行操作,一直执行到判断条件为假时,退出,执行后面的代码,如果刚开始判断就为假,则直接跳过while
实例:
while 1:
print('111111')
print('222222222222')
print('333333333333333333')
print('444444')
在while 1:这一行用快捷键Ctrl+F8打上断点,Ctrl+F9按进入Debug模式,按F8一步一步执行,
如只执行5次:
x = 5
while x>0:
print('111111')
print('222222222222')
print('333333333333333333')
print('444444')
x -=1
打印结果为:
开启Debug模式:首先x取值5,5是大于0的,然后打印下面的语句,接着循环
当取值为0时,x>0不成立,退出当前循环
abc = 1
print('###########################this scripts is started###########################')
while abc<=10:
print('abc = %d' %abc)
abc +=1
print('###########################this scripts is endded###########################')
解释:
abc在执行完print('###########################this scripts is started###########################')以后,判断abc是否小于等于10,而此时abc=1是小于10的,所以打印print('abc = %d' %abc),然后继续往下执行abc +=1,此时abc的值变成了2,在跳到while abc<=10进行判断,此时abc=2<10,打印abc=2,后面的以此类推,当abc=11时,while abc<=10不符合条件,直接退出,执行print('###########################this scripts is endded###########################')
打印结果为:
for循环
for循环主要在工作中用来遍历(for后面跟)列表、字符串、文件等操作,for循环默认是循环到元素完为止,for循环的格式如下:
for iterating_var in sequence:
statements(s)
流程图如下:
实例:
enumerate() 函数:
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
语法:enumerate(sequence,[start=0])
参数
sequence -- 一个序列、迭代器或其他支持迭代对象。
start -- 下标起始位置。
返回值
返回 enumerate(枚举) 对象。
#for循环
test = dict(a=1,b=2,c=3,d=4) #test是一个字典
m = list('YangJinBiao124')
print(test)
for i,j in enumerate(m): #列表上用enumerate,字典上比较常用的是下面的iteritems
print(i,j)
print('@'*100)
print(enumerate(test)) #这个值打印出来后是个对象,
print('@'*100)
for key1,value1 in enumerate(test):
print(key1,value1)
print('@'*100)
for key2,value2 in test.iteritems(): #iteritems属性
print(key2,value2)
打印结果为:
#打印1到100: 需要用到一个range、xrange函数及它们区别
# print(type(xrange(1,15))) #xrange是一个对象,只有遍历的时候才打印出来,在工作中最常用的就是这个xrange。range是一次性在内存中生成的,占用很大的内存空间,用xrange是当用到的时候生成一次,取一次才生成一次,这样更节约系统内存不会一次把内存搞那么大,使代码程序效率更高
print((xrange(1,100)))
for i in xrange(1,100):
print(i)
这是因为代码中没有缩进导致:
break和continue讲解
break语句用来终止循环,即使循环条件没有False条件或者序列还没有被全部遍历完,都会停止循环语句
continue语句跳出本次循环,而break跳出整个循环
continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一软弱循环
#有1到10这串数字,到3的时候执行打印一句话
for i in xrange(1,11):
if i ==3:
print('Hello World')
continue
# break
print('i= %d' %i)
打印结果为:
for i in xrange(1,11):
print(i)
if i ==3:
print('Hello World')
# continue
break
print('i= %d' %i)
打印结果为: