micropython/tests/cmdline/cmd_showbc.py

136 lines
1.6 KiB
Python
Raw Normal View History

# cmdline: -v -v
# test printing of all bytecodes
def f():
# constants
a = None + False + True + ...
a = 0
a = 1000
a = -1000
# constructing data
a = 1
b = (1, 2)
c = [1, 2]
d = {1, 2}
e = {}
f = {1:2}
g = 'a'
h = b'a'
# unary/binary ops
i = 1
j = 2
k = a + b
l = -a
m = not a
m = a == b == c
m = not (a == b and b == c)
# attributes
n = b.c
b.c = n
# subscript
p = b[0]
b[0] = p
# slice
a = b[::]
# sequenc unpacking
a, b = c
# tuple swapping
a, b = b, a
a, b, c = c, b, a
# del fast
del a
# globals
global gl
gl = a
del gl
# comprehensions
a = (b for c in d if e)
a = [b for c in d if e]
a = {b:b for c in d if e}
# function calls
a()
a(1)
a(b=1)
a(*b)
# method calls
a.b()
a.b(1)
a.b(c=1)
a.b(*c)
# jumps
if a:
x
else:
y
while a:
b
while not a:
b
# for loop
for a in b:
c
# exceptions
try:
while a:
break
except:
b
finally:
c
# with
with a:
b
# closed over variables
x = 1
def closure():
a = x + 1
x = 1
del x
# import
import a
from a import b
from a import *
# raise
raise
raise 1
# return
return
return 1
# functions with default args
def f(a=1):
pass
def f(b=2):
return b + a
# function which yields
def f():
yield
yield 1
yield from 1
# class
class Class:
pass