エッフェルパイソンマスター-8日目

3988 ワード

コードスタンプ:https://dojang.io/
1:30関数での位置パラメータとキーワードパラメータの使用
Unpackingを利用する方法を知りました
  • パッケージ化の理由は、容量
  • を削減するためである.
  • 安全
  • 2つの最大の原因があります.
    関数に次のような順序で引数を配置することを位置引数と呼びます.
    print(10, 20, 30)
    10 20 30
    3つの数値を各行に出力する関数は、次のとおりです.
    >>> def print_numbers(a, b, c):
    ...     print(a)
    ...     print(b)
    ...     print(c)
    ...
    print_numb```
    
    >>> print_numbers(10, 20, 30)
    10
    20
    30
    前述したように、各行に3つの数字が出力されていることがわかります.
    1-2:Unpackingの使用
    引数を順番に配置する場合は、リストまたは凡例を使用することもできます.
    リストまたは凡例の前に*(追加リスク)を追加し、次のように関数に挿入します.

    リスト変数ではなく、リストの前にショートカットキーを付けると、動作は同じです.
    1-3. 可変パラメータ関数の作成
    def関数名(*パラメータ):
    コード#コード#
    다음과 같이 가변 인수 함수는 매개변수 앞에 * 를 붙여서 만듭니다.
    >>> def print_numbers(*args):
    ...     for arg in args:
    ...         print(arg)
    ...
    元のパラメータは任意に名前を付けることができますが、通常はパラメータをargsと略して識別します.特に、このargsはtupleであり、forと繰り返すことができる.
    次にprint numbers関数に数値を追加して呼び出します.1つの数字が1つ、4つの数字が4つ出力されます.
    >>> print_numbers(10)
    10
    >>> print_numbers(10, 20, 30, 40)
    10
    20
    30
    40
    複数の引数を直接関数に入れるか、「リスト」(Tuple)Unpackingを使用します.次の数字を含むリストを作成し、前に*を付けます.
    >>> x = [10]
    >>> print_numbers(*x)
    10
    >>> y = [10, 20, 30, 40]
    >>> print_numbers(*y)
    10
    20
    30
    40
    リストの値が出力されました.すなわち、リストxは[10]であるため、print numbers(*x)を呼び出すとprint numbers(10)に等しく、リストyは[10,20,30,40]であり、print numbers(10,20,30,40)に等しい.
    関数の作成時にパラメータに貼り付ける場合(def print numbers(args):など)、可変パラメータ関数を作成できます.そして、これらの関数を呼び出す際には、それぞれ引数を加えたり、「リスト」(Tuple)Unpackingを使用したりすることができます.
    1-4. ディクソン包装を使用
    キーワード引数として「ディック」を使用する値は「ディック」パッケージです.
    *関数(****バイナリ)
    >>> def personal_info(name, age, address):
    ...     print('이름: ', name)
    ...     print('나이: ', age)
    ...     print('주소: ', address)
    ...
    >>> x = {'name': '홍길동', 'age': 30, 'address': '서울시 용산구 이촌동'}
    >>> personal_info(**x)
    이름:  홍길동
    나이:  30
    주소:  서울시 용산구 이촌동
    ディック郡に格納された値は良好に出力された.ディクシャナのパッケージをキャンセルすると、ディクシャナの値は関数の引数として使用されます.

    バイナリパッケージを使用する場合は、関数のパラメータ名とバイナリキー名が同じである必要があります.さらに、パラメータの数は、ディックシャナリーキーの数と同じでなければなりません.
    名前と数が異なる場合は、関数を呼び出すことはできません.ここでは、関数def personal info(name、age、address):を:に設定しているので、ディックシーケンスを同じ調整する必要があります.
    Shownuryは*のように2回使いますか?これはdickShownerがキー値ペアとして値を格納するためである.
    キーワード引数1~5を使用した可変引数関数の作成
    キーワード引数を使用する変数引数関数は、次のように引数の前に**を付けます.
    def 함수이름(**매개변수):
        코드
    パラメータは任意に命名できますが、通常はキーワードargumentsをkwargsと略記します.特にこのkwargsはdickshernerであり,forと繰り返すことができる.
    次に、personal info関数にキーワードと値を入力して実行します.値を1つ追加してもいいし、3つ追加してもいいです.
    >>> def personal_info(**kwargs):
    ...     for kw, arg in kwargs.items():
    ...         print(kw, ': ', arg, sep='')
    ...
    関数の作成時にパラメータ(def personal info(kwargs):など)に貼り付けると、キーワードパラメータを使用する可変パラメータ関数を作成できます.これらの関数を呼び出すときは、キーワードと引数を別々に入れるか、バイナリパッケージを使用します.
    通常、*kwargsの変数引数関数を使用して、関数に特定のキーがあるかどうかを確認すると、この機能が作成されます.
    def personal_info(**kwargs):
        if 'name' in kwargs:    # in으로 딕셔너리 안에 특정 키가 있는지 확인
            print('이름: ', kwargs['name'])
        if 'age' in kwargs:
            print('나이: ', kwargs['age'])
        if 'address' in kwargs:
            print('주소: ', kwargs['address'])
    ずっと続けていこうと思っていたのですが、進捗についていけませんでした.そして、IpelLMSは進捗が速くて、話もできませんでした.また,LMS数学はまだ行われておらず,重み付けから二次関数概念を必要とする内容ㅠが行われている.
    進度が速すぎて気が狂った