Differences between revisions 5 and 6
Revision 5 as of 2018-10-01 01:27:45
Size: 2854
Comment:
Revision 6 as of 2018-10-01 01:32:34
Size: 1683
Comment:
Deletions are marked like this. Additions are marked like this.
Line 55: Line 55:


下記の様に、キーワード付き引数を指定することができます。キーワード付き引数は関数定義側で、デフォルトの値を指定することができます。

{{{#!highlight python

def repeat_msg( msg, repeat=3 ):
    for i in range( repeat ):
        print( msg )

repeat_msg('Hello') # Hello, Hello, Hello
repeat_msg('Yahho', repeat=5) # Yahho, Yahho, Yahho, Yahho, Yahho

}}}


*name は残りの順序引数を、**name はキーワード付き引数を辞書型で受け取ります。

{{{#!highlight python

def func( a1, a2, *args, **params ):
    print( a1 ) #=> A
    print( a2 ) #=> B
    print( args ) #=> ('C', 'D')
    print( params ) #=> {'k1': 'K1', 'k2': 'K2'}


func('A', 'B', 'C', 'D', k1='K1', k2='K2')

}}}



args や params を変数で渡す場合には、呼び出す側にも * や ** をつけます。

{{{#!highlight python
args = ('C', 'D')
params = {'k1': 'K1', 'k2': 'K2'}
func('A', 'B', *args, **params) #=> A, B, ('C', 'D'), {'k1': 'K1', 'k2': 'K2'}
}}}

返戻値(return文)

返戻値を伴う関数定義

edit

  • 返戻値を伴う関数定義
    • def 文を用いて関数(function)を定義することができる 
    • その際に,return文で,返戻値を返すことができる.
      • 関数呼び出しは,「関数が呼び出されている部分を,その関数の計算結果で置き換える」と考えるとよい
  • 例(1): x という引数を受け取り,それを二倍して表示する関数 double() を定義する

   1 def double( x ):
   2     return( x * 2 )
   3 
   4 print( double( 12 ) )
  • 例: x と y という二つの引数を受け取り,その合計値を表示する関数 add() を定義する

   1 def add( x, y):
   2     return( x + y )
   3 
   4 print( add( 12, 23 ) )

複数の値を返す関数

edit

  • 複数の値を返す関数
    • 関数の返戻値として,タプルを返すことで,複数の値を返すことができる
      • タプルなので,型が異なっていてもよい

   1 import datetime
   2 
   3 def today_now():
   4     now = datetime.datetime.today()
   5     return( ((now.year, now.month, now.day), (now.hour,now.minute,now.second)) )
   6 
   7 (date, time) = today_now()
   8 print( date )
   9 print( time )

SoftEng: Python/Lang/Function/Return/Contents (last edited 2018-10-01 01:32:34 by TadashiIijima)