質問編集履歴

4

誤字

2021/10/17 13:25

投稿

cuteworld
cuteworld

スコア32

test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,3 @@
1
- 単純に下記のようにすると、NameErrorとなります。
2
-
3
-
4
-
5
1
  ```python
6
2
 
7
3
  import timeit

3

修正しました

2021/10/17 13:25

投稿

cuteworld
cuteworld

スコア32

test CHANGED
File without changes
test CHANGED
@@ -12,36 +12,12 @@
12
12
 
13
13
 
14
14
 
15
- print(timeit.timeit('len_range(1000)'))
15
+ print(timeit.timeit('len_range(10)'))
16
16
 
17
17
  ```
18
18
 
19
- この場合は、setupに関数定義を指定するか、globalslen_range関数が定義された辞書を指定する必要があります。
19
+ print(timeit.timeit('len_range(10)', globals=globals()))
20
-
21
- ここでは、globalsを使います。組み込み関数 globals() はグローバルスコープの変数の辞書を返します。
22
20
 
23
21
  ```
24
22
 
25
- print(timeit.timeit('len_range(1000)', globals=globals()))
26
-
27
- ```
28
-
29
-
30
-
31
- ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
32
-
33
- 知識が浅いため上記の説明が良く分からないのですが、
34
-
35
- ①「setupに関数定義を指定」とはどういうことか?
23
+ globalの必要性はどこにあるのでしょうか?
36
-
37
- ②「globals にlen_range関数が定義された辞書を指定する必要があり」とはどういうことか?
38
-
39
- ③「組み込み関数 globals() はグローバルスコープの変数の辞書を返します」とはどういうことか?
40
-
41
- 上記の3つにおいて必要となる前提知識がなく、理解が難しいです。また、そもそもglobals=globals()とは
42
-
43
- どういうものでなぜ必要かが全く分かりません。
44
-
45
- お手数をおかけしますが、何卒よろしくお願いいたします。
46
-
47
- ※timeit.timeitを用いることでlen_range関数の計算時間を測定できるということしか分からない状態です。

2

情報を追記しました

2021/10/17 13:24

投稿

cuteworld
cuteworld

スコア32

test CHANGED
File without changes
test CHANGED
@@ -43,3 +43,5 @@
43
43
  どういうものでなぜ必要かが全く分かりません。
44
44
 
45
45
  お手数をおかけしますが、何卒よろしくお願いいたします。
46
+
47
+ ※timeit.timeitを用いることでlen_range関数の計算時間を測定できるということしか分からない状態です。

1

コードを追加しました

2021/10/17 12:55

投稿

cuteworld
cuteworld

スコア32

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
 
5
5
  ```python
6
+
7
+ import timeit
6
8
 
7
9
  def len_range(n):
8
10