オブジェクト指向
何かしらを作る時に、一気に作るのではなく、要素要素に分解してその要素を繋ぎ合わせて作る考え方の事
動的な
流動的に変化する
静的な
変わらない
インタープリタ方式
プログラミング言語の命令を一つずつ機械語に解釈しながら実行する方法
作成したソースコードをすぐに実行できるメリットがあるが、毎回解釈するため実行時間が長くなる
バイナリ形式
データが、0と1で表現されているデータ形式のこと
PyPy
動作を早くする時に使用されるインタプリンタ
CPython
標準で使えるインタプリンタ
文字列リテラル
0以上の連続した文字列
組込み関数
初めから用意されている標準で使用可能な関数のこと
シーケンス型
複数の要素をまとめて扱える型
例 : リスト、タプル、文字列など
メソッド
class内で使用する関数 別名 : メンバ関数
フォーマット済み文字列リテラル f-string
接頭辞 'f' または 'F' の付いた文字列リテラル。これらの文字列には、波括弧 {} で区切られた式である置換フィールドを含めることができます。
コレクション
リストやタプル、辞書のように他のオブジェクトを集約することを目的としたオブジェクト
イテレート
繰り返すこと
イテラブル
繰り返し可能なオブジェクトのこと
イテレータ
イテラブルオブジェクトを利用した連続データ
iter(イテラブルオブジェクト)で作成できる。
特徴として、nextを使用して要素を一つずつ取り出し、また削除できる。
list_1 = [1,2]
iter_1 = iter(list_1)
print(next(iter_1))
>>1
print(next(iter_1))
>>2
print(next(iter_1))
>>StopIteration Traceback (most recent call last)
シンボルテーブル
変数名(シンボル)とその内容(データ型、スコープレベルなど)からなる情報のテーブル
メソッド
オブジェクトに属している関数のこと
スコープ
アクセスできる範囲のこと ローカルかグローバルか
ドキュメンテーション文字列 docstring
関数名.__doc__で、参照可能な文字列
def my_function():
"""Do nothing, but document it.
No, really, it doesn't do anything. #この部分
"""
pass
print(my_function.__doc__)
関数のアノテーション
アノテーションの意味:注釈
ユーザー定義関数で使用される型についての完全にオプションなメタデータ情報
コードを読む際に、視認性が高まる
def f(one: int, two: int = 1) -> int:
print("Annotations:", f.__annotations__)
print("Arguments:", one, two)
return one+two
f(1,2)
>>
Annotations: {'one': <class 'int'>, 'two': <class 'int'>, 'return': <class 'int'>}
Arguments: 1 2
3
以下のようにすると、Annotationsは、何も出力しない。
def f(one, two= 1):
print("Annotations:", f.__annotations__)
print("Arguments:", one, two)
return one+two
f(1,2)
>>
Annotations: {}
Arguments: 1 2
3
キュー
入れたものが、入れた順で取り出せる構造になっているもの
例 : 最初に入れたものを最初に取り出す
ネスト
操作の中にある別の操作
タプルのネスト
t = 1, 2, 'アイウエオ!'
u = t, (3, 4, 5)
u
>>((1, 2, 'アイウエオ!'), (3, 4, 5))
ネストが深い例
if(~~):
if(~~):
if(~~):
リスト内包表記
[式 for 変数名 in イテラブルオブジェクト]
test=[i for i in range(3)]
print(test)
>>[0,1,2,3]
アンパック
コレクションの要素を一気に変数に代入する方法のこと
コレクション : リストやタプル、辞書のように他のオブジェクトを集約することを目的としたオブジェクト
one, two, three = (1, 2, 3) # タプルのアンパック
print(one, two, three)
>>1 2 3
マッピングオブジェクト
ハッシュ可能な値を任意のオブジェクトと対応づけるもの
ハッシュ
データと共に生成される値
ハッシュ関数
データからハッシュ値を算出する関数
同じデータからは、同じハッシュ値が算出される
位置引数
def(a,b)に対するdef(1,2)の1,2のこと。
順番が重要な引数
キーワード引数
def(a=1,b=2)に対するdef(b=3,a=3)のこと。
キーワードを使うことで位置に縛られる心配はない。
yield
関数を一時的に停止させることができる機能
抽象クラス
インスタンス化できない継承する事を目的としたクラスのこと
コンテキストマネージャ型
with文に対応したオブジェクト コンテキストマネージャにより定義される実行時コンテキストをサポートする
参考
Python 公式チュートリアル
https://docs.python.org/ja/3/tutorial/index.html