77 发表于 2020-2-26 15:46:14

MicroPython类 1.2.7


类提供了将数据和功能捆绑在一起的函数。

### 1.2.7.1 类
类定义格式如下:

```
class <类名>:
类体

```

   类中除了定义函数,还可以包含其他语句。一个类中的函数定义通常有一个特殊的参数列表形式,以在类外调用这个函数。

### 1.2.7.2 类对象
   类支持两种操作:属性引用和实例化。

##### 属性引用

   调用类的属性:obj.name,name是类中定义的变量或函数的名字。
示例:

```
class MyClass:
i=12345

def f(self):
    print("hello world")
```
   上面示例中MyClass.i和MyClass.f是有效的属性引用,分别引用一个整数和一个函数。

##### 类实例化
示例:

```
x = MyClass()
```
   上面的示例,创建该类的新实例并将对象分配给本地变量x。
   一个类可以定义一个名为init()的特殊方法。

示例:

```
def __init__(self, data):
self.data=23
```

当一个类定义了一个init()方法时,类会自动调用init()新创建的类实例。可以通过x=MyClass()的方式获得。在这种情况下,赋予类实例化的参数被传递给init()。

示例:

```
>>> class ComplexClass:
...   def __inis__(self, r, i):
...   self.r = r
...   self.i = i
...   print(self.r + self.i)
...   
...   
...
>>> x = ComplexClass(3, 6)
9
>>> x.r, x.i
(3, 6)
```
##### 实例对象
示例:

```
class Complex:
def __init__(self, r, i):
    self.r = r
    self.i = i
    print(self.r + self.i)

x = Complex(3, 6)
x.counter = 1
while x.counter < 10:
    print("hello",x.counter)
    x.counter = x.counter * 2
print(x.counter)
del x.counter
```
运行结果:

```
9
hello 1
hello 2
hello 4
hello 8
16
```

DFrJ5KYVQaH 发表于 2020-2-27 08:19:25

系列教程学习中
页: [1]
查看完整版本: MicroPython类 1.2.7