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

進捗

5/9 14:00~15:30 p.384 ラジアンの関数について試してた。コンピュータでは弧度法を元に三角関数を計算するが、今のところ自分では度数法に直してから三角関数を計算することしかできない。プログラムの中の計算について正確に理解することまではできなかっ…

進捗

5/8 17:00~18:00 p.384 先に2時間くらいこれまでの復習をしていた。mathモジュールは組込関数の計算よりも少数の単位まで扱えるので便利だとわかった。定数eの学習をする必要がある。

進捗

5/7 14:00~15:30 p.382~p.384 5/1の問題が解決できた。os.system('ls -l')でpythonを起動しながらファイルの状態がわかる。pythonを使ってlinuxコマンドを動かせる。 シンボリックリンクはファイル本体のフルパスが貼ってあるリンクみたいなもの。

進捗

5/4 10:15~13:40 p.381 os.walkの学習を始めた。5/5でも書いたようにここを参考にした。 第一階層にfoo_dir、第二階層にbar_dir、第三階層にdaz_dirとhoge、testとsampleというpythonファイルの入った組み合わせのディレクトリを作って試した。 >>> for dirp…

進捗

5/3 15:00~16:30 p.380 再帰的にディレクトリを削除するos.removedirs()を使っても一番下の階層のディレクトリしか消えない。このページのような動きにならない。原因はos.listdir()でわかった。ここに書いてあるように見えない.DS_Storeというファイルが自…

進捗

5/5 8:00~9:00 p.381 前後するが忘れないために先に5/5の記録をしておく。os.walk()の学習のためこのページを参考にして色々試した。 前提として第一層のディレクトリにfoo_dir、第二層にbar_dir、第三層にdaz_dirとhogeがある状態である。 >>> for root, di…

進捗

5/1 17:30~19:00 p.379 os.mdkir()について調べてた。第二引数のモードを指定することでアクセス権限を与えられる。公式ドキュメントに書いてあるように0oから始まる8進数で書く。このページのリストを見ると数値の参考になる。変更する際にはos.chmod()を使…

進捗

4/25 14:30~17:00 p.378~p.379 osモジュールのrenames()で少しつまづいた。再帰的の意味がわからなかったのでこのページを見て調べた。例えばフォルダの名前をパスを含めて変更しようとする。その際、下層にフォルダが入っていたならそれも変える。さらにそ…

進捗

4/24 18:00~19:00 p.378 ターミナルでのコマンドをpythonで行うosモジュールの学習に取り掛かった。os.chdir()やos.getcwd()で相対パスと絶対パスについて学んだ。 相対パスが現在いるディレクトリから見たパスであるのに対して絶対パスはどの視点から見るか…

進捗

4/23 17:00~18:10 p.377 sysモジュールの続きとわからない単語を調べた。 pathとはフォルダやファイルの場所のこと。pathを通すということはファイルを実行する際にpathの情報をコンピュータに登録し格納することで、pathを全部書かずに呼び出せること。この…

進捗

4/22 13:45~16:30 p.377 sys.stdoutについてどう動くのかこのサイトのコードを調べて動かした。 公式ドキュメントにも書いてあったが%を使う置き換えよりもf文字列やformat()を使ったほうがいい。 stdinやstdoutはファイルオブジェクトを開いているのでファ…

進捗

4/19 8:00~8:30 19:00~21:00 p.376~p.377 pythonのシステムを扱うsysモジュールの学習に入った。sys.exit()の引数に変数や文字、数字を入れることができる。何も入れなかったり、0を入れると正常終了になるが数字の1や他の引数を入れると1と表示されて異常終…

進捗

4/18 7:30~8:30 12:30~14:45 p.374~p.375 このページを見て疑問が湧いた。raw文字列との兼ね合いを考えてバックスラッシュをつけたパターン文字列にraw文字列のrを付けると、バックスラッシュが二重になり、エスケープシーケンスではなく、そのまま文字とし…

進捗

