Python3 面向对象

1. 类定义格式

#!/usr/bin/python3

class MyClass:
    """一个简单的类实例"""
    i = 12345
    def f(self):
        return 'hello world'

# 实例化类
x = MyClass()

# 访问类的属性和方法
print("MyClass 类的属性 i 为:", x.i)
print("MyClass 类的方法 f 输出为:", x.f())

2. 构造方法

def _init_():

3. 私有属性

变量命名时在前面加入"__",如__weight = 0

4. 继承

class DerivedClassName(Base1, Base2, Base 3 ...):
    <statement-1>
    .
    <statement-N>

5. 类的专有方法

  • _init_: 构造函数,在生成对象时调用
  • _del_: 析构函数
  • _repr_:打印,转换
  • _setitem_: 按照索引赋值
  • _getitem_: 按照索引获取值
  • _len_: 获得长度
  • _cmp_: 比较运算
  • _call_:函数调用
  • _add_:加运算
  • _sub_:减运算
  • _mul_:乘运算
  • _div_:除运算
  • _mod_:求余运算
  • _pow_:乘方运算

6. 运算符重载

class Vector:
   def __init__(self, a, b):
      self.a = a
      self.b = b
   def __str__(self):
      return 'Vector (%d, %d)' % (self.a, self.b)
   def __add__(self,other):
      return Vector(self.a + other.a, self.b + other.b)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类...
    chen_000阅读 800评论 2 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 写在前面 最近心情有些焦虑,说不出的糟糕,但是我不想每天带着负能量生活,,毕竟还有更重要的事情要去做。只有让自己忙...
    张少林同学阅读 2,550评论 0 5
  • 到了24岁之后,慢慢归于现实,不是自己想要的,坚决不要,不再愿意为了成全别人而委屈了自己,更愿意活得傲娇一些。 鉴...
    琦琦Mimosa阅读 273评论 0 1
  • (一) 先从昨天除夕说起。 以为那个需要打卡的早起群,是昨天早上开始,头一天晚上就小小准备了一番,定了三个闹钟。结...
    来是春初阅读 763评论 0 4