pythonでの関数の定義と呼び出しに関する注意事項


目次
1.関数の定義上の注意事項
2.関数呼び出しの注意事項
3.関数パラメータ伝達の本質
4.匿名の関数lambdaの使用
5.return文の使用上の注意
1.関数の定義上の注意事項
1.     : 
 def    (  ):  #         
     "      "  #         ,              
                 #       , return  
2.      :
#1.      
def fc():
    "    "
    print("      ")
    return  #       
#2.        ,       ,          。       , return.
def fc1(v1):
    "fc1        "
    "      ,      "
    v1 *= v1
    # print(v1)
    return v1   #return,          ,            。
---------------------------------------------------------------------------
def fc1_1(v1):
    print(v1)  #      ,     return

#3.       :          ,                 
def fc2(v1,v2,v3):  
    v1+=1
    v2+=2
    v3 *= v1
    return v1+v2+v3
#4.     ,                ,        
#5.           
         ,      ,      ,   4 
   ,    
   ,    
   ,    
   ,    

2.関数呼び出しの注意事項
def fc():
    print("      ")
def fc1(v1):
    v1 *= v1
    return v1
def fc2(v1,v2,v3):
    v1+=1
    v2+=2
    v3 *= v1
    return v1+v2+v3
#     :     (  )         
fc()
print(fc1(5))  #  fc1     
sum=fc2(1,3,fc1(4)) #                 ,       
print(sum)
====================================================
      
25
39

3.関数パラメータ伝達の本質
python        :

1.     :  java     ,    、   、  。
 fun(a),     a  ,    a    。    fun(a)     a   ,            ,     a 
  。  ,     ,      ,         
===============================================================================
     def ChangeInt( v1 ):
     v1= 10
     return v1
 
     b = 2
    ChangeInt(b)
    print( b ) #      2.       ,       b  ,     b     。
================================================================================

2.    :  java      ,    ,  。  fun(la),    la       ,   fun   la     。
         ,     ,    
===============================================================================
     def changeL(l1):
    "       "
    l1.append([1, 2, 3, 4])
    print ("       : ", l1)
    return l1

   #   changeL  
   l2 = [10, 20, 30]
   changeL(l2)
   print ("             : ", l2)
================================================================================
       : [10, 20, 30, [1, 2, 3, 4]]
             :[10, 20, 30, [1, 2, 3, 4]]

    :python        ,                  ,               。

4.匿名の関数lambdaの使用
#1.    lambda  :
 1. python lambda          ,      def   。
 2.lambda         ,        。    lambda             ,    。
 3.    :   =lambda arg1 ,arg2,.....argn:expression
#2.lambda      :
#            sum1
sum1 = lambda arg1, arg2: arg1 + arg2
p1 = lambda  v1 ,v2 ,v3 :print(v1+v2+v3)
#  sum  
print(sum1(1,2))
p1("11","22","bb")

#3.lambda              ,         ,    
p2 = lambda  a,b:(  #   
    print(a)
    print(b)
)

5.return文の使用上の注意
#1.return “   ”。            ,     return     
def fc6(v1,v2):
    return(v1,v2)
   #return v1+v2         

#2.         return   ,  return    ,   return    
#2.       return   ,      ,return            
def fc7(v1,v2):
    return v1
    return v2
    print("      ")
print (fc7(12,20)) #   12,   return      

#3.return        
def fc8(i):
    sum = 0
    while i<10:
        sum += i
        i += 1
        print("sum is :", sum)
    print("sum is :",sum)
------    ---------------------
fc8(0)
-----------------------------------
    :
sum is : 0
sum is : 1
sum is : 3
sum is : 6
sum is : 10
sum is : 15
sum is : 21
sum is : 28
sum is : 36
sum is : 45
sum is : 45

------------------------------------------------     
-----      return  ----------------------
def fc9(i):
    sum = 0
    while i<10:
        sum += i
        i += 1
        print("sum is :",sum)
        return  #return     ,      
    print("sum is :",sum)
--------------------------------------------------
print(fc9(0))
------    -------------------------------------
sum is : 0
None   #   return ,        ,             None
#4.return         ,                  
return [a,b,c]
return (a,b,c,d)

統一声明:オリジナルブログの内容については、一部の内容がインターネットから参照されている可能性があります.オリジナルリンクがあれば参照を宣言します.オリジナルリンクが見つからない場合は、権利侵害がある場合は削除に連絡してください.ブログの転載については、オリジナルリンクがあれば声明します.オリジナルリンクが見つからない場合は、権利侵害がある場合は削除に連絡してください.