Python3基础 两个类的实例相互加减 重写类的运算 __add__ __sub__ 方法

镇场诗:
    诚听如来语,顿舍世间名与利。愿做地藏徒,广演是经阎浮提。
    愿尽吾所学,成就一良心博客。愿诸后来人,重现智慧清净体。
——————————————————————————————————————————

code:

class MyClass :
    def __init__(self,long,weight):
        self.long=long
        self.weight=weight
    #两个对象的长相加,宽不变.返回一个新的类
    def __add__(self,others) :
        return MyClass( self.long+others.long,self.weight+others.weight)

    #两个对象的宽相减,长不变.返回一个新的类
    def __sub__(self,others) :
        return MyClass(self.long-others.long,self.weight-others.weight)
    #说一下自己的参数
    def intro(self):
        print("长为",self.long," 宽为",self.weight)

a=MyClass(10,5)
a.intro()

b=MyClass(20,10)
b.intro()

c=b-a
c.intro()

d=a+b
d.intro()

result:

============= RESTART: C:\Users\Administrator\Desktop\myCode.py =============
长为 10  宽为 5
长为 20  宽为 10
长为 10  宽为 5
长为 30  宽为 15
>>>

——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。Python版本3.5,系统 Windows7。
Python是优秀的语言,值得努力学习。我是跟着小甲鱼视频教程学习的,推荐。
我是一个新手,所以如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取成就一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。

时间: 2024-12-17 10:52:53

Python3基础 两个类的实例相互加减 重写类的运算 __add__ __sub__ 方法的相关文章

Java如何在静态方法中访问类的实例成员(没附加static关键字的字段或方法)

Java如何在静态方法中访问类的实例成员(没附加static关键字的字段或方法)?? static修饰的在加载时是先于非静态的加载,也就是如果在static中如果调用了非静态的方法或变量会报错,因为此时非静态的方法和变量还不存在(可以这样理解) . 在静态方法中访问类的实例变量需首先进行类的实例化,除了加static修饰,还可以先new创建一个对象,通过对象去调用成员方法和变量,如new A().test(). 例如: package 静态方法访问实例变量; public class Test{

Python3基础 两个除号 两个整数相除 得到商的整数部分

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ ex: >>> num=10 >>> den =3 >>> num // den 3 ------------------------------------------博文的精髓,在技术部分,更在镇场一诗.Python版本3.5,系统 Wind

Python3基础 两个乘号幂运算

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ ex: >>> 2 ** 3 8 >>> ------------------------------------------博文的精髓,在技术部分,更在镇场一诗.Python版本3.5,系统 Windows7.Python是优秀的语言,值得努力学习.我是跟着小甲

eclipse运行一个类却运营另外一个类,报无法加载的类

今天是用eclipse想运行一个a.java但是却加载是b.java文件,而且还报错:无法加载的主类 查了半天才发现a.java文件中:public static void main(){}这里的main被我写成mian了,所以报错没有运行成功 希望大家遇到这种情况能再点看到的文章,喜欢我的文章的可以加我微信和QQ:944851899

在静态方法中访问类的实例成员

1.示例程序 1 public class Example 2 { 3 int x = 3;//类的实例变量,初始化值为3 4 static int y = 4;//类的静态变量,初始化值为4 5 public static void method()//静态方法 6 { 7 System.out.println("实例变量x = " + new Example().x);//在静态方法中访问类的实例变量需首先进行类的实例化 8 System.out.println("静态变

类在什么时候加载和初始化

理解类在JVM中什么时候被加载和初始化是Java编程语言中的基础概念,正因为有了Java语言规范,我们才可以清晰的记录和解释这个问题,但是很多Java程序员仍然不知道什么时候类被加载,什么时候类被初始化,类加载和初始化好像让人很困惑,对初学者难以理解,在这篇教程中我们将看看类加载什么时候发生,类和接口是如何被初始化的,我并不会拘泥于类加载器的细节或者说类加载器的工作方式.仅仅使这篇文章更加专注和简结. 类什么时候加载 类的加载是通过类加载器(Classloader)完成的,它既可以是饿汉式[ea

附录A培训实习生-面向对象基础(1):类和实例

对象是一个自包含的实体,用一组可识别的特性和行为来标识. 面向对象编程,Object-Oriented Programming,其实就是针对对象进行编程的意思. 类就是具有相同属性和功能的对象的抽象的集合. 在编程过程中注意: 第一,类名称首字母记着要大写.多个单词则各个首字母大写. 第二,对外公开的方法需要用public修饰符. 实例,就是一个真实的对象. 实例化就是创建对象的过程,使用new关键字来创建. 下面是一个例子: 这是一个类, 1 using System; 2 using Sys

Python基础-类和实例

下文转载自廖雪峰大神的官方教程,非常感谢! 类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的"对象",每个对象都拥有相同的方法,但各自的数据可能不同. 仍以Student类为例,在Python中,定义类是通过class关键字: class Student(object): pass class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object

2015/9/20 Python基础(16):类和实例

面向对象编程编程的发展已经从简单控制流中按步的指令序列进入到更有组织的方式中,依靠代码块可以形成命名子程序和完成既定的功能.结构化的或过程性编程可以让我们把程序组织成逻辑快,以便重复或重用.创造程序的过程变得更具逻辑性:选出的行为要符合规范,才可以约束创建的数据.迪特尔父子认为结构化编程是“面向行为”的,因为事实上,即使没有任何行为的数据也必须“规定”逻辑性.然而,如果我们能对数据加上动作呢?如果我们所创建和编写的数据片段,是真实生活中实体的模型,内嵌数据体和动作呢?我们通过一系列已定义的接口(