PythonとPHPの違いまとめ(主要項目の対比表)
pythonとphpのクラスやメソッドなど主要項目の違いまとめ。
どっちがどっちかわからくなるの防止。
| 項目 | Python | PHP |
|---|---|---|
| 関数 | def 関数名(): | function 関数名(){} |
| 処理の終わり | 改行 | ; |
| コメントアウト | # | // or /* */ |
| 変数 | 変数名 | $変数名 |
| クラス定義 | class クラス名: | class クラス名{} |
| コンストラクタ | def __init__(self): | アクセス権 function __construct(){} |
| インスタンス | クラス名() | new クラス名() |
| プロパティ *1 | プロパティ名 | $プロパティ名 |
| プロパティの呼び出し | インスタンス.プロパティ名 | インスタンス->プロパティ名 |
| インスタンス自身 | self | $this |
| 自身のプロパティ呼び出し | self.プロパティ名 | $this->プロパティ名 |
| メソッド | def メソッド名(self) | アクセス権 function メソッド名() |
| メソッド呼び出し | インスタンス.メソッド名() | インスタンス->メソッド名() |
| 継承 | class クラス名(親クラス名): | class クラス名 extends 親クラス名{} |
| ファイル読込み | import モジュール名 | require_once(' ') |
| クラス読込み | from モジュール名 import クラス名 | require_once(' ') |
| 親クラスのメソッド呼び出し | super().メソッド名() | parent::メソッド名() |
| クラスメソッド |
@classmethoddef メソッド名(): |
アクセス権 static function メソッド名(){} |
| クラスメソッドの呼び出し | クラス名.メソッド名() | クラス名::メソッド名() |
| クラスプロパティ | (メソッド定義と同列に) プロパティ名 |
アクセス権 static $プロパティ名 |
| クラスプロパティの呼び出し | クラス名.プロパティ名 | クラス名::$プロパティ名 |
| 出力 | print() | echo/print |
| 配列 | [] | array() |
| キーあり配列 | {キー名:値} | array(キー名=>値) |
| キーあり配列呼び名 | 辞書型 | 連想配列 |
| 配列の要素数 | len(配列) | count(配列) |
| 変数展開*2 | f'{変数}' | "${変数}" |
| for文 | for 変数 in range(始値, 終値, ステップ) ※ 終値は含まない |
for($変数名=初期値: 条件式: ステップ){} |
| 配列からひとつずつ抜き出す | for 変数 in 配列: | foreach($変数名 as 配列) |
| if文 | if 条件式: | if(条件式){} |
| else if | elif 条件式: | elseif (条件式){} |
| switch文 | なし | switch(){case 条件: 処理; break;} |
| and | and | &&/and |
| or | or | パイプ2本/or |
| インクリメント演算子 | なし | ++ |
| デクリメント演算子 | なし | -- |
| 整数型に変換 | int() | intval() |
| 文字列型に変換 | str() | strval() |
| 小数点に型変換 | float() | floatval() |
| 3桁区切り | '{:,d}'.format(数値) f'{数値:,d}' |
number_format() |
*1. pythonではインスタンス変数と呼ぶ
*2. PHP:シングルクオテーションだと文字列として出力
python:f文字列の場合
表にして眺めてみると違いや、規則性がわかりやすい。