3 ------高度な機能の概要

無名関数

名前の関数:などf1とそこに関数名、()、

匿名機能:なし名前、直接名前の呼び出しを使用する方法はありません、とだけ特定の方法と組み合わせて用いることができます。

最大/最小/フィルタ/並べ替え/マップ:関数は、多くの場合、それに関連して使用されます。

1.max最大値。

salary_dict= {
    'nick':3000,
    'jason':10000,
    'tank':5000,
    'sean':2000,
}
print(f"max(salary_dict,key=labda name:salary_dict[name]):{max(salary_dict,key=lambda name:salary_dict[name])}")

注:max在字典中使用的时候默认取出的是key的值,

2.minは最小値をとります。

同じ方法を取り、最大かつ最も

3.fileterスクリーニング

list_res = [1,2,4,3,2,4,2,1,3,4,2,5]

res = filter(lambda num:num > 3,list_res)

print(list(res))

#输出为  [4, 4, 4, 5]

#用法:lambda num:num > 3为需要执行的操作,list_res为需要执行的可迭代对象
    输出需要使用list生成一个列表

ソート4.sorted

list_name = [2,4,2,5,8,4,5,7,9,0,4,]

res = sorted(list_name,reverse = False)

print(res)

# 输出结果为 [0, 2, 2, 4, 4, 4, 5, 5, 7, 8, 9]
当输入的是True的时候表示的是反向排序,False是正向排序

5.mapマップ

name_list = ['jason', 'tank', 'sean']

res = map(lambda name: f"{name} sb", name_list)
print(f"list(res): {list(res)}")

#输出结果为:list(res): ['jason sb', 'tank sb', 'sean sb']

組み込み関数

一部しか理解のためにそうここに、そこに対処するための簡単な方法となっているので、それは、組み込み関数の多くが、非常に小さなを使用する必要があります。

abs(x)             用于返回绝对值

divmod(x,y)        函数中传入两个数字,返回的是x/y的一个结果的元组(商,余数)

pow(x,y)           用于求x的y次方

all(iterable)      函数中传入一个可迭代的对象,如果对象中的所有的数的bool值都为真才会返回True,不否则就返回Flase

any(iterable)      函数中传入一个可迭代的对象,如果对象中有一个数的bool值为真就返回True,如果所有的数都为0,就返回Flase

chr(x)             函数中传入一个ascii码,将ascii转换成对应的字符

ord(x)             函数中传入一个字符,将字符转换为对应的ascii码

例外処理

時々エラーのすべての種類の多様性を示唆、コマンドを実行すると、この時、次のコマンドは、例外を処理する方法を有することが必要で、再びこの時間は実行されません。

  • 構文:

    try:
        code1
    except Exception as e:
        print(e) #可加可不加
        code2
    finally:   # 可加可不加
        code3
  • このプログラムは、処理のために、間違って報告された場合

  • 与えられた後に、次のコードが実行されません

  • 異常なキャプチャは唯一の論理エラーをキャプチャすることができます

  • finally どんなに役割のアプローチは、その後退でコードを実行する、あなたがエラーを報告していないということです

    dic = {'a': 1}
    try:
        print(dic['b'])  # KeyError
        1 / int(num)  # 报错之后,不运行下面的代码
    
    except Exception as e:  # 万能异常,只要有错误,就捕捉
        print(e)  # e存储的是错误的内容,而不是错误的类型
        print('傻逼,不知道什么错误')
    finally:
        print('asdasf')
  • この方法は現在除去された+条件(アサーション+条件)アサート

    条件がエラーを保持していない、エラーが保持していません

    num = input('num:')
    assert 1 == int(num)  
  • エラーを報告するためのイニシアチブ(つまり、アクティブエラー、なしの使用を)上げます

    x = 1
    raise(x = 1) # 报错

プロセス指向プログラミング

コアプロセス指向プログラミングは、単純な説明は、段階的に進行するために、組立ラインに類似して、プログラミングです。

指向プログラミングの利点と欠点

長所:、順番にステップバイステップを下るロジックは非常に明確です

短所:それは間違ったステップに上下に関連付けられているので、次のステップは、一緒に間違っ従います。

なぜエラー

プログラミングのプロセスでは、プログラミング論理エラーが発生し、それが書かれたコードに応じてではないであろう

それは正しい結果であれば、発生した、印刷エラーのどのようなステップを見て時間で正しいロジックを実行すると、結果は再びトラブルシューティングプロセスを印刷するステップ印刷によりステップが必要になりますので、この時間は、正しい結果を受け取ることはありません正しい結果が正しい論理に従って計算されます。

おすすめ

転載: www.cnblogs.com/whkzm/p/11586614.html