Python 的类

                     

贡献者: addis; 落羽清玄

  • 本词条处于草稿阶段。

  

未完成:类和继承参考这里,算符重载参考这里

1. 基础

   一个例子

# 定义 person 类
class person(): # 括号可以省略
    def __init__(self, name, age): # 构造函数(只能有一个)
        self.name = name 
        self.age = age 
    def show(self): 
        print("name is", self.name)
        print("age is", self.age)

# 生成对象
p1 = person("jason", "30") 
p2 = person("justin", "28")

# 调用成员函数
p1.show();
p2.show();
运行结果
name is jason
age is 30
name is justin
age is 28

   另一个例子:来定义一个平面点类

class point:
    """这里是 point.__doc__ 的内容"""
    def __init__(self, x, y): 
        self.x = x
        self.y = y
    # 用于 print()
    def __str__(self):
        return "({0}, {1})".format(self.x, self.y)
    # 用于不加分号自动显示(一般是构造该对象的命令), 也可以用 repr(obj) 直接调用
    def __repr__(self):
        return "point({0}, {1})".format(self.x, self.y)
    def __add__(self, other): # 算符 +, self 必须是第一个变量
        if isinstance(other, point):
            return point(self.x + other.x, self.y + other.y)
        else:
            return point(self.x + other, self.y + other)

    # 调用可以直接用 p.len, 省略括号, 只读
    @property
    def len(self):
        return self.x**2 + self.y**2

2. 算符重载

3. 继承


致读者: 小时百科一直以来坚持所有内容免费,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损, 并保证在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利