python学习笔记(四)【随机数、运算符(算术运算、比较运算、赋值运算、逻辑运算、位运算、成员运算、身份运算)】

主要内容

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
(七)、身份运算符
身份运算符功能
isis判断两个标识符是不是引用自一个对象
is not判断两个标识符是不是引用自不同的对象

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值