4/17 p.371~p.374 13:00~15:00 reモジュールの続き、イテレータは反復可能な要素、つまり連続していてforに添えて取り出す時も確認の処理をしている。finditer()はマッチオブジェクトのイテレータを返す。 改めてまとめると、re.function(pattern,string,fla…

進捗

4/16 p.370~p.371 16:00~18:00 正規表現のreモジュールについて学習した。compile関数で正規表現パターンを引数にして正規表現オブジェクトを作る。 reモジュールにはメソッドを使う方法と関数を使う方法がある。例えば正規表現obj.split(string)とre.split(…

進捗

4/15 p.365~p.370 12:40~15:15 calendarモジュールの続きを学習した。setfirstweekday()でしカレンダーの頭の曜を引数で変える。firstweedkay()で確認できる。 正規表現について学習を始めた。テキストだけではよくわからなかったのでこのページを参考にした…

進捗

4/12 13:30~15:35 p.358~p.364 このページでstrftime()メソッドとstrptime()メソッドの違いを学んだ。後者の場合アトリビュートをつけるインスタンスにはdatetime.datetimeといった引数を入れない形でもよい。テキストとは違ってstrptime()メソッドはdatetim…

進捗

4/11 13:20~15:45 16:45~17:45 p.355~p.358 並び替えを行う際に処理が速いbisectモジュールについて学んだ。bisectモジュールに格納されているのは関数。 datetimeモジュールについて学んだ。格納されているのはクラスであり、クラスによってはアトリビュー…

進捗

4/10 13:30~16:30 p.352~p.354 ディクショナリの値がリストの形ならappendメソッドを使って値であるリストに追加できる このサイトにも書いてあるようにディクショナリに付随するsetdefaultメソッドは、第一引数のキーがすでに存在している場合値が更新され…

進捗

4/9 19:00~20:15 p.349~p.352 collectionsモジュールのOrderDictクラスを学んだ。追加順に並んだディクショナリを表示する。ディクショナリに要素を追加するときはディクショナリに変数を与えてキーと値を書いた。OrderedDictクラスの場合はクラスを学習した…

進捗

4/8 13:10~16:10 p.343~p.348 例外が発生しても例外処理が書いてない場合tracebackというエラーを表示する。この時プログラムは動いていない。tracebackのエラーの下にあるメッセージには詳細が書かれている。 Exceptionは例外クラスの親クラスであり、Synta…

進捗

4/4 13:30~16:00 p.340~p.343 意図的に例外を発生させるraiseのコードがテキストに書いてなかったので、このサイトを見て試し学習した。 サイトに書いてある様に10/0の中身はZeroDvisionClassという例外クラスが起こり、division by zeroという例外オブジェ…

進捗

4/3 9:40~10:40 p.338~p.340 例外処理の続き。with文について学習した。以前、スラスラわかるpythonでwith文を学んだときはファイルを閉じる処理を自動で行ってくれると学んだ。今回はその理由がわかった。コンキストマネージャーという機能がその役割を果た…

進捗

4/2 14:00~17:15 p.337~p.338 anaconda-navigatorのjupyternotebookのlaunchをクリックしても起動せず、ターミナルで起動することができる状態になった。調べるとこちらのサイトの通り、何かの間違いでjupyter_mac.commandのシェルスクリプトがbinフォルダに…

進捗

4/1 17:30~19:10 p.333~p.337 学習した通りpythonのオブジェクトは名前をつけられている。その関係はで辞書のキーと値の仕組みで管理されている。キーが名前で値がオブジェクト。 繰り返し述べられてきた通り、pythonには型があり決まっているので宣言する必…

進捗

3/29 14:50~17:10 p.329~p.333 dir("abc")を調べると特殊メソッドがアトリビュートにでてくる。クラスのインスタンスだけに付くのかと思ったがそうではないらしい。クラスもstrも同じオブジェクトだから共通なのかと考えるのは極端か? getattr関数を使う際…

進捗

3/28 15:30~16:20 p.325~p.329 クラスのメソッドを代入して別の名前に変える方法について。メソッド名から左辺と右辺共にかっこをとって、一度アトリビュートの様に使う。そして代入した後呼び出すときはメソッドとしてかっこをつける。 pythonのオブジェク…

進捗

3/27 15:30~18:00 p.294の復習 テキストのコードを変えてlist関数をスーパークラスとして__setitem__を特殊メソッドで持つIntListというクラスを書いた。そこで気づいたこと。 def __setitem__(self,key,value): super(IntList,self).__setitem__(key,value)…

進捗

3/26 17:00~19:00 lambdaの復習 sortedは関数で反復可能なものを対象とする。sortはメソッドでリストオブジェクトに付く。両者ともキーに並び替えの基準を与えることができる。キーにlambda式を入れることもできる。

進捗

3/19 13:30~15:30 p.319~p.325 スコープの続き。インスタンスから見て、クラスの中の変数はアトリビュートをつけることで参照することができる。クラスの外でインスタンスがアトリビュートをつけて新しい数値を代入するとクラス内の変数は隠れてしまい参照で…