移動式のブログ

ガジェット、アニメ、プログラミング、考えたことその他色々・・・特にこれといったテーマはないカオスなブログです。

クラス(class)とは

クラスについて(Python

「クラス」について適当にメモしておこう。

関数

プログラミングでクラスという、関数みたいなやつが存在する。
関数は大雑把に言ってしまえば、「食材を入れると料理になって出てくる筒」みたいに考えておけば良い。
f:id:idoushiki:20180716102227p:plain

小麦粉1kgと抹茶の粉1kgとチーズ1kgをクラスに入れると、3kgの量の抹茶チーズパンが出てくる。
みたいなイメージだ。

クラスやインスタンスとは何か

まず、クラス
クラスは、「関数の集まり」みたいに考えておけば良いが、関数とは違うところとして、
値を保存しておくことができる。
関数の場合、関数内のローカル変数は関数の処理終了後に消滅するがクラスはそれが保たれる。

そして、インスタンス
さっきのパンで例えると、クラスは自分のオリジナル設定のパン製造機を何個も作ることができる。
インスタンスとは、「クラスによって生成されたオリジナルのパン製造機」と考えれば良い。
関数の場合は、オリジナルのパン製造機を作るためには

def bread(menu,am):
    global amount
    amount=amount+am
    msg=menu+str(amount)
    print(msg)

↑みたいなコードの塊を作るぶんだけいくつも書くことになる。
例えば種類の違うパン製造機を3つ作りたい場合は上記のコードの塊を3回分書くとかしないといけないので大変だ。
そのため、作りたいパン製造機の台数が増えれば増えるほどコードの量がとても多くなる。

class Bread:
    def __init__(self,menu="cheese "):
        self.menu=menu
        self.amount=0

    def br(self,g):
        self.amount+=g
        msg=self.menu+str(self.amount)
        print(msg)

しかし、クラスの場合は一度上記のようなコードを書けば、
あとは"bread2=Bread()"こんな感じの短いコードを書くだけで、
設定の違うパン製造機をいくらでも新しく作ることができる。
そして、"bread2=Bread()"の「bread2」がインスタンンスである。
つまり、様々な機能をたくさん作りたい場合は、
クラスを利用した方がコードが短いかつ、見やすくかけるということだ。

さっきのパンで例えると「抹茶パン専用の製造機」や「チーズ味のパン専用の製造機」がインスタンスである。
f:id:idoushiki:20180716102447p:plain



クラス 実際に書いたコードの動作(python)

「cheese味とgreentea味のパンをいくつ生産したかを表示する」みたいな感じのコードを書いてみた。

このコードで解説してみよう。

bread1=Bread("greentea ")
bread2=Bread()

このコードは、インスタンスを作成しているコードだ。

これでbread1とbread2というインスタンスを作成したことになる。
つまり、bread1というgreentea味のパン製造機、
bread2というパン製造機を作ったということになる。

Bread()内に、greenteaを入れたものと、何も入れていないものがある。
かっこ内が空の場合、class内にある「def __init__(self,menu="cheese "):」
の引数で値を設定している場合はその内容となる。
デフォルトの値を設定しなくても良いならそのまま"menu"と書けば良い。

このコードでは、
menu="cheese "と書かれているため、
かっこが空のやつは「cheese」の文字が設定される。
つまり、チーズ味のパン製造機ということだ。

コンストラクタ、def __init__()とは

この部分は初期化メソッドと言って、インスタンスを作成した時だけ最初に実行される部分だ。
コンストラクタとも言う。
つまり、インスタンスのbread2の場合は、
「bread2=Bread()」のように、インスタンスを作成するコードが実行された時だけ「__init__」の部分が実行される。
それ以降はbread2を実行しても「__init__」の部分は実行されないということだ。

self.menu=menu
self.amount=0

コンストラクタで上記のようなコードが実行される。
まず、bread1によって作成したインスタンスなら、
self.menuにgreeateaが設定されるので、
bread1はgreentea、そして、self.amountに0が設定される。

この二行のコードによって「menu=greentea amount=0」のデータをbread1が持つことになる。
そして、bread1.br(20)というコード、
つまりbread1のインスタンスのbr()に20の値を与える。

そうすると、brの引数のgに20が代入される。
そしてさっきコンストラクタで設定したように値が0のamountに20が加算されるので、
amountは20になる。

msg=self.menu+str(self.amount)
print(msg)

この部分でmenu「greentea」とamount「20」をつなぎ合わせて ”greeatea 20”というように画面に出力される。

もしこれが関数だった場合、
この時点で関数から抜け出したら関数内のローカル変数のamountの値が失われてしまう。
しかし、クラスの場合はこの「20」という値と
「greentea」という文字が(この例だとbread1に)保持されるので、
次に「bread1.br(20)」を実行すると"greentea 40"と出力される。

つまり、パンで例えれば、「20個の抹茶パンを製造する」という操作を2回行ったので
合計で抹茶パンが40個製造されたと例えられる。


self

selfは、変数に入れた値を保持することができる。
そして、クラス内のすべてのメソッドで変数内の値を共有することができる。

今回の例の場合、selfをつけた変数はbread1やbread2に設定される。
selfをつけないと、その変数に入っている値は保持されないので、
今回の「self.amount」みたいな値を保持すべき変数にはselfをつける。
そして、selfをつけた変数の値はクラス内全てのメソッド(def br():みたいな関数的なやつ)で共有される。
f:id:idoushiki:20180716192037p:plain



コードの実行結果 

bread1.br(20)
bread2.br(15)
bread1.br(20)
bread2.br(15)
bread1.br(20)

今回の例のコードでは上記のように書かれているので、実行結果は以下の画像のようになる
f:id:idoushiki:20180716091333p:plain
見ての通り、greeateaはgreentea自身の値を保持しているし、cheeseもcheese自身の値を保持している。
グローバル変数などを定義しているわけではない。
インスタンスに値をぶち込んだら、今までにぶち込んだ値の合計が文字とともに出てくるのだ。
さらに、そして、bread1もbread2もそれぞれの持つ値は独立しているので、
数値が混ざることなく、加算されているので、新たに専用の変数を定義する必要がない。
これは便利だ。




実践力を身につける Pythonの教科書

新品価格
¥2,786から
(2018/7/16 12:15時点)

自転車のブレーキ交換 低コスト

自転車のブレーキを交換した


最近、自転車に乗ったらブレーキの効きが悪かった。
さすがにブレーキは安全に関わるので、新しいものに交換しよう。

百均に自転車用品がっていた記憶があったのでいってみたら、自転車ブレーキが売っていたので買った。
もちろん100円(税抜き)
f:id:idoushiki:20180715235940j:plain


ブレーキのナットを緩めて、ボロいやつを取り外し、新しいものに取り替える。
古い方のブレーキ、錆びているし、すり減っているし、かなりボロくなっている。


ブレーキの交換はナットを緩めるだけで外せる。
そして、新しいものをはめて、タイヤの金属の部分を挟むように位置を合わせてナットを締めるだけなのでそれほど時間はかからない。
ブレーキをかけた時にブレーキが当たる位置をしっかりと合わせて、ブレーキが外れないようにナットをきつく締めておけば良い。

交換した後に試しに少し乗ってブレーキをかけてみたが、ブレーキの効きが良くなっていて特に異常はなかったので交換成功だ。

俺のチャリ、10年以上昔から乗っていて今も現役なのでかなり長寿だ。
最近、サドルがボロくなってきたので、交換した。それに加えてブレーキも交換したので新品並みの使い心地になったのですごい。
俺のボロチャリ、修理しながら乗れば20年は乗り続けられそうな感じがする。





自転車用ツール 自転車用ツールセット 自転車のメンテナンス 使いやすい 持ち運びが簡単 多くの機能 ポケッタブル

新品価格
¥1,099から
(2018/7/16 00:08時点)

蚊取り線香

蚊取り線香の香りが好きだ

夏は、蚊がよくでる季節だ。
特に寝ている時に顔の近くに寄ってきて、耳元で蚊が横切る「p〜〜〜〜〜〜ん」って音を聞くたびに不快になる。
そして蚊に刺されて不快だ。

蚊を退治する方法として、ベープなどの電気式の蚊とりマシンがある。
殺虫剤の液体が入ったボトルをセットするやつとか、シート式の殺虫剤を使うやつとかがある。
しかし、俺は蚊取り線香を買ってきてつけたくなる。
蚊取り線香の煙のあの香りが好きだ。
蚊を退治できるし、香りも好きなので一石二鳥じゃんと思っている。
何かしらの芳香剤をおくぐらいなら蚊取り線香の煙を芳香剤として使いたいレベルだ。
さすがに、部屋を密閉した状態で煙が室内に充満していたら気持ち悪くなる。
風通しの良い状態で、ほんのりと蚊取り線香の香りが漂ってくるレベルがとても良い。

しかし、蚊取り線香の香りは何の香りなのだろうか。
単にものを燃やした煙みたいに臭い匂いではない。
タバコの煙と比べたらやさしい香りだ、気分が落ち着く香りという感じ。
蚊に対しては毒でも、俺の体に対しては一種のリラックス作用的な効果があるのではと思ってしまう。





金鳥の渦巻 蚊取り線香 30巻 缶

新品価格
¥749から
(2018/7/16 00:18時点)

アラビア語 アラビア文字 母音

アラビア文字は基本的には母音を書かない

アラビア文字は基本的には母音を書かずに、子音だけを書くようだ。
ローマ字表記した日本語でイメージしてみたら以下のようになる。
「パソコン」をローマ字表記したら「pasokon」になるが、
アラビア文字の場合は、母音を書かないので「pskn」といった感じに書くことになる。
なかなか難しいものだな…

クルアーンや、教科書、子供が読む本などには母音記号が書いてあるようだ。
どのように読むのか、正しい発音を知る必要があるということで。

アラビア語の母音の書き方としては、下の例のようなイメージだ。
f:id:idoushiki:20180710214750p:plain
母音記号の例




ملك الناس(母音表記無し)

مَلِكِ النَّاسِ(母音表記あり)

「マリキアンナーシ(人間の王)」
上側の文は母音を省略した書き方で、
下側の文は、上の例の画像で書いたような母音記号をつけた書き方。



読める書けるアラビア文字練習プリント

新品価格
¥1,944から
(2018/7/10 21:55時点)

いらなくなった歯ブラシ

https://pbs.twimg.com/media/Df37TYOVQAAgmXW.jpg:large

風呂の扉のこういう細かい場所とかにある汚れ、歯ブラシを使うといい感じに掃除できる。
使わなくなった歯ブラシを掃除のために有効活用できるのでオススメ。

就職活動を行う上で最も大切な心構え

就活を行う学生が必ず心がけておくべき一つのこと

f:id:idoushiki:20180110192440p:plain
大学生など、就職活動を行っている学生はたくさんいることだろう。
会社に就職して金を得るというライフスタイルがメジャーなようだ。
稼ぐ能力があって起業したりとか親が経営者で会社を継ぐとかあるならば、就職しなくても生計をたてられるが。

就職活動をして、様々な企業の入社試験を受けても落ちまくるという可能性は十分にある。
相当能力があるか、または相当ブラックな企業で簡単に入れる場所でも選ばない限り、何十社も受けてやっと受かるといった感じだろう。

なかなか内定が取れないとか、何度も試験に落ちるなどして精神がダメになって自殺するような学生もいるだとか…

就職活動を行う上で心がけておくべき最も大切なことがある。
「私は神聖である、私は神だ」と思うことだ。

何十社も企業の試験で不合格になってお祈りメールなどが届いたら、
こんなにたくさんの企業が自分に向かって祈っているなんて「私は神」ぐらいに思っていた方が良いだろう。
「俺は優秀だ、雇え!」(byプロ奢られやー)という感じでやっていきましょう。

実際に、これと似たような考え方をして面白いことをした人もいるようだ。
nlab.itmedia.co.jp


内定を取ることが目的ならば、この考えに勝るマインドセットはない

どんなに高度な面接や試験のテクニックを持っていても、
いやになってすぐに諦めればその時点で「内定を取る」という目的が達成できる確率は0だ。
最も大切なことは、「やる」こととか「やり続ける」ことだ。
「自分は価値のない人間なんだ」みたいなことを思って精神がダメになって就活を終了すれば、
どんなに優秀でも試合終了だろう。
そして、死んでしまえば、「人生」が試合終了になる。

しかし、どんなにバカなやつでも、適当に手当たり次第様々な企業の試験を受けていればいずれ1社ぐらいは受かることだろう。
0.1%の確率でも、1000回繰り返せば、一回は当たるのだ。
「私は神だ」と思って、企業を回れば良い。
そして、祈られるごとに、「私は神である」ということを何度も自分に思い込ませるようにしよう。
不合格になるごとに心がおれるどころかむしろ、「自分は偉大な存在なのでは」と謎の自信に満ちていくので面白いと思う。

ということで、就活をする上で最も大切なことは
「私は神だ!偉大だ!」
と思い続けることである。




就職できなかったら

そして、最悪ニートになっても、生きているだけ十分に良い。

起業、フリーランス、ヒモ、実家、ホームレス、ネットで稼ぐなど、働く以外にも生きていく方法はある。
最悪の場合、生活保護を受給すれば良い。

また、路上生活になっても、日本は比較的治安が良いので、殺される可能性は少ないと思われるし、炊き出しなど食料は手に入るし、最悪死ぬ可能性は少ない。
ホームレスになった場合はどうしようかと不安な人にはゼロから始める都市型狩猟採集生活 (角川文庫)やTOKYO 0円ハウス 0円生活 (河出文庫)のような本がオススメだ。
ホームレスでも様々な工夫をして楽しく生きている人間はいるようだ。
中にはたくさんお金を稼いでいる人や、ホームレスとは言えないレベルの立派な小屋を自作している人までいるらしい。
こういう本を読めば多少は不安が和らぐのでは。

ゼロから始める都市型狩猟採集生活 (角川文庫)

新品価格
¥734から
(2018/6/14 00:13時点)

TOKYO 0円ハウス 0円生活 (河出文庫)

新品価格
¥821から
(2018/6/14 00:14時点)

ニート株式会社(ニー株)という企業

ニート株式会社 今年の7月に新メンバー募集開始予定のようだ

最近、仲氏がこんなツイートをしていた。
ニー株が今年もメンバーを募集する可能性があるようだ。



idoushiki.hatenablog.com

「会社」というよりは意識低い系フリーランス集団というか、一種の集まりというかニートをテーマにしたサークルといった感じである。
ニート」とは名前に入っているが、無職じゃなくても入社できるようだ。


株式会社ではあるが、一般的な企業とは違う。


以下、ニー株の特徴を適当に並べていこう。

固定給は無い
仕事をすれば給料がもらえるとかそういうのはない。何もしなければ何ももらえない。
自分なりの稼ぎ方を考えて実行しよう。
何もしなくても仕事が発生することは無いので、「自分から稼ぐネタを見つけて実行する」必要がある。


全員が取締役で、部下や上司と言った概念がない
上司とか部下みたいな隷属関係は無くて、全員代表取締役である。
入社すると「代表取締役」の肩書きが手に入る
それぞれが自由にやって良い。誰かと組んで事業を起こすのも良いし
自分一人で活動しても良い。


事業内容は、「一切の事業」
法に反することでなければ好きなように事業を立ち上げてよいし、何もしなくても良い。
つまり、自由。


ニー株メンバーの人脈ができる
「ニー株の取締役」であるということをきっかけにして、新たな人との繋がりを作ることができる。
そして、ニー株専用のSNSのメンバーに入ることができる。
スカイプ的なビデオ通話やチャットができるアプリのようで、
これを利用してニー株メンバーといつでもコミュニケーションをとることができるようだ。


全員、毎年3000円の自社株を買うことが義務になっている
しかし、株を売って利益を得るみたいなことはできないようだ。
そのため、自社株を買うというよりは「年会費」と考えれば良い。


ニート株式会社は無職じゃない人も入れる
会社員でもフリーターでも入ることが可能だ。
3000円程度の年会費を払えるのなら無職とか、労働者とか、身分関係なく入れる。






ニート株式会社は世界一のホワイト企業である。
白を通り越して「無色」な企業なので凄すぎるな。
この「無色」の会社で人生を「夢色」にするも「無職」にするも自由なのよ?