Как PHP-шинк со стажем, при изучении Python я использовал такой способ: брал готовые PHP-скрипты и переписывал их на Пайтон. В результате получилась небольшая шпаргалка, которой я и хочу поделиться с вами.
Аналог empty() в Python
Код на PHP:
if (empty($x)) {echo 'переменная пуста';}
if (!empty($x)) {echo 'переменная не пуста';}
Аналог на Python:
if not x:
print('переменная пуста')
if x:
print('переменная не пуста')
Сравнение массивов PHP и Python
Массивы в PHP = Списки в Python.
Код на PHP:
$arr = ['Нулевой элемент', 'Первый'];
$arr[] = 'Второй';
$arr[] = 3;
Тоже самое на Питоне:
arr = ['Нулевой элемент', 'Первый']
arr.append('второй')
arr.append(3)
print(arr)
# выводит: ['Нулевой элемент', 'Первый', 'второй', 3]
Ассоциативные массивы в PHP = Словари в Python
Код на PHP:
$arr = array(
'el1' => 'Первый',
'el2' => 'Второй'
);
$arr['el3'] = 3;
Тоже самое на Питоне:
arr = {
'el1': 'Первый',
'el2': 'Второй'
}
arr['el3'] = 3
print(arr)
# выводит: {'el1': 'Первый', 'el2': 'Второй', 'el3': 3}
Аналоги json_encode() и json_decode() в Python
Одна из распространённых задач - кодирование (шифрование) и декодирование (дешифрование) json. Начнём с кодирования, то бишь с json_encode (кстати, encode - на инглише означает "шифровать"). Для пример превратим ассоциативный массива в json строку. Сначала выполним на PHP:
$my_array = array(
"element" => 1,
"b" => 2,
"c" => 3
);
var_dump(json_encode($my_array)); // напечатает строку: {"element":1,"b":2,"c":3}
Аналог json_encode в Python:
my_array = {
"element": 1,
"b": 2,
"c": 3
}
array_str_json = json.dumps(my_array)
print(array_str_json) # напечатает строку: {"element": 1, "b": 2, "c": 3}
Теперь займёмся декодированием.
Код на PHP:
$json_str = '{"element":1,"b":2,"c":3}';
var_dump(json_decode($json_str)); // расшифруем как класс
var_dump(json_decode($json_str, true)); // расшифруем как массив
PHP код выше вернёт:
object(stdClass)#1 (3) {
["element"] => int(1)
["b"] => int(2)
["c"] => int(3)
}
array(3) {
["element"] => int(1)
["b"] => int(2)
["c"] => int(3)
}
Тоже самое на Питоне (аналог json_decode):
json_str = '{"element":1,"b":2,"c":3}'
decoded_body = json.loads(json_str)
print(decoded_body)
И ещё полезная картинка на тему того, как Питон преобразует при расшифровке объекты из JSON:
Аналоги PHP библиотек в Python
И на последок пару слов про полезные библиотеки и их аналоги:
Библиотека для парсинга в PHP: phpQuery
Её аналог в Python: BeautifulSoup