mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-02 19:39:49 +09:00
62 lines
840 B
Python
62 lines
840 B
Python
import dis
|
|
|
|
dis.dis(compile("5 + x + 5 or 2", "", "eval"))
|
|
print("\n")
|
|
dis.dis(
|
|
compile(
|
|
"""
|
|
def f(x):
|
|
return 1
|
|
""",
|
|
"",
|
|
"exec",
|
|
)
|
|
)
|
|
print("\n")
|
|
dis.dis(
|
|
compile(
|
|
"""
|
|
if a:
|
|
1 or 2
|
|
elif x == 'hello':
|
|
3
|
|
else:
|
|
4
|
|
""",
|
|
"",
|
|
"exec",
|
|
)
|
|
)
|
|
print("\n")
|
|
dis.dis(compile("f(x=1, y=2)", "", "eval"))
|
|
print("\n")
|
|
|
|
|
|
def f():
|
|
with g(): # noqa: F821
|
|
try:
|
|
for a in {1: 4, 2: 5}:
|
|
yield [True and False or True, []]
|
|
except Exception:
|
|
raise not ValueError({1 for i in [1, 2, 3]})
|
|
|
|
|
|
dis.dis(f)
|
|
|
|
|
|
class A(object):
|
|
def f():
|
|
x += 1 # noqa: F821
|
|
pass
|
|
|
|
def g():
|
|
for i in range(5):
|
|
if i:
|
|
continue
|
|
else:
|
|
break
|
|
|
|
|
|
print("A.f\n")
|
|
dis.dis(A.f)
|