主要内容

1.随机数
2.比较运算符
3.赋值运算符
4.逻辑运算符
5.位运算符
6.成员运算符
7.身份运算符


一、随机数

注:iter:可迭代对象,即列表、元组、range()、str、dict(返回的是值,而不是键)
1.random.choice(iter):从可迭代对象中挑选一个元素
2.random.randrange(start,end,step):
star:从start开始,若start不写,默认从0开始
end:到end结束,end必须给
step:步长,隔多少取一次,默认为1
说明:start跟step可以省略,但end不能省略,end必须写。
注意:要写步长的话,必须写start,否则会报错
取值范围:[start,end)
3.random.random():产生一个从[0,1)的浮点数
4random.shuffle(list1):对序列进行随机排序
注意:该方法并没有生成新的序列,只是在原序列上进行操作,即把原序列打乱而已
5.random.uniform(m, n):产生一个[m,n]的随机浮点数
6.random.randint(m, n):产生一个[m,n]的随机整数

print(random.choice([1, 2, 3, 4, 5]))  # 从1-5中随机选出一个元素
print(random.choice(range(5)))  # 从0-4中随机选出一个(整数)元素

# 从-10~9中随机选出一个整数
print("random.randrange()", random.randrange(-10, 10))

print("random.random()", random.random())  # 生成[0,1)的随机浮点数

l1 = [1, 2, 3, 4, 5]
l2 = l1
print(id(l1), id(l2))
l3 = random.shuffle(l1)
print("random.shuffle()", l1, l2, l3)  # l1跟l2一样,l3为None
print(id(l1), id(l2))  # l1跟l2的地址一样

print("random.uniform()", random.uniform(0, 100))  # 产生一个[0,100]的随机浮点数

print("random.randint()", random.randint(0, 100))  # 产生一个[m,n]的随机整数

二、运算符

假设变量 a = 10, b = 20

(一)、算术运算符

算术运算符符

功能

+

加 两个对象相加 例如 a + b = 30

-

减 标识负数/一个数减去另一个数 a - b = -10

*

乘 两个数相乘/返回一个被重复若干次的字符串 a*b=200

/

除 b除以a b/a = 2

%

取模 返回除法的余数 b%a = 0

//

取整除返回的整数部分 9//2=4, 9.0//2.0=4.0

**

幂,返回x的y次 a**b=10^20

(二)、比较运算符

比较运算符

功能

==

等于,比较对象是否相等,返回布尔类型的值 print(a == b) # False

!=

不等于,比较对象是否不相等 print(a != b) # True

>

大于,a > b,返回a是否大于b print(a > b) #False

<

小于,a < b,返回a是否小于b print(a < b) #True

>=

大于等于,a >= b,返回a是否大于等于b print(a >= b) #False

<=

小于等于,a <= b,返回a是否小于等于b print(a <= b) #True

(三)、赋值运算符

复合运算符

功能

+=

加法赋值运算符 a += b a = a + b

-=

减法赋值运算符 a -= b a = a - b

*=

乘法赋值运算符 a *= b a = a * b

/=

除法赋值运算符 a /= b a = a / b

%=

取模赋值运算符 a %= b a = a % b

**=

幂赋值运算符 a **= b a = a ** b

//=

取整除赋值运算符 a //= b a = a // b

(四)、逻辑运算符

逻辑运算符

功能

and

运算是与运算,只有所有都为True,and运算的结果才是True

or

运算是或运算,只要其中一个为True,or运算结果就是True

not

运算是非运算,它是一个单目运算符,把True变成False,False变成True

短路原则

表达式1 and 表达式2 and 表达式3 … 如果表达式1为假,则整个表达式的值为假,后面的表达式则没有计算的必要

表达式1 or 表达式2 or 表达式3 … 如果表达式1为真,则整个表达式的值为真,后面的表达式的值就没有计算的必要

(五)、位运算符

说明:进行位运算的时候,需要把数字转换为二进制数来进行计算

位运算符

功能

&

按位与,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

|

按位或,只要对应的两个二进位有一个为1时,结果位就为1

^

按位异或,当两对应的二进位相异时,结果为1

~

按位取反,对数据的每个二进制位取反,即把1变为0,把0变为1

<<

左移,运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,低位补0 x<<y —> x*2y

>>

右移,把”>>”左边的运算数的各二进位全部右移若干位,”>>”右边的数指定移动的位数 x>>y —> x//(2y)

(六)、成员运算符

成员运算符

功能

in

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

not in

如果在指定的序列中没有找到值返回True,否则返回False

(七)、身份运算符

身份运算符

功能

is

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

is not

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

注意:在[-5, 257)的整数取值范围内,python的内部具有缓存机制,因此在比较这个数值以内的数据可能就会有些问题。