summaryrefslogtreecommitdiff
path: root/tests/basics/assign_expr.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/assign_expr.py')
-rw-r--r--tests/basics/assign_expr.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/basics/assign_expr.py b/tests/basics/assign_expr.py
new file mode 100644
index 000000000..f243905dc
--- /dev/null
+++ b/tests/basics/assign_expr.py
@@ -0,0 +1,29 @@
+(x := 4)
+print(x)
+
+if x := 2:
+ print(True)
+print(x)
+
+print(4, x := 5)
+print(x)
+
+x = 1
+print(x, x := 5, x)
+print(x)
+
+
+def foo():
+ print("any", any((hit := i) % 5 == 3 and (hit % 2) == 0 for i in range(10)))
+ return hit
+
+
+hit = 123
+print(foo())
+print(hit) # shouldn't be changed by foo
+
+print("any", any((hit := i) % 5 == 3 and (hit % 2) == 0 for i in range(10)))
+print(hit) # should be changed by above
+
+print([((m := k + 1), k * m) for k in range(4)])
+print(m)