pythonのこれってrubyの何にあたるの?ということをざっくり書いていきます。あくまでメモです。
rubyをちょっと(1ヶ月程度)学んだ人がprogateのpythonをやって学んだことが基本です。
配列、ハッシュ
ruby | python |
---|---|
配列 | リスト |
ハッシュ | 辞書 |
名前が違うだけで、記述方法は一緒。 |
each文
ruby
オブジェクト.each do |変数|
実行する処理1
実行する処理2
end
python
for 変数 in オブジェクト:
実行する処理1
実行する処理2
「:」忘れがち
半角4つ分インデントが重要。これがないとfor文の中身だと認識されない。
hamlみたいに、pythonはインデントの有無が意味を持ちます。
if文
ruby
if 条件式1 then
条件式1が真の時に実行する処理
elsif 条件式2 then
条件式1が偽で条件式2が真の時に実行する処理
elsif 条件式3 then
条件式1及び条件式2が偽で条件式3が真の時に実行する処理
else
全ての条件式が偽の時に実行する処理
end
python
if 条件式1:
条件式1が真の時に実行する処理
elif 条件式2:
条件式2が真の時に実行する処理
elif 条件式3:
条件式3が真の時に実行する処理
else:
全ての条件式が偽の時に実行する処理
elseifじゃなくてelsifじゃなくてelif
正直覚えにくい
while文
ruby
while 条件式 do
実行する処理1
実行する処理2
end
python
while 条件式:
実行する処理1
実行する処理2
continue
とbreak
が使える。
関数
ruby
#定義
def 関数名(引数1、引数2、…)
処理1
処理2
end
#実行
関数名(引数)
python
#定義
def 関数名(引数1、引数2、…):
処理1
処理2
#実行
関数名(引数)
モジュールの呼び出し
ruby
#ファイルを読み込む
require 'ファイルのURI'
python
#sample.pyを読み込む
import sample
#sample.pyのクラスを読み込む
from sample import クラス名
モジュール名.関数()
と書くことで、モジュール内の関数を実行可能
クラス
ruby
#クラスの継承
class 子クラス < 親クラス
end
#Sampleというクラスを定義
def クラス名
def メソッド名
処理
end
end
#インスタンスの作成
sample_instance = Sample.new
#初期値の設定
def initialize(引数)
処理
end
python
#クラスの継承
class 新しいクラス名(元となるクラス名):
#Sampleというクラスを定義
class Sample:
処理
#インスタンスの作成
sample_instance = Sample()
#初期値の設定
def initialize(self,引数):
処理
クラス名を大文字から始めるのは変わらない
メソッド
ruby
#定義
def メソッド名
処理
end
#呼び出し
メソッド名
python
#定義
def メソッド名(self,引数):
処理
#呼び出し
インスタンス.メソッド名(引数)
**第1引数には必ずself
を使用。**selfには、インスタンス自身が代入されている。呼び出す際の引数は、selfは記載しない。