2019-01-01から1年間の記事一覧

進捗

3/16 16:00~18:15 p.311~p.319 名前空間のようにオブジェクトに名前をつける際に対象をどの場所に置くかでアクセスできる範囲が変わる。 関数のブロック内からは外の変数は参照できる。逆に関数の外からは中の変数は参照できない。関数内の変数を参照したい…

進捗

3/15 13:00~15:00 p.302~p.312 パッケージについて学んだ。

進捗

3/14 15:30~17:10 p.298~p.302 テキストにあった__name__ = "__main__"についてこのサイトを見て調べた。 テキストにあるtestmoduleファイルをモジュールとしてインポートした時、__name__はtestmoduleになる。ターミナルでpython3 testmodule.pyとしてスク…

進捗

3/13 13:30~17:10 p.294~p.296 スクリプトファイルに書くコメントアウトを学習した。 気になったのでこのサイトにのコードをもう一度書いて見て試した。 class Setitem: def __init__(self,item): self.item = item def __setitem__(self,key,val): print('…

進捗

3/12 13:30~15:30 p.293~p.295 このサイトをjupyternotebookに書いて__hash__(self)を学習した。 def hash(self): return print('The hash is',hash(self.name,self.age)) #hashメソッドは整数を返すようにとメッセージが出る。 def hash(self): return 'The…

進捗

3/11 14:15~17:00 p.292~p.293 getattrについて参考になるサイト https://qiita.com/fumitoh/items/b090ae6ccd52e6a88d9e http://nekoyukimmm.hatenablog.com/entry/2016/04/17/220745 値を参照する関数getattr関数の書き方。getattr(インスタンス,'メソッド…

進捗

3/8 13:15~15:30 p.291~p.292 __iter__(self)メソッドのブロックにreturn selfを書くのは呼び出した時にインスタンス自体をイテレータとして返す必要があるから。 __next__(self)メソッドでは引数が一つ。呼び出す一連の流れはインスタンスをiter関数の引数…

進捗

3/7 13:35~16:10 p.290~p.291 特殊メソッドをこのサイトで学習した __getitem__(self,key)メソッドはインスタンスを建てる時、引数selfにディクショナリを入れる。インスタンス['key']でメソッドを呼び出す。 self.item.get(key)のようにアトリビュートにオ…

進捗

3/6 16:15~18:15 p.290 __format__(self,form_spec)メソッドの第二引数は、呼び出すときの{0:#b}.format(100)の#bに当たる。ちなみに#bは二進数表記のこと

進捗

3/5 13:00~16:30 p.287~p.289 親クラスの初期化メソッドの引数が一つ、子クラスの初期化メソッドの引数が二つ、この場合、子クラスでsuper()関数を使って親クラスの内容を受け継いで対応することは引数の数が違うのでできない。オーバーライドして書き換えた…

進捗

3/4 17:30~20:50 p.287 以前書いたテキストに載っているジェネレータ関数を使った素数の判別式をもう一度自分なりに考えた。 def get_primes(x = 2): while True: #while Trueなので終了しない。だからreturnで結果を返す形にする。 for i in range(2,x): if…

進捗

3/1 17:30~20:00 p.286~p.287 このサイトから特殊メソッドのサンプルコードをjupyternotebookで動かし学習した。 class Addition: def __init__(self,val): self.val = val def __add__(self,other): return self.val + other.val + 5 #表示 a1 = Addition(5…

進捗

2/28 p.284~p.286 17:30~20:00 特殊メソッドの学習をしていたがサンプルコードが見たかったのでこのサイトを参考にした。以下自分なりのまとめ class Iaddition: def __init__(self,value): self.value = value def __iadd__(self,other): self.value += oth…

進捗

2/27 p.274~p.285 15:00~18:00 スーパークラス、サブクラスの親子関係でメソッドを引き継ぐことができる。 サブクラスで引き継ぐ部分を変えることをメソッドのオーバーライドという。 super()関数を使うことでスーパークラスを呼び出す。super.スーパークラ…

進捗

2/26 p.258~p.273 16:45~19:15 attribute,アトリビュート, 属性はオブジェクト指向のメソッドのようにドットをつけて書く。変数のように自由に名付けて代入で定義する。 クラスを呼び出して変数に代入することでインスタンスができる。 アトリビュートはそれ…

進捗

2/25 p.247~p.252 19:00~22:30 高階関数は変数のように使える p.250のfuncはaccumlate、*argsは(1,2)に当てはまる。 クラスから作れるものがインスタンスで、クラスはインスタンスの性質を書いてまとめてある インスタンスはオブジェクトのようにデータと命…

進捗

2/22 20:30~23:15 p.245~p.247 while Trueがついた状態で、for(インデントを下げた中にif文とbreakあり)とelse(戻り値としてxを返す)とx += 1が同じラインで揃って上から下へと書かれている。この場合、forで要素を取り出してifの条件式を繰り返す。結果、if…

進捗

2/21 p.234~p.245 17:00~19:00 19:30~20:30 sum([i for i in number_list])がnot iterableにならない理由 number_list = [1,2,3] [i for i in number_list] #[1, 2, 3] #リストで返されるだから反復可能でありsum関数が使える。 #リスト内包表記はリストで返…

進捗

2/20 14:00~17:45 p.230~p.236 関数型プログラミングは全て関数にする方法。オブジェクト指向のメソッドでデータが変わる可能性がないので良い。 ''.join(文字の入ったリスト)で一つの文字列オブジェクトになる。 reversed関数をそのまま表示するとイテレー…

進捗

2/19 13:00~16:30 p.215~p.228 ファイルオブジェクトはファイルをopen関数で開くと返ってくるもの バイナリファイル、画像などを開くとその中身のオブジェクトはbyte型 ファイルオブジェクトのシーク位置はtellメソッドやseekメソッドで操作する。 文字型は…

進捗

2/18 13:15~17:45 p.201~p.214 文字を表す数字を実際の文字に表示することをエンコードという。 文字列型はただの文字、byte型はエンコード変換された文字。byte型はデータそのものみたいなイメージ strからbyteはencodeメソッドで逆はdecodeメソッド 関数の…

進捗

2/16 21:00~23:00 p.192~p.200 辞書型で同じキーを複数入れておくことはできない。 splitメソッドは引数なしだと文字列を空白で分割する。 updateメソッドの引く数はdict関数と同じように書ける。 zip関数に辞書型を入れるとキーが取り出される

進捗

2/15 18:30~21:30 p.185~p.192 リストに関してappendメソッドとextendメソッドの違い appendはタプルやリストの形をそのままにしてリストにい一つの要素として加える extendはタプルやリストの形にしても、形はバラバラになり要素は一つずつリストの一部とし…

進捗

2/14 15:00~17:00 p.178~p.185 find,index,endswith,startwithメソッドについて、.find('a',0,5)だった場合、0から4番目までの文字列を検索範囲にする。 辞書のキーとformatメソッドを使った文字列の挿入は、{0[key]}の形を使い最後に.format(辞書の名前)を…

進捗

2/4 13:45~17:20 p.171~p.178 str型の要素はreplaceメソッドで完全に変えたということはない。 replaceメソッドの後でformatメソッドを使ってもうエラーになる。対策としてformatメソッドの第二引数でreplaceメソッドを使う。 'abcdefg'のうちendwithメソッ…

進捗

2/1 20:15~22:30 p.166~p.171 このページやこのページを参考にビット演算を学習した。 scratter plot = 散布図を学習する必要があると感じた。

進捗

1/31 19:40~21:40 p.152~p.166 変数や特定のデータに紐づいて処理をする関数をメソッドという。 オブジェクト指向とはデータとメソッドが一つになっていること。 set型に入っている要素は変更できる。 str型もシーケンスの一つであり、インデックスで取り出…

進捗

1/30 17:10~20:10 p.138~p.150 breakはループ文以外のif文でも使える。ブロックから抜け出す。 continueだとそこで止まってブロックのスタートに戻る。 while ループが終了する条件: while True:だと条件が真になりいつまでもつづく。 ループ文のあとにelse…

進捗

1/29 16:30~19:30 p.125~p.138 setとタプルについて一通り書いた assignment = 代入 タプルはリストにできないことリストにできないことができる。変更できない点がその理由。 辞書型をfor文で使うとkeyで値が取れる。 pythonで違うデータ型の比較はできない…

進捗

1/28 13:15~16:15 p.105~p.125 関数を作る時の引数は名前を自分で定義する。それは関数ブロック内で変数として使える。 引数→関数→戻り値 matplotlibのさらにpyplotというモジュールを指定するにはimport matplotlib.pyplot as pltとする。 辞書型においてい…