2-3.Python基础学习笔记day02-标识符、数据类型及运算符

2-3.Python基础学习笔记day02-标识符、数据类型及运算符

一、算术运算符
'''
假设变量 a = 10, b = 20
+  :加 两个对象相加   例如 a + b = 30
-  :减 标识负数/一个数减去另一个数  a - b = -10
*  :乘 两个数相乘 a*b=200
/  : 除 b除以a  b/a = 2
%  : 取模 返回除法的余数  b%a = 0
** :幂,返回x的y次幂  a**b=10^20
// : 取整 返回商的整数部分  9//2=4, 9.0//2.0=4.0

被除数 除以  除数  =  商 ... 余数
'''
a = 10
b = 20
print(a + b)  # 30
print(a - b)  # -10
print(a * b)  # 200
print(a / b)  # 0.5
print(a % b)  # 10
print(a ** b)  # 10^20
print(a // b)  # 0
二、比较运算符
'''
==   比较两个变量是否相等,若相等返回True,否则返回False
!=   比较两个变量是否不相等,若不相等则返回True,否则返回False
>  大于
<  小于
>= 大于等于 满足大于或者等于的条件即可
<= 小于等于 满足小于或者等于的条件即可
注意:使用比较运算的时候,返回的结果就是bool值

当变量为字符串的时候,比较的是字符串的ASCII码值
0 ASCII值 48
A ASCII值 65
a ASCII值 97
'''
# a = 10
# b = 20
a = "hello"
b = "he"
print(a == b)  # False
print(a != b)  # True
print(a >= b)  # False
print(a <= b)  # True
print(a > b)  # False
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
注意:使用赋值运算表达式的时候,写在等号左边的变量值会发生变化,
写在等号右边的变量只参与运算,值不发生变化。
'''
a = 10
b = 20
a += b
print("a=",a)  # 30
print("b=",b)  # 20

a -= b
print("a=",a)  # 10
print("b=",b)  # 20


a *= b
print("a=",a)  # 200
print("b=",b)  # 20

a /= b
print("a=",a)  # 10
print("b=",b)  # 20

a %= b
print("a=",a)  #10
print("b=",b)  #20

a **= b
print("a=", a) #10^20
print("b=", b) #20

a = 10
b = 20

a //= b
print("a=",a) # 0
print("b=",b) # 20
四、逻辑运算
'''
and运算又称与运算,使用and连接,当所有的结果都为真的时候,
and运算的结果才为真
全真则真,一假则假

or运算又称或运算,使用or来进行链接,当所有的结果都为假的时候
or运算的结果才为假
全假则假,一真则真

not运算又称非运算,假变真,真变假【单目运算】

表示假:
False,0,None,"",[],(),{}

短路原则:
当使用and进行连接的时候,若发现有一个表达式的结果为假,
剩余表达式不再进行运算直接返回假。
使用or来进行链接的时候,若发现有一个表达式的结果为真,
剩余表达式也不再继续进行运算直接返回真

注意:bool值可以与number值参与运算
参与运算的时候True代表1,False代表0

逻辑运算符的优先级
()优先级最高 > not优先级  > and优先级 > or优先级
'''
print(True and True and "good")  # good
print(True and 1)  # 1
print(True and 0)  # 0
print(True or 1)  # True
print(0 or 1)  # 1
print(None or 1)  # 1
print(False or 1)  # 1
print("" or 1)  # 1
print(() or 1)  # 1
print([] or 1)  # 1
print({} or 1)  # 1
print((0 or 1) and "hello" or not False)  # hello
print(True + 1)  # 2
print(False + 1)  # 1
print(True and 0 and False)  # 0
print(not True)  # False
print(not 0)  # True
print(not None)  # True
print(not "")  # True
print(not ())  # True
print(not [])  # True
print(not {})  # True

五、位运算符
'''
使用位运算的时候需要把数值转为二进制再来进行运算。
& 按位与:对应位的结果都为1的时候,则该位结果为1否则为0
| 按位或:对应位的结果有一个为1的时候,则该位结果为1否则为0
^ 按位异或:对应位的结果相异的时候,则该位结果为1否则为0
~ 按位取反:将对应位的结果的1变为0,0变为1
<< 左移:x<<y  x*2^y
>> 右移:x>>y  x//2^y
'''
'''
0000 0011
----------
1111 1100   补码
1111 1011   反码
1000 0100   原码
'''
print(3>>2)  # 0
print(~3)  # -4
print(3^2)  # 1
print(3|2)  # 3
print(3&2)  # 2
六、成员运算符与身份运算符
'''
成员运算符
in 若在指定的序列中找到指定的元素则返回True,否则返回False
not in 若在指定的序列中找不到指定的元素则返回True,否则返回False
'''
print(1 in [1,2,3,4])  # True
print("1" in "12334")  # True
print("1" not in "12334")  # False


'''
身份运算符
is:判断两个标识符是否引用同一个对象,
若引用同一个对象返回True,否则返回False
注意:当我们使用=来进行对对象进行赋值的时候,两个变量则视为引用同一个对象
is not:判断两个标识符是否引用不同一个对象,
若引用不同的对象返回True,否则返回False
id(x)
功能:查看变量的id地址
'''
num1 = 1000
num2 = 1000
print(num1 is num2)  # True
print(id(num1))  # 35495728
print(id(num2))  # 35495728

list1 = [1,2,3]
list2 = [1,2,3]
list3 = list1
print(id(list1))  # 35669064
print(id(list2))  # 35668936
print(list1 is list2)  # False
print(list3 is list1)  # True

print(id(list3))  # 35669064
print(id(list1))  # 35669064
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值