python初心者(六)----関数

3120 ワード

私たちはすべての言語に関数というものがあることを知っています.関数があるから、コードを簡略化することができます.コードを肥大化させることはありません.
まず,いくつかの関数のタイプ,オブジェクト型とプロセス型の関数について理解する.
#オブジェクト関数向けのクラス書き方はclass、すなわちクラスを表す
#プロシージャ向けの関数と関数式プログラミング、関数の前にdefと書きます
so、pythonの使い方を話しましょう
def func1():
    print('in the func1')
    return 0

これが最も簡単なpythonの関数の使い方で、defは宣言して、これは関数であることを示して、関数はすべて戻り値があって、戻り値は戻り関数の実行の結果を表します
x = func1()
これが関数の戻り値を返します.信じません.印刷してみてください.
最も簡単な関数は実現して、次に1つの比較的に複雑な点を見て、先にコードをつけます
#!/user/bin/env python
# -*- coding:utf-8 -*-
# Author:yongzheng

import time  #    

def logger():
    time_format = '%Y-%M-%d %X'#x       
    time_current = time.strftime(time_format)#         
    with open('a.txt','a+') as f:###        ,                

        f.write('%s end action
'%time_current) def test1(): print('in the test1') logger() def test2(): print('in the test2') logger() def test3(): print('in the test3') logger() test1() test2() test3()

このコードにはいくつかの点を説明する必要があります.第一に、import、これがインポートパケットです.インポートパケットここで、第二に、関数間でネストして呼び出すことができます.第三に、with.のas...実はファイルを開く意味で、他に、何か分からないことがありますか?メッセージとかあったら、きっと答えるよ
次に、関数は値を返さなくてもいいです.値を返さなければ、返される情報はnoneです.もちろん、値を返すのは勝手です.例えば、数字、文字列、リストです...などは可能です.
def test3():
    return 0,'hello',['a','b','c'],{'name':'wyz'}
上で言ったのはすべて無参のタイプの関数で、関数は無参のものがある以上、きっと有参の関数があるに違いないが、少しコードの基礎があるなら、私はあまり基礎の有参の関数を言わないで、ただ形参と実参の2種類のタイプに注意しなければならないだけで、まあ、私は心配して、やはり1段のコードを貼って、以下のようにしましょう
def test(x,y,z):
    print(x)
    print(y)
    print(z)

# test(y=2,x=1) #       
# test(1,2)  #       
#test(x=2,3)
test(3,z=2,y=6)
形参のいくつかの形式は、上が一望でき、パラメータは順序にかかわらず、いくつかの点に注意する必要があります
#######キーパラメータは位置パラメータの前に書くことができません!!!
###デフォルトパラメータの特徴:パラメータを呼び出す時、デフォルトパラメータはあってもなくてもよい
上记の、すべて参无参の简単な使い方があって、下记は比较的に复雑な使い方を言って、私のコードの中ですべて注釈があって、あなた达は见てみます
#!/user/bin/env python
# -*- coding:utf-8 -*-
# Author:yongzheng

def test(*dsa):
    print(dsa)

test(1,2,3,4,5,5,5)#         
test(*[1,2,3,4,5,6,7])#       


def test1(x,*args):
    print(x)
    print(args)

test1(1,2,3,4,5,6,7)#x    ,       ,       


def test2(**kwargs):##   **kwargs   N      ,        (      {'name': 'wyz', 'age': 8, 'sex': 'f'})
    print(kwargs)
    print(kwargs['name'])#   value,     wyz
    print(kwargs['age'])#    8





test2(name = 'wyz',age = 8,sex = 'f')#{'name': 'wyz', 'age': 8, 'sex': 'f'}

test2(**{'name':'wyz','age':9})##     


def test3(name ,**kwargs):
    print(name)
    print(kwargs)

test3('alex',age = 18,sex = 'f')

def test4(name,age = 18,**kwargs):
    print(name)
    print(age)
    print(kwargs)

test4('way',age=34,sex = 'm',hobby = 'tesss')

実は、あなたたちは彼らを道具の中に入れて、いったいどういう意味なのかを理解して、とても簡単です!
はい、一日ブログを书きました.そうしましょう.明日続けます.分かりません.伝言をください.できるだけ早く返事します.