31/120


n.関数


関数の構造

def 함수명(입력 인수):
	수행할 문장1
    수행할 문장2
def sum(a,b): # a, b는 매개변수
    return a+b

関数のタイプ


一般関数

def sum(a,b):
   return a+b
a=sum(3,4)
print(a)
---
7

値が入力されていない関数

def say():
    return 'Hi'
a=say()
print(a)
---
Hi

結果値のない関数

def sum(a,b):
    print("%d,%d의 합은 %d"%(a,b,a+b))
sum(3,4)
---
3,4의 합은 7

値と結果値が入力されていない関数

def say():
    print('Hi')
say()
---
Hi

入力値が不確定の場合


*入力変数を入力します(入力値を収集してtupleを作成します)**入力変数を使用します(入力値を収集してディック形式で作成します)
def sum_many(*args):   
    sum=0
    for i in args:
        sum=sum+i
    return sum

result=sum_many(1,2,3)
print(result)
---
6

def print_kwargs(**kwargs):
     print(kwargs)
print_kwargs(a=1)
print_kwargs(name='foo', age=3)
---
{'a': 1}
{'age': 3, 'name': 'foo'}

関数の特徴

  • 関数の結果値(戻り値)は1つの
  • のみです.
  • return関数
  • を終了するために使用される

    入力パラメータのデフォルト値の設定

    def say_myself(name,man=True):
        if man:
            print('man')
        else:
        	print('woman')
        print('my name is %s'%name)
    say_myself('ken')
    ---
    man
    my name is ken
    ---
    say_myself('ken',False) ## 값을 지정하면 지정된 값 사용
    woman
    my name is ken
    初期化する変数は常に最後にある必要があります.そうでなければ、システムにどの変数が導入されるか分からないため、エラーが発生する可能性があります.

    関数で宣言される変数の範囲


    関数で宣言された変数は、関数でのみ有効です.
    a=1
    def k(a):
        a=a+1
    
    k(a)
    print(a)
    ---
    1
    関数のaは関数の変数であるため、最終的なa値は変わらない.

    メソッドの変更

  • return
  • a=1
    def k(a):
        a=a+1
        return a
    
    a=k(a)
    print(a)
    ---2
  • global
  • a=1
    def k():
        global a
        a=a+1
      
    k()
    print(a)
    ---
    2

    lambda

    lambda 매개변수1, 매개변수2... :매개변수를 이용한 표현식
    sum = lambda a,b:a+b
    print(sum(3,4))
    ---
    7

    ユーザI/O


    input()


    ユーザー入力、ユーザー入力として保存された値文字列

    print()


    ユーザ出力
  • "を含む文字列は+演算と同じ
  • である.
    >>> print("life" "is")
    lifeis
    >>> print("life"+"is")
    lifeis
  • スペースは「,」で、
  • です.
    >>> print("life","is") 
    life is
    1行
  • に結果値
  • を出力する.
    for i in range(0,10):
        print(i,end=' ')
    ---
    0 1 2 3 4 5 6 7 8 9