类定义格式如下:
class <类名>:
类体
类中除了定义函数,还可以包含其他语句。一个类中的函数定义通常有一个特殊的参数列表形式,以在类外调用这个函数。
类支持两种操作:属性引用和实例化。
调用类的属性:obj.name,name是类中定义的变量或函数的名字。 示例:
class MyClass:
i=12345
def f(self):
print("hello world")
上面示例中MyClass.i和MyClass.f是有效的属性引用,分别引用一个整数和一个函数。
示例:
1
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
你可以将程序产生的数据保存在文件中,也可以从文件中读取数据。
想要读取文件中的数据,首先要打开文件(文件已存在)。
open(filename, mode)
mode:模式
r :以只读方式打开
rw:以读写方式打开
示例:
1
f = open ( 'test.py', 'r')
注意: 只能打开下载到板子中的文件。 示例:
1
print(f.read())
读取完成后,记得使用close()关闭文件,释放资源。 示例:
1
f.close()
综合示例:
>>> f = open('test.py', 'r')
>>> print(f.read())
import time
from machine import Pin
led=Pin(2,Pin.OUT)
while True:
led.value(1)
time.sleep(0.5)
led.value(0)
time.sleep(0.5)
>>> f.close()
向文件中写入数据同样要先打开文件(文件已存在)。
f = open(filename, mode)
然后向文件中写入数据。
fd.write(str)
示例:
fd.write('hello dfrobot')
最后不要忘了关闭文件以释放资源。
f.close()
综合示例:
>>> f = open('test.py', 'w')
>>> f.write('#DFRobot')
8
>>> f.close()
>>> f = open('test.py', 'r')
>>> print(f.read())
#DFRobot
>>> f.close()
注意: 向一个已经存在内容的文件写入数据时,会覆盖原来的内容。
程序在运行时出错会被中断执行,终端打印出错误信息,这样的问题大家在编写代码的过程中经常遇到。引发程序出错的事件源称为异常,处理程序异常并使程序继续执行的方法叫做异常处理。
即使语句或表达式在语法上是正确的,但是执行它时却出现错误,我们把这种在执行过程中检测到的错误称为异常。 示例:
c = 10/0
print(c)
运行结果:
syntax finish.
>>>
>>>
Ready to download this file,please wait!
download ok
exec(open('test.py').read(),globals())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
ZeroDivisionError: division by zero
上面的例子语法没有错误,但是引发ZeroDivisionError异常而产生中断,使后面的程序不能正确执行。
在MicroPython中用try……except语句来处理异常,将可能引发异常的语句放到try中执行,当异常发生时,跳过try中剩余的语句,直接跳转至except中的语句来处理异常。 示例:
>>> try:
... a = 10/0
... print(a)
... except:
... print("error")
...
error
except语句也可以专门处理指定的异常,即在except语句后跟异常名称,如果不指定异常名称则表示处理所有异常。 示例:
def divide(x, y):
try:
i = x/y
except ZeroDivisionError:
print("division by zero!")
else:
print("result is", i)
divide(5, 0)
divide(5, 2)
运行结果:
division by zero!
2.5
在上面的示例中,try……except语句有一个可选的else子句。如果try子句不引发异常,则必须执行该代码。
无论是否发生异常都会执行finally中的语句块,它可以和try……except……else一起使用。 示例:
def divide(x, y):
try:
i = x/y
except ZeroDivisionError:
print("division by zero!")
else:
print("result is", i)
finally:
print("executing finally clause")
divide(5,0)
print() #打印一个空行
divide(5, 2)
运行结果:
division by zero!
executing finally clause
result is 2.5
executing finally clause
嘿,客官,看到这里么有?Python得基础教程到此就结束了,不知道你是不是看的意犹未尽呢???这种东西不难,你一定要去自己写,去尝试.这些东西熟能生巧.以上是python得冰山一角,对其感兴趣可以再研究.也可以私信我要资料.