python-运算符

1、二进制
   8 bit  = 1 byte  字节
1024 byte = 1KB  千
1024 KB = 1MB   兆
1024 MB = 1GB  吉
1024 GB = 1TB    太
2、常用运算符
(1)算数运算符
print(1+1)   # 加法运算
print(1-1)   # 减法运算
print(1*2)   # 乘法运算
print(11/2)  # 除法运算
print(11//2) # 整除运算 
print(11%2)  # 取余运算
print(2**2)  # 幂运算 2*2
print(2**3)   # 2*2*2

在这里插入图片描述

注意:
一正一负的整数运算,向下取整
print(-9//4)
print(13//-4)

在这里插入图片描述

余数=被除数-除数*商
print(9%-4)
print(-9%4)

在这里插入图片描述

(2)赋值运算符
     运算顺序:右-->左
     支持链式赋值:a=b=c=d=5
     支持参数赋值:+=,-=,*=,/=,//=,%=
     支持系列解包赋值:a,b,c=10,20,30
(3)比较运算符(对变量或者表达式的结果进行大小、真假等比较)
      >,<,>=,<=,!=
      ==                 # 对象value的比较
      is,is not          # 对象id比较
(4)布尔运算符
     and ,or ,not  ,in ,not in
    
(5)位运算符(将数据转成二进制进行计算)
    &     对应位数都是1,结果位数才是1,否则为0
    |     对应位数都是0,结果位数才是0,否则作为为1
    <<    高位溢出舍弃,低位补0
    >>    低位溢出舍弃,高位补0
0000010044&8
000010008
000000000结果为0
0000010044|8
000010008
0000110012结果为12
高位溢出舍弃0000010044<<1
0000010008左移一位,相当于乘以2
低位补0
0000010044>>1
0000001002右移一位,相当于除以2
高位补0低位截断
print(4&8)
print(4|8)
print(4<<1)
print(4>>1)

在这里插入图片描述

3、运算符优先级
算数运算符>位运算符>比较运算符>布尔运算符>赋值运算符

注:
有括号先算括号里的
### C++ 运算符重载实现方法 在 C++ 中,运算符重载是一种通过定义特殊函数(称为运算符重载函数)来改变标准运算符行为的机制。这些函数可以是成员函数或非成员函数[^2]。以下是一个简单的示例,展示如何重载 `+` 运算符以实现两个自定义类对象的加法操作。 ```cpp #include <iostream> using namespace std; class Complex { private: double real; double imag; public: Complex(double r = 0, double i = 0) : real(r), imag(i) {} // 重载 + 运算符 Complex operator+(const Complex& other) const { return Complex(real + other.real, imag + other.imag); } void display() const { cout << real << " + " << imag << "i" << endl; } }; int main() { Complex c1(3.5, 4.2), c2(2.1, 3.7); Complex c3 = c1 + c2; // 调用重载的 + 运算符 c3.display(); // 输出结果为 5.6 + 7.9i return 0; } ``` #### Python 运算符重载使用示例 Python 中的运算符重载可以通过定义特定的魔术方法(如 `__add__`, `__sub__` 等)来实现。以下是一个示例,展示了如何重载 `+` 和 `-` 运算符以支持两个自定义类对象的操作[^1]。 ```python class Vector: def __init__(self, x=0, y=0): self.x = x self.y = y # 重载 + 运算符 def __add__(self, other): return Vector(self.x + other.x, self.y + other.y) # 重载 - 运算符 def __sub__(self, other): return Vector(self.x - other.x, self.y - other.y) def __str__(self): return f"({self.x}, {self.y})" # 测试代码 v1 = Vector(3, 4) v2 = Vector(1, 2) v3 = v1 + v2 # 调用 __add__ v4 = v1 - v2 # 调用 __sub__ print(v3) # 输出: (4, 6) print(v4) # 输出: (2, 2) ``` ### 相关技术点总结 - 在 C++ 中,前置和后置运算符可以通过区分参数列表的方式实现。例如,`operator++()` 表示前置递增,而 `operator++(int)` 表示后置递增[^2]。 -Python 中,运算符重载更加简洁,通常只需要实现对应的魔术方法即可完成复杂的功能[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值