• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

1.什么是运算符?

本章主要讲解Python运算符。举个简单的例子,4 +5 = 9.在例子中,45被称为操作数,而‘+'’被称为算子。

Python语言支持以下类型的运算符3360

算术运算符

比较(关系)运算符

赋值运算符

逻辑算子

位置运算符

成员操作员

恒等运算符

操作员优先级

接下来,我们一个一个来学习Python运算符。

2.Python算术运算符

以下变量被假定为a=10b=21:

udalsqjnw1s2918.jpg

#!/usr/bin/python3

a=21

b=10

c=0

c=a b

打印(1-c的值为:',c)

c=a - b

打印(2-c的值为:',c)

c=a * b

打印(3-c的值为:',c)

c=a/b

打印(4-c的值为:',c)

c=a % b

打印(5-c的值为:',c)

#修改变量A、B、c。

a=2

b=3

c=a**b

打印(6-c的值为:',c)

a=10

b=5

c=a//b

打印(7-c的值为:',c)

上面的示例输出结果:

1-c的值是:31

2-c的值是:11

3-c的值是:210

4c的值是:2.1

5-c的值为:1

6-c的值是:8

7-c的值是:2

注意:在Python2.x中,整数除法只能得到整数。如果想得到小数部分,只要把其中一个数改成浮点数就可以了。Python3。x是自动浮点。

1/2

0

1.0/2

0.5

1/浮动(2)

0.5

3.Python比较运算符

假设下面的变量A是10,变量B是20:

jliav30dugw2919.jpg

以下示例演示了所有Python比较运算符的操作:

#!/usr/bin/python

# -*-编码: UTF-8 -*-

a=21

b=10

c=0

如果a==b :

打印(“1-a等于B”)

else:

打印(“1-a不等于B”)

如果a!=b :

打印(“2-a不等于B”)

else:

打印(“2-a等于B”)

#python3被抛弃

#如果是b :

# print ('3-a不等于B ')

#else:

#打印(' 3-a等于B ')

如果一个b :

打印(“4-a小于B”)

else:

打印(“4-a大于或等于B”)

如果一个b :

打印(“5-a大于B”)

else:

打印(“5-a小于或等于B”)

#修改变量A和b的值。

a=5

b=20

如果a=b :

打印(“6-a小于或等于B”)

else:

打印(“6-a大于B”)

如果b=a :

打印(“7-b大于或等于A”)

else:

打印(“7-b小于a”)

输出如下:3360

1-a不等于b。

2-a不等于b。

4-a大于或等于B

5-a大于b。

6-a小于或等于B

7-b大于等于a。

4.Python赋值运算符

假设下面的变量A是10,变量B是20:

p>  vpb5m4x4nob2920.jpg

  以下实例演示了Python所有赋值运算符的操作:

#!/usr/bin/python3
 
a = 21
b = 10
c = 0
 
c = a + b
print ("1 - c 的值为:", c)
 
c += a
print ("2 - c 的值为:", c)
 
c *= a
print ("3 - c 的值为:", c)
 
c /= a 
print ("4 - c 的值为:", c)
 
c = 2
c %= a
print ("5 - c 的值为:", c)
 
c **= a
print ("6 - c 的值为:", c)
 
c //= a
print ("7 - c 的值为:", c)
以上实例输出结果:
1 - c 的值为: 31
2 - c 的值为: 52
3 - c 的值为: 1092
4 - c 的值为: 52.0
5 - c 的值为: 2
6 - c 的值为: 2097152
7 - c 的值为: 99864

 

5.Python位运算符

  按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

  下表中变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011

   r1qwonikxwp2921.jpg

  以下实例演示了Python所有位运算符的操作:

#!/usr/bin/python3
 
a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
 
c = a & b        # 12 = 0000 1100
print ("1 - c 的值为:", c)
 
c = a | b        # 61 = 0011 1101 
print ("2 - c 的值为:", c)
 
c = a ^ b        # 49 = 0011 0001
print ("3 - c 的值为:", c)
 
c = ~a           # -61 = 1100 0011
print ("4 - c 的值为:", c)
 
c = a << 2       # 240 = 1111 0000
print ("5 - c 的值为:", c)
 
c = a >> 2       # 15 = 0000 1111
print ("6 - c 的值为:", c)
以上实例输出结果:
1 - c 的值为: 12
2 - c 的值为: 61
3 - c 的值为: 49
4 - c 的值为: -61
5 - c 的值为: 240
6 - c 的值为: 15

 

6.Python逻辑运算符

  Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

  lmunezewltr2922.jpg

  以上实例输出结果:

#!/usr/bin/python3
a = 10
b = 20
 
if ( a and b ):
   print ("1 - 变量 a 和 b 都为 true")
else:
   print ("1 - 变量 a 和 b 有一个不为 true")
 
if ( a or b ):
   print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
   print ("2 - 变量 a 和 b 都不为 true")
 
# 修改变量 a 的值
a = 0
if ( a and b ):
   print ("3 - 变量 a 和 b 都为 true")
else:
   print ("3 - 变量 a 和 b 有一个不为 true")
 
if ( a or b ):
   print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
   print ("4 - 变量 a 和 b 都不为 true")
 
if not( a and b ):
   print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
   print ("5 - 变量 a 和 b 都为 true")
以上实例输出结果:
1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false

 

7.Python成员运算符

  除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

  oqlus2hf1oq2923.jpg

#!/usr/bin/python3
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]
 
if ( a in list ):
   print ("1 - 变量 a 在给定的列表中 list 中")
else:
   print ("1 - 变量 a 不在给定的列表中 list 中")
 
if ( b not in list ):
   print ("2 - 变量 b 不在给定的列表中 list 中")
else:
   print ("2 - 变量 b 在给定的列表中 list 中")
 
# 修改变量 a 的值
a = 2
if ( a in list ):
   print ("3 - 变量 a 在给定的列表中 list 中")
else:
   print ("3 - 变量 a 不在给定的列表中 list 中")
以上实例输出结果:
1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中

 

8.Python身份运算符

  身份运算符用于比较两个对象的存储单元

  ncrt3ehgliw2924.jpg

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

  以下实例演示了Python所有身份运算符的操作:

#!/usr/bin/python3
a = 20
b = 20
 
if ( a is b ):
   print ("1 - a 和 b 有相同的标识")
else:
   print ("1 - a 和 b 没有相同的标识")
 
if ( id(a) == id(b) ):
   print ("2 - a 和 b 有相同的标识")
else:
   print ("2 - a 和 b 没有相同的标识")
 
# 修改变量 b 的值
b = 30
if ( a is b ):
   print ("3 - a 和 b 有相同的标识")
else:
   print ("3 - a 和 b 没有相同的标识")
 
if ( a is not b ):
   print ("4 - a 和 b 没有相同的标识")
else:
   print ("4 - a 和 b 有相同的标识")
以上实例输出结果:
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识

 

9.重点: is 与 == 区别

本章是属于身份运算符章节,由于比较重要,这里单独累出
is 用于判断两个变量引用对象是否为同一个(同一块内存空间), == 用于判断引用变量的值是否相等。
>>> a = [1, 2, 3]
>>> b = a
>>> b is a 
True
>>> b == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True

 

10.Python运算符优先级

  以下表格列出了从最高到最低优先级的所有运算符:

  d4ue32beo1q2925.jpg

  以下实例演示了Python所有运算符优先级的操作:

#!/usr/bin/python3
 
a = 20
b = 10
c = 15
d = 5
e = 0
 
e = (a + b) * c / d       #( 30 * 15 ) / 5
print ("(a + b) * c / d 运算结果为:",  e)
 
e = ((a + b) * c) / d     # (30 * 15 ) / 5
print ("((a + b) * c) / d 运算结果为:",  e)
 
e = (a + b) * (c / d)    # (30) * (15/5)
print ("(a + b) * (c / d) 运算结果为:",  e)
 
e = a + (b * c) / d      #  20 + (150/5)
print ("a + (b * c) / d 运算结果为:",  e)
以上实例输出结果:
(a + b) * c / d 运算结果为: 90.0
((a + b) * c) / d 运算结果为: 90.0
(a + b) * (c / d) 运算结果为: 90.0
a + (b * c) / d 运算结果为: 50.0

  and 拥有更高优先级:

x = True
y = False
z = False
 
if x or y and z:
    print("yes")
else:
    print("no")
以上实例输出结果:
yes
注意:Pyhton3 已不支持 <> 运算符,可以使用 != 代替,如果你一定要使用这种比较运算符,可以使用以下的方式:
>>> from __future__ import barry_as_FLUFL
>>> 1 <> 2
True

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now