]> git.madduck.net Git - etc/vim.git/blob - tests/data/expression.py

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Make CHANGELOG more accurate
[etc/vim.git] / tests / data / expression.py
1 ...
2 'some_string'
3 b'\\xa3'
4 Name
5 None
6 True
7 False
8 1
9 1.0
10 1j
11 True or False
12 True or False or None
13 True and False
14 True and False and None
15 (Name1 and Name2) or Name3
16 Name1 and Name2 or Name3
17 Name1 or (Name2 and Name3)
18 Name1 or Name2 and Name3
19 (Name1 and Name2) or (Name3 and Name4)
20 Name1 and Name2 or Name3 and Name4
21 Name1 or (Name2 and Name3) or Name4
22 Name1 or Name2 and Name3 or Name4
23 v1 << 2
24 1 >> v2
25 1 % finished
26 1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
27 ((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
28 not great
29 ~great
30 +value
31 -1
32 ~int and not v1 ^ 123 + v2 | True
33 (~int) and (not ((v1 ^ (123 + v2)) | True))
34 flags & ~ select.EPOLLIN and waiters.write_task is not None
35 lambda arg: None
36 lambda a=True: a
37 lambda a, b, c=True: a
38 lambda a, b, c=True, *, d=(1 << v2), e='str': a
39 lambda a, b, c=True, *vararg, d=(v1 << 2), e='str', **kwargs: a + b
40 manylambdas = lambda x=lambda y=lambda z=1: z: y(): x()
41 foo = (lambda port_id, ignore_missing: {"port1": port1_resource, "port2": port2_resource}[port_id])
42 1 if True else 2
43 str or None if True else str or bytes or None
44 (str or None) if True else (str or bytes or None)
45 str or None if (1 if True else 2) else str or bytes or None
46 (str or None) if (1 if True else 2) else (str or bytes or None)
47 ((super_long_variable_name or None) if (1 if super_long_test_name else 2) else (str or bytes or None))
48 {'2.7': dead, '3.7': (long_live or die_hard)}
49 {'2.7': dead, '3.7': (long_live or die_hard), **{'3.6': verygood}}
50 {**a, **b, **c}
51 {'2.7', '3.6', '3.7', '3.8', '3.9', ('4.0' if gilectomy else '3.10')}
52 ({'a': 'b'}, (True or False), (+value), 'string', b'bytes') or None
53 ()
54 (1,)
55 (1, 2)
56 (1, 2, 3)
57 []
58 [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
59 [1, 2, 3,]
60 [*a]
61 [*range(10)]
62 [*a, 4, 5,]
63 [4, *a, 5,]
64 [this_is_a_very_long_variable_which_will_force_a_delimiter_split, element, another, *more]
65 {i for i in (1, 2, 3)}
66 {(i ** 2) for i in (1, 2, 3)}
67 {(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}
68 {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
69 [i for i in (1, 2, 3)]
70 [(i ** 2) for i in (1, 2, 3)]
71 [(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]
72 [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
73 {i: 0 for i in (1, 2, 3)}
74 {i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}
75 {a: b * 2 for a, b in dictionary.items()}
76 {a: b * -2 for a, b in dictionary.items()}
77 {k: v for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension}
78 Python3 > Python2 > COBOL
79 Life is Life
80 call()
81 call(arg)
82 call(kwarg='hey')
83 call(arg, kwarg='hey')
84 call(arg, another, kwarg='hey', **kwargs)
85 call(this_is_a_very_long_variable_which_will_force_a_delimiter_split, arg, another, kwarg='hey', **kwargs)  # note: no trailing comma pre-3.6
86 call(*gidgets[:2])
87 call(a, *gidgets[:2])
88 call(**self.screen_kwargs)
89 call(b, **self.screen_kwargs)
90 lukasz.langa.pl
91 call.me(maybe)
92 1 .real
93 1.0 .real
94 ....__class__
95 list[str]
96 dict[str, int]
97 tuple[str, ...]
98 tuple[str, int, float, dict[str, int],]
99 very_long_variable_name_filters: t.List[
100     t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
101 ]
102 xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
103     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
104 )
105 xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
106     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
107 )
108 xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[
109     ..., List[SomeClass]
110 ] = classmethod(sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__))  # type: ignore
111 slice[0]
112 slice[0:1]
113 slice[0:1:2]
114 slice[:]
115 slice[:-1]
116 slice[1:]
117 slice[::-1]
118 slice[d :: d + 1]
119 slice[:c, c - 1]
120 numpy[:, 0:1]
121 numpy[:, :-1]
122 numpy[0, :]
123 numpy[:, i]
124 numpy[0, :2]
125 numpy[:N, 0]
126 numpy[:2, :4]
127 numpy[2:4, 1:5]
128 numpy[4:, 2:]
129 numpy[:, (0, 1, 2, 5)]
130 numpy[0, [0]]
131 numpy[:, [i]]
132 numpy[1 : c + 1, c]
133 numpy[-(c + 1) :, d]
134 numpy[:, l[-2]]
135 numpy[:, ::-1]
136 numpy[np.newaxis, :]
137 (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
138 {'2.7': dead, '3.7': long_live or die_hard}
139 {'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}
140 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
141 (SomeName)
142 SomeName
143 (Good, Bad, Ugly)
144 (i for i in (1, 2, 3))
145 ((i ** 2) for i in (1, 2, 3))
146 ((i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))
147 (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
148 (*starred)
149 {"id": "1","type": "type","started_at": now(),"ended_at": now() + timedelta(days=10),"priority": 1,"import_session_id": 1,**kwargs}
150 a = (1,)
151 b = 1,
152 c = 1
153 d = (1,) + a + (2,)
154 e = (1,).count(1)
155 f = 1, *range(10)
156 g = 1, *"ten"
157 what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(vars_to_remove)
158 what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(vars_to_remove)
159 result = session.query(models.Customer.id).filter(models.Customer.account_id == account_id, models.Customer.email == email_address).order_by(models.Customer.id.asc(),).all()
160 Ø = set()
161 authors.łukasz.say_thanks()
162 mapping = {
163     A: 0.25 * (10.0 / 12),
164     B: 0.1 * (10.0 / 12),
165     C: 0.1 * (10.0 / 12),
166     D: 0.1 * (10.0 / 12),
167 }
168
169 def gen():
170     yield from outside_of_generator
171     a = (yield)
172
173 async def f():
174     await some.complicated[0].call(with_args=(True or (1 is not 1)))
175 print(* [] or [1])
176 print(**{1: 3} if False else {x: x for x in range(3)})
177 print(* lambda x: x)
178 assert(not Test),("Short message")
179 assert this is ComplexTest and not requirements.fit_in_a_single_line(force=False), "Short message"
180 assert(((parens is TooMany)))
181 for x, in (1,), (2,), (3,): ...
182 for y in (): ...
183 for z in (i for i in (1, 2, 3)): ...
184 for i in (call()): ...
185 for j in (1 + (2 + 3)): ...
186 while(this and that): ...
187 for addr_family, addr_type, addr_proto, addr_canonname, addr_sockaddr in socket.getaddrinfo('google.com', 'http'):
188     pass
189 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
190 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
191 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
192 a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
193 if (
194     threading.current_thread() != threading.main_thread() and
195     threading.current_thread() != threading.main_thread() or
196     signal.getsignal(signal.SIGINT) != signal.default_int_handler
197 ):
198     return True
199 if (
200     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
201     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
202 ):
203     return True
204 if (
205     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &
206     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
207 ):
208     return True
209 if (
210     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
211     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
212 ):
213     return True
214 if (
215     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -
216     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
217 ):
218     return True
219 if (
220     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
221     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
222 ):
223     return True
224 if (
225     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /
226     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
227 ):
228     return True
229 if (
230     ~ aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
231 ):
232     return True
233 if (
234     ~ aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
235 ):
236     return True
237 if (
238     ~ aaaaaaaaaaaaaaaa.a + aaaaaaaaaaaaaaaa.b - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h ^ aaaaaaaaaaaaaaaa.i << aaaaaaaaaaaaaaaa.k >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
239 ):
240     return True
241 last_call()
242 # standalone comment at ENDMARKER
243
244
245 # output
246
247
248 ...
249 "some_string"
250 b"\\xa3"
251 Name
252 None
253 True
254 False
255 1
256 1.0
257 1j
258 True or False
259 True or False or None
260 True and False
261 True and False and None
262 (Name1 and Name2) or Name3
263 Name1 and Name2 or Name3
264 Name1 or (Name2 and Name3)
265 Name1 or Name2 and Name3
266 (Name1 and Name2) or (Name3 and Name4)
267 Name1 and Name2 or Name3 and Name4
268 Name1 or (Name2 and Name3) or Name4
269 Name1 or Name2 and Name3 or Name4
270 v1 << 2
271 1 >> v2
272 1 % finished
273 1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
274 ((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
275 not great
276 ~great
277 +value
278 -1
279 ~int and not v1 ^ 123 + v2 | True
280 (~int) and (not ((v1 ^ (123 + v2)) | True))
281 flags & ~select.EPOLLIN and waiters.write_task is not None
282 lambda arg: None
283 lambda a=True: a
284 lambda a, b, c=True: a
285 lambda a, b, c=True, *, d=(1 << v2), e="str": a
286 lambda a, b, c=True, *vararg, d=(v1 << 2), e="str", **kwargs: a + b
287 manylambdas = lambda x=lambda y=lambda z=1: z: y(): x()
288 foo = lambda port_id, ignore_missing: {
289     "port1": port1_resource,
290     "port2": port2_resource,
291 }[port_id]
292 1 if True else 2
293 str or None if True else str or bytes or None
294 (str or None) if True else (str or bytes or None)
295 str or None if (1 if True else 2) else str or bytes or None
296 (str or None) if (1 if True else 2) else (str or bytes or None)
297 (
298     (super_long_variable_name or None)
299     if (1 if super_long_test_name else 2)
300     else (str or bytes or None)
301 )
302 {"2.7": dead, "3.7": (long_live or die_hard)}
303 {"2.7": dead, "3.7": (long_live or die_hard), **{"3.6": verygood}}
304 {**a, **b, **c}
305 {"2.7", "3.6", "3.7", "3.8", "3.9", ("4.0" if gilectomy else "3.10")}
306 ({"a": "b"}, (True or False), (+value), "string", b"bytes") or None
307 ()
308 (1,)
309 (1, 2)
310 (1, 2, 3)
311 []
312 [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
313 [1, 2, 3]
314 [*a]
315 [*range(10)]
316 [*a, 4, 5]
317 [4, *a, 5]
318 [
319     this_is_a_very_long_variable_which_will_force_a_delimiter_split,
320     element,
321     another,
322     *more,
323 ]
324 {i for i in (1, 2, 3)}
325 {(i ** 2) for i in (1, 2, 3)}
326 {(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))}
327 {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
328 [i for i in (1, 2, 3)]
329 [(i ** 2) for i in (1, 2, 3)]
330 [(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))]
331 [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
332 {i: 0 for i in (1, 2, 3)}
333 {i: j for i, j in ((1, "a"), (2, "b"), (3, "c"))}
334 {a: b * 2 for a, b in dictionary.items()}
335 {a: b * -2 for a, b in dictionary.items()}
336 {
337     k: v
338     for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension
339 }
340 Python3 > Python2 > COBOL
341 Life is Life
342 call()
343 call(arg)
344 call(kwarg="hey")
345 call(arg, kwarg="hey")
346 call(arg, another, kwarg="hey", **kwargs)
347 call(
348     this_is_a_very_long_variable_which_will_force_a_delimiter_split,
349     arg,
350     another,
351     kwarg="hey",
352     **kwargs
353 )  # note: no trailing comma pre-3.6
354 call(*gidgets[:2])
355 call(a, *gidgets[:2])
356 call(**self.screen_kwargs)
357 call(b, **self.screen_kwargs)
358 lukasz.langa.pl
359 call.me(maybe)
360 1 .real
361 1.0 .real
362 ....__class__
363 list[str]
364 dict[str, int]
365 tuple[str, ...]
366 tuple[str, int, float, dict[str, int]]
367 very_long_variable_name_filters: t.List[
368     t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
369 ]
370 xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
371     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
372 )
373 xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[
374     ..., List[SomeClass]
375 ] = classmethod(  # type: ignore
376     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
377 )
378 xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(
379     sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
380 )  # type: ignore
381 slice[0]
382 slice[0:1]
383 slice[0:1:2]
384 slice[:]
385 slice[:-1]
386 slice[1:]
387 slice[::-1]
388 slice[d :: d + 1]
389 slice[:c, c - 1]
390 numpy[:, 0:1]
391 numpy[:, :-1]
392 numpy[0, :]
393 numpy[:, i]
394 numpy[0, :2]
395 numpy[:N, 0]
396 numpy[:2, :4]
397 numpy[2:4, 1:5]
398 numpy[4:, 2:]
399 numpy[:, (0, 1, 2, 5)]
400 numpy[0, [0]]
401 numpy[:, [i]]
402 numpy[1 : c + 1, c]
403 numpy[-(c + 1) :, d]
404 numpy[:, l[-2]]
405 numpy[:, ::-1]
406 numpy[np.newaxis, :]
407 (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
408 {"2.7": dead, "3.7": long_live or die_hard}
409 {"2.7", "3.6", "3.7", "3.8", "3.9", "4.0" if gilectomy else "3.10"}
410 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
411 (SomeName)
412 SomeName
413 (Good, Bad, Ugly)
414 (i for i in (1, 2, 3))
415 ((i ** 2) for i in (1, 2, 3))
416 ((i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c")))
417 (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
418 (*starred)
419 {
420     "id": "1",
421     "type": "type",
422     "started_at": now(),
423     "ended_at": now() + timedelta(days=10),
424     "priority": 1,
425     "import_session_id": 1,
426     **kwargs,
427 }
428 a = (1,)
429 b = (1,)
430 c = 1
431 d = (1,) + a + (2,)
432 e = (1,).count(1)
433 f = 1, *range(10)
434 g = 1, *"ten"
435 what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(
436     vars_to_remove
437 )
438 what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(
439     vars_to_remove
440 )
441 result = (
442     session.query(models.Customer.id)
443     .filter(
444         models.Customer.account_id == account_id, models.Customer.email == email_address
445     )
446     .order_by(models.Customer.id.asc())
447     .all()
448 )
449 Ø = set()
450 authors.łukasz.say_thanks()
451 mapping = {
452     A: 0.25 * (10.0 / 12),
453     B: 0.1 * (10.0 / 12),
454     C: 0.1 * (10.0 / 12),
455     D: 0.1 * (10.0 / 12),
456 }
457
458
459 def gen():
460     yield from outside_of_generator
461     a = (yield)
462
463
464 async def f():
465     await some.complicated[0].call(with_args=(True or (1 is not 1)))
466
467
468 print(*[] or [1])
469 print(**{1: 3} if False else {x: x for x in range(3)})
470 print(*lambda x: x)
471 assert not Test, "Short message"
472 assert this is ComplexTest and not requirements.fit_in_a_single_line(
473     force=False
474 ), "Short message"
475 assert parens is TooMany
476 for (x,) in (1,), (2,), (3,):
477     ...
478 for y in ():
479     ...
480 for z in (i for i in (1, 2, 3)):
481     ...
482 for i in call():
483     ...
484 for j in 1 + (2 + 3):
485     ...
486 while this and that:
487     ...
488 for (
489     addr_family,
490     addr_type,
491     addr_proto,
492     addr_canonname,
493     addr_sockaddr,
494 ) in socket.getaddrinfo("google.com", "http"):
495     pass
496 a = (
497     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
498     in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
499 )
500 a = (
501     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
502     not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
503 )
504 a = (
505     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
506     is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
507 )
508 a = (
509     aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
510     is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
511 )
512 if (
513     threading.current_thread() != threading.main_thread()
514     and threading.current_thread() != threading.main_thread()
515     or signal.getsignal(signal.SIGINT) != signal.default_int_handler
516 ):
517     return True
518 if (
519     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
520     | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
521 ):
522     return True
523 if (
524     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
525     & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
526 ):
527     return True
528 if (
529     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
530     + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
531 ):
532     return True
533 if (
534     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
535     - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
536 ):
537     return True
538 if (
539     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
540     * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
541 ):
542     return True
543 if (
544     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
545     / aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
546 ):
547     return True
548 if (
549     ~aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e
550     | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
551 ):
552     return True
553 if (
554     ~aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e
555     | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h
556     ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
557 ):
558     return True
559 if (
560     ~aaaaaaaaaaaaaaaa.a
561     + aaaaaaaaaaaaaaaa.b
562     - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e
563     | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h
564     ^ aaaaaaaaaaaaaaaa.i
565     << aaaaaaaaaaaaaaaa.k
566     >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
567 ):
568     return True
569 last_call()
570 # standalone comment at ENDMARKER