Python Advanced(1)

1、* argsと** kwargs

* args
  • argsは、キーと値のペアではない可変数のパラメーターリストを関数に送信するために使用されます。

python

def test_var_args(f_arg,*argv):print("first normal arg:", f_arg)for arg in argv:print("another arg through *argv:", arg)test_var_args('yasoob','python','eggs','test')

これにより、次の出力が生成されます:
first normal arg: yasoob
another arg through *argv: python
another arg through *argv: eggs
another arg through *argv: test
**kwargs

**kwargsを使用すると、長さが不定のキーと値のペアをパラメーターとして関数に渡すことができます。関数で名前付きパラメーターを処理する場合は、 kwargsを使用する必要があります。たとえば、パラメータは辞書です

Code

def greet_me(**kwargs):for key,value in kwargs.items():print("{0} == {1}".format(key,value))greet_me(name='michong',age=10)        

出力
name == michong
age ==10

標準パラメータと* args、使用時の** kwargsの順序

Code

demo_func(fargs,*args,**kwargs)

2、 デバッグ####

pdb.set_trace()method

この方法は、ジュプターノートブックでも使用できます。この方法を使用する場合は、壊す必要のある場所に直接置いてください。

python

import pdb
def make_bread():
 pdb.set_trace()return"I don't have time"print(make_bread())
デバッガモードのコマンド#####

3、 ジェネレータジェネレータ####

反復可能#####

オブジェクトは、イテレーターを返すことができる** iter メソッドを定義するか、添え字インデックスをサポートできる getitem **メソッドを定義します。これは、イテラブルオブジェクトです。

イテレーター#####

nextまたは** next **が任意に定義されている場合、それはイテレーターです

反復#####

ループトラバーサルのプロセスは反復と呼ばれます

ジェネレーター#####

また、yieldを使用して値を生成するイテレーターでもあります

Code

def generator_function():for i inrange(10):yield i
for item ingenerator_function():print(item)
    
出力:
 # Output:0
    # 1
    # 2
    # 3
    # 4
    # 5
    # 6
    # 7
    # 8
    # 9

4、 マッピング、フィルタリング、削減####

Map
トラバース要素######

Code

items =[1,2,3,4,5]
squared =list(map(lambda x: x**2, items))
トラバース方法######

Code

def multiply(x):return(x*x)
def add(x):return(x+x)
funcs =[multiply, add]for i inrange(5):
 value =map(lambda x:x(i), funcs)print(list(value))
# 翻訳者注:前回の印刷では、python2のリスト変換が追加されました/3互換性
# python2ではマップは直接リストを返しますが、python3ではイテレーターを返します
# したがって、python3と互換性を持たせるために,リスト変換が必要

# Output:
# [0,0]
# [1,2]
# [4,4]
# [9,6]
# [16,8]
Filter

filterはリスト内の要素をフィルタリングし、要件を満たすすべての要素で構成される列を返します
テーブルは要件を満たしています。つまり、関数が要素にマップされている場合、戻り値はTrueです。

Code

number_list =range(-5,5)list(filter(lambda x:x%2==0, number_list))

output
    [-4,-2,0,2,4]
Reduce

リストを計算して結果を返すには、Reduce機能を使用できます

Code

# 以下は、リスト内のすべての要素を相互に追加する機能です。
from functools import reduce
reduce((lambda x, y:x+y),[1,2,3,4])

output:
    10

5、 データ構造を設定する####

セットする#####

Code

some_list =['a','b','c','b','d','m','n','n']
duplicates =set([x for x in some_list if some_list.count(x)>1])print(duplicates)

## 出力:set(['b','n'])
交差点#####

Code

valid =set(['yellow','red','blue','green','black'])
input_set =set(['red','brown'])print(input_set.intersection(valid))

output:{'red'}
差分セット#####

Code

valid =set(['yellow','red','blue','green','black'])
input_set =set(['red','brown'])print(input_set.difference(valid))

output:
{' brown'}
基本操作#####
要素を追加######

Code

s.add( x )

s.update( x ) ##要素を追加することもでき、パラメーターはリストにすることができます
要素######を削除します

Code

s.remove( x ) ##セットsから要素xを削除します。要素が存在しない場合、エラーが発生します。
s.discard( x ) ##コレクション内の要素を削除する方法もあり、要素が存在しない場合、エラーは発生しません。

s.discard( x ) ##コレクション内の要素を削除する方法もあり、要素が存在しない場合、エラーは発生しません。

s.pop()  ##セット内の要素をランダムに削除します
コレクション要素の数を数える######

Code

len(s)
空のコレクション######

Code

s.clear()
組み込みメソッドの完全なリスト######

Recommended Posts

Python Advanced(1)
Pythonの高度な知識ポイント
Pythonの高度な使用法の概要
Pythonマルチスレッド
Python CookBook
Python FAQ
Python3辞書
Python3モジュール
Pythonの基本
Python記述子
Pythonの基本2
Python exec
Python3タプル
Pythonデコレータ
Python IO
Pythonマルチスレッド
Pythonツールチェーン
Python3リスト
Pythonマルチタスク-日常
Pythonの概要
pythonの紹介
Pythonアナリティック
Pythonの基本
07.Python3関数
Pythonの基本3
Pythonマルチタスクスレッド
Python関数
python sys.stdout
python演算子
Pythonエントリ-3
Centos 7.5 python3.6
Python文字列
pythonキューキュー
Pythonの基本4
Pythonの基本5
Centos6はPython2.7.13をインストールします
Pythonの基本構文(1)
Pythonはloopメソッドを終了します
Ubuntu16アップグレードPython3
Centos7はPython3.6をインストールします。
ubuntu18.04インストールpython2
ubuntuを再学習します--python3
Python2.7 [インストールチュートリアル]
Python 3.9が登場!
Python研究ノート(1)
python学習ルート
CentOS7アップグレードpython3
Python3の基本構文
Pythonレビュー1
linux + ubuntuはpythonを解決します
pythonの関数
Python学習変数タイプ
CentOSはPython3.6をインストールします
Python3.9の7つの機能
Pythonファイル操作
ubuntu12.04インストールpython3
Pythonのデザインパターン
Python-centos6のインストール
Centos7はPython2.7をインストールします
01.Pythonの概要
100の小さなPythonの例