タグ

ブックマーク / donghai821.hatenadiary.org (4)

  • RubyプログラマがPythonを学び始めて知ったこと10選 ④ - donghai821の日記

    1 クラスのメソッド定義の第一引数には必ずselfが必要。 class MyClass: def my_method(self): # 処理 尚、第一引数の名前は別にselfでなくてもよい。ただ慣習的にselfが使われる。 2 クラスをインスタンス化するには関数表記を使う。 class MyClass: def my_method(self): return 1 m = MyClass() # インスタンス化 m.my_method() => 1 ちなみにメソッドコールの時はselfは不要。暗黙的に現在のオブジェクトが渡される。 3 クラス名の一文字目は小文字でもよい。 よいけど、慣習的に大文字にしてるのだとか class my_class: def my_method(self): return 1 m = my_class() m.my_method() => 1 ちなみにモジュール名

    RubyプログラマがPythonを学び始めて知ったこと10選 ④ - donghai821の日記
  • RubyプログラマがPythonを学び始めて知ったこと10選 ③ - donghai821の日記

    1 比較を連鎖できる。 a = 2 # これを 1 < a and a < 3 => True # このように書ける 1 < a < 3 => True 2 モジュール名はファイル名。 RubyではModuleを定義する構文があり、その中でモジュール名も定義されるが Pythonではファイル名、例えばhoge.pyであればhogeがモジュール名となる。 これを取り込むには次のように書く。 import hoge 3 モジュールはクラス・関数・変数単位でimportできる。 hogeモジュールからfoo()関数のみ取り込む場合次のように書く # hoge.py def foo(): return 1 # hogeモジュールを使用するスクリプト from hoge import foo foo() => 1 複数importも可能。 # カンマで区切って複数をimport from hoge

    RubyプログラマがPythonを学び始めて知ったこと10選 ③ - donghai821の日記
  • RubyプログラマがPythonを学び始めて知ったこと10選 ② - donghai821の日記

    1 case文がない。 ifとelifがその代わりを果たす。Rubyの場合正確にはcase式なんだけどね。 if x == 0: # 処理 elif x == 1: # 処理 当たり前と言えば当たり前 2 キーワード引数というものがある。 キーワード引数とは関数定義時の仮引数名を使って引数を渡せる仕組みのこと。 # こういう関数があったとして def my_func(arg1 = 1, arg2 = "yes"): # 処理 # このように引数を渡せる。 my_func(arg2 = "no") 3 仮引数の最後が**引数名の場合、その引数はディクショナリを受け取る。 ディクショナリとはRubyでいうハッシュ。このディクショナリには仮引数に対応するキーワードを除いた全てのキーワード引数が入る。つまりこの形にすれば仮引数にないキーワードが使える。 def my_func(arg, **dic

    RubyプログラマがPythonを学び始めて知ったこと10選 ② - donghai821の日記
  • RubyプログラマがPythonを学び始めて知ったこと10選 ① - donghai821の日記

    1 irbのように対話モードがある。 Rubyではirbで対話モードを開始するがPythonでは以下のコマンドで開始する python 2 Rubyと同じく多重代入ができる。 a, b = 1, 2 a # => 1 b # => 2 多重代入という名前があることを初めて知った。 3 Rubyと同じく文字列の掛け算ができる。 ただしこの*が文字列のメソッドなのかどうかは知らない。 "a" * 3 => 'aaa' 4 対話モードでは最後に表示した式が_(アンダースコア)に代入される。 a = 1 a + 1 => 2 _ + a => 3 これはirbにもあるようです。ezookojoさん感謝です。 5 トリプルクォート("""または''')というヒアドキュメントのようなものがある """a b c """ => 'a\n b\n c\n' あっ、これはRubyにもあるようだ。知らなかった

    RubyプログラマがPythonを学び始めて知ったこと10選 ① - donghai821の日記
  • 1