python基础知识三

在考虑它们的运算时,一定要想到python是一门面向对象语言,它对类型的要求是不那么严格的,因为在完全面向对象的语言中,一切都是对象。

那么让我们重新 考虑+ -  *  /等操作,不再拘泥于传统的数学计算,把这些运算考虑到对象上面来。

两个字符串相加,可以等同于两个数字相加,抽象到对象的层次上面来。乘法也是一样。

 

 

运算符与它们的用法:

计算机生成了可选文字:
表 5 . 1 运 鼻 符 
运 算 符 
与 它 们 的 
名 称 
乘 
除 
取 除 
取 模 
左 移 
右 移 
按 位 与 
按 位 或 
按 位 异 或 
按 位 翻 转 
小 于 等 于 
大 于 等 于 
两 个 对 象 相 加 
得 到 负 数 或 是 一 个 数 减 去 另 一 个 数 
两 个 数 相 乘 或 是 返 回 一 个 裉 重 复 若 干 次 的 字 符 串 
返 回 x 的 、 畝 幂 
x 除 以 y 
返 回 商 的 数 部 分 
返 回 除 法 的 余 数 
把 一 个 数 的 比 特 向 左 移 一 定 数 目 ( 每 个 数 在 内 存 中 都 表 示 为 
比 特 或 二 进 制 数 字 , 即 0 和 1 ) 
把 一 个 数 的 比 特 向 右 移 一 定 数 目 
数 的 按 位 与 
数 的 按 位 或 
数 的 按 位 异 或 
x 的 按 位 翻 转 是 一 ( x + 1 ) 
返 回 x 是 否 小 于 y 。 所 有 比 较 运 算 符 返 回 1 表 示 真 , 返 回 0 表 示 
说 明 
3 + 5 得 到 8 。 ' a' + ' b ' 得 到 ' 訃 ' 
一 5 . 2 得 到 一 个 负 数 。 50 
一 24 得 到 26 。 
2 * 3 得 到 6 。 
' la' * 3 得 至 刂 ' lalala' 
3 * * 4 得 到 81 ( 即 3 * 3 * 3 * 3 ) 
4 / 3 得 到 1 ( 数 的 除 法 得 到 数 结 果 ) 
1. 3333333333333333 
4 / / 3 . 0 得 到 1.0 
3 得 到 2 。 
一 25 . 5 2 . 25 得 到 1.5 
。 生 0 / 3 或 4 / 3 . 0 得 到 
2 〈 〈 2 得 到 8 。 
一 2 按 比 特 表 示 为 10 
11 〉 〉 1 得 到 5 。 
一 11 按 比 特 表 示 为 1m1 , 向 右 移 动 1 比 特 
后 得 到 101 , 即 十 进 制 的 5 。 
5 & 3 得 到 1 。 
5 | 3 得 到 7 。 
一 3 得 到 6 
得 到 6 。 
5 〈 3 返 回 0 ( 即 False) 而 3 〈 5 返 回 1 ( 即 True) 。 比 较 可 
假 。 这 分 别 与 特 殊 的 变 量 Tru 匕 和 Fal 等 价 。 注 意 , 这 些 变 
量 名 的 大 写 。 
返 回 x 是 否 大 于 y 
返 回 x 是 否 小 于 等 于 y 
返 回 x 是 否 大 于 等 于 y 
比 较 对 象 是 否 相 等 
以 裉 任 意 连 接 3 〈 5 〈 7 返 回 Tru 匕 。 
5 〉 3 返 回 True 
。 如 果 两 个 操 作 数 都 是 数 字 , 它 们 苜 先 裉 转 
换 为 一 个 共 同 的 类 型 。 否 则 , 它 总 是 返 回 Fal 。 
3 ; y = 6 ; x 
4 ; y = 3 ; x 
2 ; y = 2 ; x 
= 、 亟 回 Fal 。 
〈 = 、 亟 回 Tru 匕 。 
〉 = 、 亟 回 Tru 匕 。 
、 亟 回 Tru 匕 。 x 
str , y 
s t. r 
s t. r 
stR' 
Y 
= 、 亟 回

 

计算机生成了可选文字:
不 等 于 
布 尔 “ 非 ” 
not 
布 尔 “ 与 ” 
and 
布 尔 
比 较 对 象 是 否 相 等 
比 较 两 个 对 象 是 否 不 相 等 
如 Rx 为 True, 返 回 Falseo 如 Rx 为 False, 它 返 回 Tru 匕 。 
如 为 False, x and 、 亟 回 Fal , 否 则 它 返 回 y 的 计 算 
值 。 
如 Rx 是 True , 
它 返 回 True , 否 则 它 返 回 y 的 计 算 值 。 
2 ; y = 2 ; x 
= 、 亟 回 Fal 。 
True 。 
2 ; y = 3 ; x 
、 亟 回 Tru 匕 。 
str , y 
、 亟 回 Tru 匕 。 
s t. r 
s t. r 
stR' 
Y 
= 、 亟 回 
True, not y-iÉ 回 Falseo 
False, y = True, x and y, 
由 是 False, 返 回 
Falseo 在 这 里 , Python 不 会 计 算 y, 因 为 它 知 道 这 个 表 达 式 
的 值 肯 定 是 Fal ( 因 为 x 是 Fal ) 。 这 个 现 象 称 为 短 路 计 
鼻 。 
True, y = False, x or y-iÉ 回 True 
。 短 路 计 算 在 这 里 
也 适 用 。

 

 

它们的优先级

计算机生成了可选文字:
运 算 符 
larnbda 
L 皿 bd 达 式 
布 尔 “ 或 ” 
布 尔 “ 与 ” 
布 尔 “ 非 ” 
成 员 测 试 
同 一 性 测 试 
比 较 
按 位 或 
按 位 异 或 
按 位 与 
移 位 
加 法 与 减 法 
乘 法 、 除 法 与 取 余 
正 负 号 
按 位 翻 转 
指 数 
属 性 参 考 
寻 址 段 
函 数 调 用 
绑 定 或 元 组 显 示 
列 表 显 示 
字 典 显 示 
字 符 串 转 换 
and 
not 
1 , 
1 S , 
-t 1 
1 S -t 
attribute 
xCindexl 
xCindex:indexl 
f(argl-u-nents. 
(key:datl-u-n, . 
匕 Xpr 匕 S S 1 冂 ,

 

 

python中有三种控制流语言----iffor、和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语句块实际上是多余的

 

truefalse被成为布尔类型,你可以分别把他们等效地理解为值10,它们并不是真实的值。

 

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或序列还没有完全的递归,也停止执行循环语句。

 

一个重要的注释是,如果你从forwhile循环中终止,任何对应的循环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'

posted @ 2015-11-15 19:30  likeshu  阅读(143)  评论(0编辑  收藏  举报