回答編集履歴
4
コード修正: PEP8
test
CHANGED
@@ -32,9 +32,7 @@
|
|
32
32
|
|
33
33
|
coro = None
|
34
34
|
|
35
|
-
getCoro = lambda: coro
|
36
|
-
|
37
|
-
coro = func(
|
35
|
+
coro = func((lambda: coro), *args, **kw)
|
38
36
|
|
39
37
|
assert inspect.iscoroutine(coro)
|
40
38
|
|
3
コード修正: デコレータ内部の関数にfunctools.wrapsを利用
test
CHANGED
@@ -12,15 +12,21 @@
|
|
12
12
|
|
13
13
|
```python
|
14
14
|
|
15
|
+
|
16
|
+
|
15
17
|
import asyncio
|
16
18
|
|
17
19
|
import inspect
|
20
|
+
|
21
|
+
import functools
|
18
22
|
|
19
23
|
|
20
24
|
|
21
25
|
def Y(func):
|
22
26
|
|
23
27
|
assert inspect.iscoroutinefunction(func)
|
28
|
+
|
29
|
+
@functools.wraps(func)
|
24
30
|
|
25
31
|
def _func(*args, **kw):
|
26
32
|
|
@@ -71,6 +77,8 @@
|
|
71
77
|
if __name__ == '__main__':
|
72
78
|
|
73
79
|
asyncio.run(main())
|
80
|
+
|
81
|
+
|
74
82
|
|
75
83
|
```
|
76
84
|
|
2
文章の修正
test
CHANGED
@@ -104,7 +104,7 @@
|
|
104
104
|
|
105
105
|
|
106
106
|
|
107
|
-
[C言語側での構造体](https://github.com/python/cpython/blob/dd18001c308fb3bb65006c91d95f6639583a3420/Include/cpython/frameobject.h#L41) にはあるかもしれないが、
|
107
|
+
正確には、[C言語側での構造体](https://github.com/python/cpython/blob/dd18001c308fb3bb65006c91d95f6639583a3420/Include/cpython/frameobject.h#L41) にはあるかもしれないが、
|
108
108
|
|
109
109
|
Pythonからアクセス可能な情報 [PyFrameObject](https://github.com/python/cpython/blob/cb9879b948a19c9434316f8ab6aba9c4601a8173/Objects/frameobject.c#L14)としてはないようです。
|
110
110
|
|
1
コード修正(変数名のみ)
test
CHANGED
@@ -11,8 +11,6 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
```python
|
14
|
-
|
15
|
-
|
16
14
|
|
17
15
|
import asyncio
|
18
16
|
|
@@ -28,9 +26,9 @@
|
|
28
26
|
|
29
27
|
coro = None
|
30
28
|
|
31
|
-
|
29
|
+
getCoro = lambda: coro
|
32
30
|
|
33
|
-
coro = func(
|
31
|
+
coro = func(getCoro, *args, **kw)
|
34
32
|
|
35
33
|
assert inspect.iscoroutine(coro)
|
36
34
|
|
@@ -52,9 +50,9 @@
|
|
52
50
|
|
53
51
|
@Y
|
54
52
|
|
55
|
-
async def async_fn2(getCo):
|
53
|
+
async def async_fn2(getCoro):
|
56
54
|
|
57
|
-
coro = getCo()
|
55
|
+
coro = getCoro()
|
58
56
|
|
59
57
|
print(coro)
|
60
58
|
|
@@ -73,8 +71,6 @@
|
|
73
71
|
if __name__ == '__main__':
|
74
72
|
|
75
73
|
asyncio.run(main())
|
76
|
-
|
77
|
-
|
78
74
|
|
79
75
|
```
|
80
76
|
|