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.
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
26 1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
27 ((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
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
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
41 str or None if True else str or bytes or None
42 (str or None) if True else (str or bytes or None)
43 str or None if (1 if True else 2) else str or bytes or None
44 (str or None) if (1 if True else 2) else (str or bytes or None)
45 {'2.7': dead, '3.7': (long_live or die_hard)}
46 {'2.7': dead, '3.7': (long_live or die_hard), **{'3.6': verygood}}
48 {'2.7', '3.6', '3.7', '3.8', '3.9', ('4.0' if gilectomy else '3.10')}
49 ({'a': 'b'}, (True or False), (+value), 'string', b'bytes') or None
55 [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
57 {i for i in (1, 2, 3)}
58 {(i ** 2) for i in (1, 2, 3)}
59 {(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}
60 {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
61 [i for i in (1, 2, 3)]
62 [(i ** 2) for i in (1, 2, 3)]
63 [(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]
64 [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
65 {i: 0 for i in (1, 2, 3)}
66 {i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}
67 {a: b * 2 for a, b in dictionary.items()}
68 {a: b * -2 for a, b in dictionary.items()}
69 {k: v for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension}
70 Python3 > Python2 > COBOL
75 call(arg, kwarg='hey')
76 call(arg, another, kwarg='hey', **kwargs)
77 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
79 call(**self.screen_kwargs)
88 tuple[str, int, float, dict[str, int],]
89 very_long_variable_name_filters: t.List[
90 t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
110 numpy[:, (0, 1, 2, 5)]
118 (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
119 {'2.7': dead, '3.7': long_live or die_hard}
120 {'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}
121 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
125 (i for i in (1, 2, 3))
126 ((i ** 2) for i in (1, 2, 3))
127 ((i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))
128 (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
130 {"id": "1","type": "type","started_at": now(),"ended_at": now() + timedelta(days=10),"priority": 1,"import_session_id": 1,**kwargs} # no trailing comma, this file is not 3.6+
136 what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(vars_to_remove)
137 what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(vars_to_remove)
138 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()
140 authors.łukasz.say_thanks()
143 yield from outside_of_generator
147 await some.complicated[0].call(with_args=(True or (1 is not 1)))
148 for x, in (1,), (2,), (3,): ...
150 for z in (i for i in (1, 2, 3)): ...
151 for i in (call()): ...
152 for j in (1 + (2 + 3)): ...
153 while(this and that): ...
155 threading.current_thread() != threading.main_thread() and
156 threading.current_thread() != threading.main_thread() or
157 signal.getsignal(signal.SIGINT) != signal.default_int_handler
161 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
162 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
166 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &
167 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
171 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
172 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
176 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -
177 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
181 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
182 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
186 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /
187 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
191 # standalone comment at ENDMARKER
208 True or False or None
210 True and False and None
211 (Name1 and Name2) or Name3
212 Name1 and Name2 or Name3
213 Name1 or (Name2 and Name3)
214 Name1 or Name2 and Name3
215 (Name1 and Name2) or (Name3 and Name4)
216 Name1 and Name2 or Name3 and Name4
217 Name1 or (Name2 and Name3) or Name4
218 Name1 or Name2 and Name3 or Name4
222 1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
223 ((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
228 ~int and not v1 ^ 123 + v2 | True
229 (~int) and (not ((v1 ^ (123 + v2)) | True))
230 flags & ~select.EPOLLIN and waiters.write_task is not None
233 lambda a, b, c=True: a
234 lambda a, b, c=True, *, d=(1 << v2), e="str": a
235 lambda a, b, c=True, *vararg, d=(v1 << 2), e="str", **kwargs: a + b
237 str or None if True else str or bytes or None
238 (str or None) if True else (str or bytes or None)
239 str or None if (1 if True else 2) else str or bytes or None
240 (str or None) if (1 if True else 2) else (str or bytes or None)
241 {"2.7": dead, "3.7": (long_live or die_hard)}
242 {"2.7": dead, "3.7": (long_live or die_hard), **{"3.6": verygood}}
244 {"2.7", "3.6", "3.7", "3.8", "3.9", ("4.0" if gilectomy else "3.10")}
245 ({"a": "b"}, (True or False), (+value), "string", b"bytes") or None
251 [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
253 {i for i in (1, 2, 3)}
254 {(i ** 2) for i in (1, 2, 3)}
255 {(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))}
256 {((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
257 [i for i in (1, 2, 3)]
258 [(i ** 2) for i in (1, 2, 3)]
259 [(i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))]
260 [((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
261 {i: 0 for i in (1, 2, 3)}
262 {i: j for i, j in ((1, "a"), (2, "b"), (3, "c"))}
263 {a: b * 2 for a, b in dictionary.items()}
264 {a: b * -2 for a, b in dictionary.items()}
267 for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension
269 Python3 > Python2 > COBOL
274 call(arg, kwarg="hey")
275 call(arg, another, kwarg="hey", **kwargs)
277 this_is_a_very_long_variable_which_will_force_a_delimiter_split,
282 ) # note: no trailing comma pre-3.6
284 call(**self.screen_kwargs)
293 tuple[str, int, float, dict[str, int]]
294 very_long_variable_name_filters: t.List[
295 t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
315 numpy[:, (0, 1, 2, 5)]
323 (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
324 {"2.7": dead, "3.7": long_live or die_hard}
325 {"2.7", "3.6", "3.7", "3.8", "3.9", "4.0" if gilectomy else "3.10"}
326 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
330 (i for i in (1, 2, 3))
331 ((i ** 2) for i in (1, 2, 3))
332 ((i ** 2) for i, _ in ((1, "a"), (2, "b"), (3, "c")))
333 (((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
339 "ended_at": now() + timedelta(days=10),
341 "import_session_id": 1,
343 } # no trailing comma, this file is not 3.6+
349 what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(
352 what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(
355 result = session.query(models.Customer.id).filter(
356 models.Customer.account_id == account_id, models.Customer.email == email_address
358 models.Customer.id.asc()
361 authors.łukasz.say_thanks()
365 yield from outside_of_generator
371 await some.complicated[0].call(with_args=(True or (1 is not 1)))
374 for (x,) in (1,), (2,), (3,):
378 for z in (i for i in (1, 2, 3)):
382 for j in 1 + (2 + 3):
387 threading.current_thread() != threading.main_thread()
388 and threading.current_thread() != threading.main_thread()
389 or signal.getsignal(signal.SIGINT) != signal.default_int_handler
394 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
395 | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
400 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
401 & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
406 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
407 + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
412 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
413 - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
418 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
419 * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
424 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
425 / aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
430 # standalone comment at ENDMARKER