python基础知识三
在考虑它们的运算时,一定要想到python是一门面向对象语言,它对类型的要求是不那么严格的,因为在完全面向对象的语言中,一切都是对象。
那么让我们重新 考虑+ - * /等操作,不再拘泥于传统的数学计算,把这些运算考虑到对象上面来。
两个字符串相加,可以等同于两个数字相加,抽象到对象的层次上面来。乘法也是一样。
运算符与它们的用法:
它们的优先级
python中有三种控制流语言----if、for、和while
if语句
if语句用来检验一个条件,如果条件为真,我们运行一块语句(称为if-块),否则我们处理另外一块语句(称为else-块).else从句是可选的。
使用if语句
#!/usr/bin/python
#Filename:if.py
number=23
guess=int(raw_input('Enter an integer:'))
if guess==number:
print 'congratulation,your guess' #new block
print '(but you do not win)'
elif guess<number:
print 'no,it\'s a little higher'
else:
print 'bye'
print 'done'
通常我们使用#号来表示单行注释,三个'''单引号可以表示多行注释
python中没有switch语句
python中的while语句和其它语言中的语句是差不多的,不过while语句有一个可选的else从句。
while 2<3:
print 'hello'
else:
print 'no'
如果while循环有一个else从句,那么它一定会被执行,除非while循环挑不出来。else语句块实际上是多余的
true和false被成为布尔类型,你可以分别把他们等效地理解为值1和0,它们并不是真实的值。
for循环
for..in是另外一个循环语句,它在一序列的对象上 递归即逐一使用队列中的每个项目。
for i in range(1,4):
print i
else:
print 'the for loop is over'
我们所做的就是提供两个数,range返回一个序列的数。这个序列从第一个数开始到第二个数为止,默认的range的步长为1,如果我们提供第三个数,那么它将成为步长。例如,range(1,5,2)给出[1,3]
记住range向上延伸到第二个数,即它不包含第二个数、
for 循环在这个范围内递归--for I in range(1,5)等价于for I in [1,2,3,4],这就如同把序列中的每个数(或对象)赋值给i,一次一个,然后以每个i的值执行这个程序块。
else部分是可选的,如果包含else,它总是在for循环结束后执行一次,除非遇到break语句。
for..in循环对于任何序列都适用,
break语句用来终止循环语句的,哪怕循环条件没有成为false或序列还没有完全的递归,也停止执行循环语句。
一个重要的注释是,如果你从for或while循环中终止,任何对应的循环else块将不会执行,所以还是不要使用else语句块。
continue语句
continue语句被用来告诉python跳过当前循环块中的剩余语句,然后继续进行下一轮循环
while True:
s=raw_input('enter somethis:')
if s=='quit':
break
if len(s)<3:
continue
print 'input is of suffic length'