operator 运算符:
运算符:
赋值运算符
算数运算符
关系运算符
逻辑运算符
比较运算符
#赋值运算符:
#1.=
name='admin'
#将'admin'这个值赋值给 变量name
name1=name
print(id(name))
print(id(name1))
#id()获取内存地址 python 把变量值放入内存空间 使他可以复用 可以减少空间使用
#扩展后的赋值符号 += -= *= /=
num = 8
num += 5
#num=num+5 + 是数学加号
print (num )
a='abc'
a += 'ff' #等价于:a=a+"ff" 此时'+'就是链接符 包含两个动作:1.连接 2.连接后的结果
print(a)
#-= *= /= 只支持数值的运算
#扩展的算数运算符: ** //
a=8
b=2
result =a*b
print ('乘法运算',result)
result =a/b
print ('除法运算',result)
b=2
result=a ** b #b=2 8*8=64 b=3 8*8*8 =512 b=几 就乘几个a a的b次方
print('乘法运算',result)
b=2
result= a//b #整除 a/b 取整 去掉余数
print('除法运算',result)
result = a%b #取余数 去掉整数
print ('取余数运算:',result)
#== 逻辑判断 输出false true
print(name == name1)
#比较运算符
n1=int (input ('请输入第一个数:'))
n2=int (input ('请输入第二个数:'))
#判断n1 和 n2
result n1 > n2 #结果 false true
# 8>12 ---->false
#is 用户对象的比较 地址的比较
age= 20
age1=20
print (age is age1) #返回 true
#在交互式模式中运行:
'''
name=1
id(name)
name1=1
id(name1)
name is name1
返回为:false
name=1
name1=1
id(name)
id(name1)
name is name1
返回为true
'''
#面试要考 为什么不一样?
#因为 python 为了优化速度 使用了小整数对象池,避免为整数频繁申请和销毁内存空间.
#python对小整数的定义是[-5,256] 这些整数对象是提前建立好的,不会被垃圾回收,在体格python的程序中
#无论这个整数处于legb中的哪个位置,所有位于这个范围内的整数使用都是同一个对象.同理,单个字母也是这样的
#2.intern机制处理空格一个单词的复用机会大,所以创建一次,右击空格创建多次,但是字串长度大于20,就不是创建一次了.
#执行源文件的话 每次运行是所有代码都加载到内存中,属于一个整体,所以这个时候会有一个大整数对象池,即处于一个代码块的大整数是同一个对象,我们只需要记住这是用优化机制,治愈范围到底多大无需细究.
#and or not
#and 逻辑与
#or 逻辑或
#not 逻辑非
#逻辑运算符的运算结果也是返回true false
'''
true and true --->true
true and false --->false
false and false ---> false
'''
# or 或 只要有一边为true 则结果为true
#
#位运算
#二进制: 0 1
#8进制 0o 16进制 0x
'''
8 4 2 1
'''
a=3
'''
2进制转10进制
2进制:1010
1 0 1 0
2**3 2**2 2**1 2**0 2的位数次方
8 4 2 1
1*8+0*4+1*2+0*1 =10 #位值*2的位数次方 的和
'''
print(bin(a)) #0b11 bin() 取二进制
b=0b101101
#二进制表示 0b后面加二进制
c=-5
print(bin(c))
'''
-8
步骤:
1.先求正8
0000 1000
2.取反
111 0111
3.最后位数+1
1111 0111
1
----------
1111 1000
'''
'''
n= 0o6430 #0o是八进制的符号
转十进制
6 4 3 0
8**3 8**2 8**1 8**0
6*512+4*64+3*8 +1=
#8进制转2进制 算出每个位的二进制 拼接下就可以了
6 4 3 0
110 100 011 000
110100011000
#16进制
n=0xae93
'''
'''
& 与
|或
~ 非 取反
^ 异或 上下两个数对其 相同是0不同是1
<
>右移 前面加0 n>>m m是位移多少位 n除以2的N次方后取整
'''
print(3&2)
#三目运算符
#python格式 :真 if [表达式] else 假`
#identify 特征
发表评论
OwO