Python構文の詳細#0


※Postのすべての内容は、朴相吉氏の「Pythonアルゴリズムインタビュー」で参考にしたものです.
Pythonの詳細な構文
入力
PEP 8の原則に従ったコーデュロイは4格子の空白を意味する.それ以外に、以下の基準があります.
foo = long_function_name(var_one, var_two
						 var_three, var_four)
上記のように、1行目にパラメータがある場合は、パラメータの先頭に対して空白が形成される.
def long_function_name(
		var_one, var_two, var_three,
        var_four):
	print(var_one)
前述したように、最初の行にパラメータがない場合は、他の行から分離するように、スペース4の引用符をもう一度追加します.
このような詳細な挿入構文は,VscodeのようなテキストエディタやFiパラメータのような開発ツールを用いることが望ましい.これらを利用すれば、特に注意する必要がなくても、符号化ガイドを自動的に調整することができる.
•名前付き会議
Pythonでは、変数名を使用モードの下のバー()のSnake caseとしてマークします.PythonはPythonのダウンロード方式(PythonicWay)を誇りに思っているという.そのため、キャメルのケースだけでなくjavaスタイルでのエンコードも禁止されています.
camelCase: int = 1 #카멜 케이스
snake_case: int = 1 #스네이크 케이스
•タイプのヒント
Pythonは典型的なダイナミックタイプ言語です.つまり,Pythonはコンパイル時にデータ型を決定するのではなく,実行時に決定する.したがって,変数を宣言する際には,変数の資料型を明確にする必要はない.しかし、このようなPythonでも状況に応じてタイプを指定した方が良い場合が多く、このタイプのヒントがPEP 484ドキュメントに追加される.次のコードのようにタイプを宣言できます.
integer_one: int = 1
string_one: str = "1"
では、このタイプの指定はいつ機能するのでしょうか.次のコードを見てみましょう.
def ex_func1(p1, p2):
	...
    return res
これは、タイププロンプトを使用していないコードの例です.すばやく記述して使用できますが、2つのパラメータp1およびp2がどのようなタイプのデータを渡すべきか、および返す必要があるresがどのようなタイプなのか分かりません.では、次のコードを見てみましょう.
def ex_func2(p1: int, p2: int) -> list:
	...
    return res
このコードは、前のコードとは異なり、パラメータp1p2のタイプが何であるかを明確に知ることができ、リターンが必要なresのタイプがlistタイプであることを直接知ることができる.このようにタイプを明確に指定することで、可読性が向上し、エラーを低減することができる.実際の作業では、プロジェクトの規模が拡大し、コードが長くなり、複雑になり、コードの可読性のためにタイプを指定すると、多くの場合便利になります.また、コーディングテストでは、短いアルゴリズムで問題を解決するのが一般的なので、タイプを指定する必要はありませんが、コードを整理するときにきれいなタイプを指定すると、コードコメントのときに面接官の好点数が得られます.
ただし、Pythonはダイナミックに割り当てることができます.タイププロンプトは強制的な約束ではありません.そのため、以下のコードなどのエラーに注意してください.
var: str = 1 # var의 실제 타입은 int
•リスト計算
Pythonは、List Compressionと呼ばれる機能を提供しています.リスト計算は、リストをより直感的で簡単に宣言する方法です.使い方は以下の通りです.
# 0부터 9 중에서 짝수만 10을 더해서 출력하는 리스트 컴프리헨션
>>> [n + 10 for n in range(10) if n % 2 == 0]
[10, 12, 14, 16, 18]
このコードを通常のコードとして記述すると、次のようになります.
>>> list = []
>>> for n  in range(10):
...		if n % 2 == 0
...        	list.append(n+10)
...
>>> a
[10, 12, 14, 16, 18]
リストのほか、ディック・シャナリーの公式も紹介されている.次の例を示します.
a = {}
for key, value in original.items():
	a[key] = value
これらのコードは次のようになります.
a = {key : value for key, value in original.items()}
リスト計算は、コードの記述が非常に簡潔で、可読性が良いなどの利点があるが、式が2つ以上複雑すぎると、かえって可読性が低下するため、適切に使用することが望ましい.