类
Python Parser 中引入了类机制,目前支持函数封装、运算符重载等简单功能,暂不支持继承、在函数中定义类等功能。
例 1:函数封装
class student:
def __init__(self, name, gender, score_list):
self.name = name
self.gender = gender
self.score = score_list
def get_avgScore(self):
return avg(self.score.toddb())
def get_Info(self):
print("name:", self.name)
print("gender:", self.gender)
print("avgScore:", self.get_avgScore())
x = student("pl", "male", [100, 99, 98, 92])
x.get_Info()
// output:
name:
pl
gender:
male
avgScore:
97.25例 2:重载运算符
以下例子定义一个类 Complex,实现了 __add__ 方法重载加号,以及实现了 __repr__ 方法用于显示对象。
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
def __add__(self, other):
return Complex(self.r + other.r, self.i + other.i)
def __repr__(self):
sign = "+" if self.i >= 0 else ""
return str(self.r) + sign + str(self.i) + "i"
x = Complex(3, 4)
y = Complex(0, -1)
x
// output: 3+4i
y
// output: 0-1i
x + y
// output: 3+3i