#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::メソッド名() |
クラスメソッド |
@classmethod def メソッド名(): |
アクセス権 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文字列の場合
表にして眺めてみると違いや、規則性がわかりやすい。