python中的operator_python_operator 运算符

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值