python基本算法语句_Python学习笔记(二)之Python运算符和基本语句

1. Python运算符

1.1 算术运算符

运算符

+

-

*

/

%

**

//

描述

取模

向下取整

样例1.1:

#!/user/bin/python

#coding=utf-8

#author@ zjw

a, b = 1, 2

print "1+2=", a+b

print "1-2=", a-b

print "1/2=", a/b

print "1*2=", a*b

print "1%2=", a%b

print "1**2=", a**b #返回a的b次幂

print "1//2=", a//b #返回商的整数部分,向下取整

#特殊

print "9/2=", 9/2

print "9//2=", 9//2

print "-9/2=", -9/2

print "-9//2=", -9//2

print "-9.2/2=", -9.2/2

print "-9.2//2=", -9.2//2

输出

1+2= 3

1-2= -1

1/2= 0

1*2= 2

1%2= 1

1**2= 1

1//2= 0

9/2= 4

9//2= 4

-9/2= -5

-9//2= -5

-9.2/2= -4.6

-9.2//2= -5.0

分析:

这里主要将下/和//的区别,当为两个整数进行运算时,两者运算结果没有差别;

但当两个浮点数运算时,如最后两个例子,浮点数的/运算,输出的浮点数是带小数位的运算结果,而浮点数的//运算,则是向下取整,输出时虽然是浮点数,但是省略了小数部分,将小数部分归为零。

1.2 比较运算符

运算符

==

!=

<>

>

<

>=

<=

描述

等于

不等于

不等于

大于

小于

大于等于

小于等于

以上比较运算符返回值均为布尔类型。

<>已在Python3中废弃,谨慎使用,尽量用!=代替。

1.3 赋值运算符

运算符

=

+=

-=

*=

/=

%=

**=

//=

描述

简单赋值

加氟赋值

减法赋值

乘法赋值

除法赋值

取模赋值

幂赋值

取整赋值

a**=b等效于a=a**b

a//=b等效于a=a//b

其余同理

1.4 位运算符

运算符

&

|

^

~

<<

>>

描述

按位与运算

按位或运算

按位异或运算

按位取反运算

左移动运算

右移动运算

实例1.4:

#!/user/bin/python

#coding=utf-8

#author@ zjw

a = 1 # a = 0001

b = 2 # b = 0010

print "a & b = ", a & b #a & b = 0000

print "a | b = ", a | b #a | b = 0011

print "a ^ b = ", a ^ b #a ^ b = 0011

print "~a = ", ~a # ~a = 0010

print "a >> 1 = ", a >> 1 #a | b = 0000

print "b << 1 = ", b << 1 #a | b = 0100

输出:

a & b = 0

a | b = 3

a ^ b = 3

~a = -2

a >> 1 = 0

b << 1 = 4

~取反运算,是对数据中的每个二进制位取反,即把1变成0,把0变成1。~x类似于-x-1。

小知识1:>>向右移动1位相当于除以2,<

小知识2:任意整数a,a&1可以用来判断是奇数还是偶数,如果是奇数则返回1,偶数返回0

1.5 逻辑运算符

x = 10, y = 20

运算符

and

or

not

逻辑表达式

x and y

x or y

not x

描述

布尔“与”。

如果x为False或0,则返回False或0;

否则返回y的值

布尔“或''。

如果x为True或不为0的数,则返回x的值;

否则返回y的值

布尔”非''。

x为0或False,返回True;

否则返回False。

实例

20

10

False

可以直接按从左到右计算方式,如果是and的话,当遇到一个为False或0的值时,则整体的计算结果就为False或0;如果是or的话,当遇到一个不为False或0的值时, 则整体的计算结果就为这个值;如果是not 的话,就更好判断了,直接取反即可,对的就是错的,错的就是对的。

1.6 身份运算符

运算符

is

is not

描述

判断两个标识符是不是引用自同一个对象

判断两个标识符是不是引用自不同对象

实例

x is y,相当于id(x) == id(y)

x is not y, 相当于id(x) != id(y)

id()函数用于获取对象的内存地址。

is与区别,就相当于java中equals和的区别。is是用来判断两个变量引用对象是否为同一个(即是否在同一个内存空间中),==用于判断引用变量的值是否相等。

实例1.6:

#!/user/bin/python

#coding=utf-8

#author@ zjw

num = [1, 2, 3, 4, 5]

newNum = num

print "newNum is num", newNum is num

print "newNum is not num", newNum is not num

输出:

newNum is num True

newNum is not num False

1.7 成员运算符

运算符

in

not in

描述

如果在指定序列中找到对应值,返回True,否则返回False

如果在指定序列中找不到对应值,返回True,否则返回False

实例1.7:

#!/user/bin/python

#coding=utf-8

#author@ zjw

num = [1, 2, 3, 4, 5]

a = 1

b = 10

print "a in num", a in num

print "b not in num", b not in num

输出:

a in num True

b not in num True

2. Python基本语句

2.1 条件语句

多个判断条件时,用elif来进行判断,python中没有switch语句。

if 判断条件:

执行语句

elif 判断条件:

执行语句

elif 判断条件:

执行语句

...

else:

执行语句

如果if语句中只有一条执行语句,可以写在和if语句同一行。

2.2 循环语句

2.2.1 while循环语句

while 句型

while 判断语句:

执行语句

while..else... 句型

while 判断语句:

执行语句

else:

执行语句 #当循环条件为false时,执行else的执行语句

如果while循环体中只有一条语句,可以写在和while语句同一行。

2.2.2 for循环语句

for句型

for 变量 in 序列(范围):

执行语句

这里的序列(范围)可以是一个字符串,一个range()。range()函数返回一个序列的数

for...else...句型

for 变量 in 序列(范围):

执行语句

else:

执行语句

2.3 pass语句

pass语句是一个空句,是为了保证程序结构的完整性。

pass语句不做任何事情,一般用于占位。

实例:

def example():

pass

#此处的pass就是用来占位的,否则空函数程序会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值