質問編集履歴
3
修正
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -31,7 +31,7 @@ 
     | 
|
| 
       31 
31 
     | 
    
         
             
            名前は、
         
     | 
| 
       32 
32 
     | 
    
         
             
            という出力順になるという認識で合っていますでしょうか。
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
            また、以下のようにした場合、期待通りの結果が得られるのですが、どうして上記コードと 
     | 
| 
      
 34 
     | 
    
         
            +
            また、以下のようにした場合、期待通りの結果が得られるのですが、どうして上記コードと出力結果が異なるのかが理解できません。
         
     | 
| 
       35 
35 
     | 
    
         
             
            ```python
         
     | 
| 
       36 
36 
     | 
    
         
             
            def f1(func):
         
     | 
| 
       37 
37 
     | 
    
         
             
                def hoge():
         
     | 
2
修正
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -23,8 +23,9 @@ 
     | 
|
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         | 
| 
      
 26 
     | 
    
         
            +
            LouiS0616さん
         
     | 
| 
      
 27 
     | 
    
         
            +
            追加で質問させていただいてよろしいでしょうか。
         
     | 
| 
       26 
28 
     | 
    
         | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
29 
     | 
    
         
             
            私が書いたコードの場合、```f1(f2("佐藤"))```によって、func=(print("佐藤"))が実行されるため、この時点で、「佐藤」が出力され、その後hoge関数によって「名前は、」が出力されため、
         
     | 
| 
       29 
30 
     | 
    
         
             
            佐藤
         
     | 
| 
       30 
31 
     | 
    
         
             
            名前は、
         
     | 
1
追加の質問をしました。
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -19,4 +19,32 @@ 
     | 
|
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
            hoge関数内の実行順で出力されることを期待していたのですが...
         
     | 
| 
      
 22 
     | 
    
         
            +
            hoge関数内の実行順で出力されることを期待していたのですが...
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            私が書いたコードの場合、```f1(f2("佐藤"))```によって、func=(print("佐藤"))が実行されるため、この時点で、「佐藤」が出力され、その後hoge関数によって「名前は、」が出力されため、
         
     | 
| 
      
 29 
     | 
    
         
            +
            佐藤
         
     | 
| 
      
 30 
     | 
    
         
            +
            名前は、
         
     | 
| 
      
 31 
     | 
    
         
            +
            という出力順になるという認識で合っていますでしょうか。
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            また、以下のようにした場合、期待通りの結果が得られるのですが、どうして上記コードとの出力結果が異なるのかが理解できません。
         
     | 
| 
      
 34 
     | 
    
         
            +
            ```python
         
     | 
| 
      
 35 
     | 
    
         
            +
            def f1(func):
         
     | 
| 
      
 36 
     | 
    
         
            +
                def hoge():
         
     | 
| 
      
 37 
     | 
    
         
            +
                    print ("名前は、")
         
     | 
| 
      
 38 
     | 
    
         
            +
                    print (func)
         
     | 
| 
      
 39 
     | 
    
         
            +
                return hoge()
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            def f2(name):
         
     | 
| 
      
 43 
     | 
    
         
            +
                return (name)
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            f1(f2("佐藤"))
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            ```
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            初歩的な質問で申し訳ありませんが、ご回答いただけると幸いです。
         
     |