Premiers pas avec Python pour PHPer-Super Basics

Pour ceux qui veulent essayer d'autres langages parce que PHP peut être écrit dans une certaine mesure comme Python, j'ai résumé les différences avec PHP et les parties à noter. Activité missionnaire Python.

Je voudrais continuer sur la base de Python 2.7.

Hello World

Quoi qu'il en soit, c'est ça.

# helloworld.py
print("Hello World!")

Exécutez ce fichier avec la commande suivante.

% python helloworld.py
% Hello World!

Contrairement à PHP, il n'y a pas de fonction pratique que vous pouvez voir si vous y accédez via Apache, donc c'est gênant, mais exécutons-la à partir de la ligne de commande. CodeRunner convient aux utilisateurs Mac.

Méthode de description de base

Implémentons la même chose en PHP et Python.

<?php

/**
 *Lorsque vous spécifiez l'heure, le message d'accueil correspondant s'affiche!
 */
function greet($hour) {
    if ($hour > 4 && $hour < 12) {
        echo "Good Morning!" . PHP_EOL;
    } elseif ($hour > 12 && $hour < 18) {
        echo "Good Afternoon!" . PHP_EOL;
    } else {
        echo "Good Evening!" . PHP_EOL;
    }
}

greet(8);  // Good Morning!
greet(15);  // GOod Afternoon!
greet(21);  // GOod Evening!
# coding=utf8

def greet(hour):
    """Lorsque vous spécifiez l'heure, le message d'accueil correspondant s'affiche!"""
    if 4 < hour < 12:
        print("Good Morning!")
    elif 12 < hour < 18:
        print("Good Afternoon!")
    else:
        print("Good Evening!")

greet(8)  # Good Morning!
greet(15)  # GOod Afternoon!
greet(21)  # GOod Evening!

Je vais expliquer un par un.

Qu'est-ce que # coding = utf8?

Soudain un code mystérieux. Qu'y a-t-il sur la première ligne de code Python? ..

# coding=utf8

En fait, sans cela, le japonais (caractères multi-octets) ne peut pas être écrit dans le code source Python. .. Par défaut, Python détermine le code de caractère du code source comme ʻASCII`, donc vous ne pouvez pas le lire à moins que vous ne lui disiez ** "Ceci est écrit en UTF-8!" **. C'est un problème, mais pensez que c'est une magie.

# -*- coding: utf-8 -*-
# vim:fileencoding=utf-8
# coding=utf8

print("En fait, vous pouvez écrire de différentes manières.")

Au fait, les lignes commençant par «#» sont traitées comme des commentaires en Python. C'est la même chose que «//» en PHP.

Je n'ai pas besoin de $ dans le nom de la variable

Chaque fois que vous définissez une variable en PHP, vous devez préfixer le nom de la variable avec «$», mais en Python ce n'est pas le cas. Ce n'est pas grave si vous écrivez le nom de la variable avec obéissance.

variable = 10

À la fin du processus; (point-virgule) Je n'en ai pas besoin

C'est vrai. PHP avait besoin d'un ; (point-virgule) à la fin du processus, mais pas Python.

print("Il n'y a pas de point-virgule dans la crosse! !! !!")

La façon d'écrire la définition de la fonction est différente

J'ai aussi vu ça. PHP utilise function, mais Python utilise def.

Une autre différence est que vous n'avez pas besoin de {} pour Python. Comme vous le savez parce qu'il est célèbre, Python n'utilise pas {} pour représenter les portées, il utilise ʻindent`.

def func(argument):  #Dernier: (côlon)N'oubliez pas!
    print(argument)

Je n'ai pas besoin de parenthèses dans l'instruction if

Comme la fonction, l'instruction if exprime la portée avec ʻindent au lieu de {} . De plus, vous n'avez pas besoin de ()` où vous définissez l'expression conditionnelle.

Vous devez également ajouter «: (deux-points)» à la fin de l'instruction if.

if 4 < hour < 12:  #C'est ennuyeux d'écrire un deux-points! !! !!
    print("Good Morning!")

Comment écrire une expression conditionnelle

À proprement parler, il ne s'agit pas de l'instruction if, mais il existe des différences dans la méthode de description de l'expression conditionnelle. Dans le cas de PHP, l'opérateur && est utilisé pour connecter des expressions conditionnelles, mais dans le cas de Python, l'opérateur et est utilisé.

hour > 4 and hour < 12

PHP||opérateurComme vous pouvez l'imaginer, voici comment écrire en Python.

hour > 4 or hour < 12

** "Oh, l'opérateur ʻand` n'apparaît pas dans l'exemple ci-dessus." **

Pour ceux qui pensent, en Python, les expressions conditionnelles d'inégalité peuvent être écrites en les connectant comme suit - c'est pratique.

4 < hour < 12

Exemples de boucles et de tableaux

Tout d'abord, écrivons la même chose en PHP et Python.

<?php

$jobs = array(
    "John" => "Guitar",
    "Paul" => "Guitar",
    "George" => "Bass",
    "Ringo" => "Drums",
);
foreach ($jobs as $name => $job) {
    printf("%s: %s" . PHP_EOL, $name, $job);
}

$names = array("John", "Paul", "George", "Ringo");
for ($i = 0; $i < count($names) ; $i++) { 
    printf("%d: %s" . PHP_EOL, $i, $names[$i]);
}
# coding=utf8

jobs = {
    "John": "Guitar",
    "Paul": "Guitar",
    "George": "Bass",
    "Ringo": "Drums",
}
for name, job in jobs.items():
    print("{}: {}".format(name, job))

names = ["John", "Paul", "George", "Ringo"]
for index, name in enumerate(names)):
    print("{}: {}".format(index, names[index])

Tableaux et listes, tableaux associatifs et dictionnaires

En PHP, le tableau avec des indices de nombres et le tableau associatif avec des indices de chaînes sont définis par ʻarray, mais en Python, list / [] ʻet` dict / {} ʻ sont utilisés respectivement.

#liste
names = ["John", "Paul", "George", "Ringo"]
names = list("John", "Paul", "George", "Ringo")

#dictionnaire
jobs = {
    "John": "Guitar",
    "Paul": "Guitar",
    "George": "Bass",
    "Ringo": "Drums",
}
jobs = dict(  #Je me demande si je peux trop écrire de cette façon. ..
    John="Guitar",
    Paul="Guitar",
    George="Bass",
    Ringo="Drums",
)

Notez dans le dictionnaire que ** l'ordre des éléments n'est pas conservé! !! !! ** ** Dans l'exemple, les éléments sont définis dans l'ordre de John``` Paul`` George`` Ringo, mais si vous regardez le résultat de l'exécution, vous pouvez voir que l'ordre de sortie a changé.

Comment rédiger une instruction for

Comme l'instruction «if», l'instruction «for» n'a pas de «()», et au lieu de «{}», la portée doit être représentée par un «retrait» et un «: (deux-points)» doit être ajouté à la fin.

L'instruction for de Python est similaire à l'instruction foreach de PHP. Il n'y a pas de «instruction for» dite ordinaire comme «for ($ i = 0; $ i <10; $ i ++)». Si vous dites "Je veux vraiment l'écrire", cela ressemblera à ce qui suit.

for index in range(0, 10):
    print(index)

Précautions lors de la rotation de la liste avec une instruction for

Si vous tournez la liste avec l'instruction for, l'élément sera retourné et le numéro d'élément (indice)` ne pourra pas être obtenu.

names = ["John", "Paul", "George", "Ringo"]
for name in names:
    print(name)

Si vous voulez prendre le ʻelement number (indice) ensemble, utilisez la ʻenumerate function.

names = ["John", "Paul", "George", "Ringo"]
for index, name in enumerate(names)):
    print("{}: {}".format(index, names[index])

Précautions lors de la rotation du dictionnaire avec une instruction for

Si vous tournez le dictionnaire avec l'instruction for, vous obtiendrez laclé (indice)au lieu de l'élément`. ..

jobs = {
    "John": "Guitar",
    "Paul": "Guitar",
    "George": "Bass",
    "Ringo": "Drums",
}
for name in jobs:
    print(name)

Utilisez la méthode ʻitems pour obtenir à la fois l'élément et la clé (indice).

jobs = {
    "John": "Guitar",
    "Paul": "Guitar",
    "George": "Bass",
    "Ringo": "Drums",
}
for name, job in jobs.items():
    print("{}: {}".format(name, job))

C'est un peu déroutant. ..

Différences mineures

C'est un petit endroit, mais c'est une histoire très importante.

Aucun, pas nul

«Null» en PHP s'écrit «None» en Python. Veuillez noter que l'acronyme est «capital».

Vrai au lieu de vrai, Faux au lieu de faux

Les mots sont les mêmes, mais l'acronyme est «capital». Soyons prudents.

Ne pas!

N'y a-t-il pas une annulation ! Qui est souvent utilisée dans les instructions if? Veuillez noter que ce ne sera "pas" en Python.

if not result:
    print('Failed.')

Cependant, ! = Reste le même.

if result != True:
    print('Failed.')

Résumé

Il y a beaucoup de choses que je ne peux pas expliquer, mais pour le moment, c'est comme ça. .. Ensuite, parlons de function.

Recommended Posts

Premiers pas avec Python pour PHPer-Super Basics
Premiers pas avec Python pour les classes PHPer
Premiers pas avec Python Bases de Python
Premiers pas avec Python pour les fonctions PHPer
1.1 Premiers pas avec Python
Premiers pas avec Python
Premiers pas avec Python
Introduction aux fonctions Python
Premiers pas avec Python Django (4)
Premiers pas avec Python Django (3)
Introduction à Python Django (6)
Premiers pas avec Python Django (5)
Paramètres pour démarrer avec MongoDB avec python
Premiers pas avec Google App Engine pour Python et PHP
Premiers pas avec Python responder v2
Premiers pas avec les applications Web Python
Premiers pas avec les algorithmes génétiques Python
Premiers pas avec Python 3.8 sous Windows
Premiers pas avec python3 # 1 Apprenez les connaissances de base
Premiers pas avec Python Web Scraping Practice
Premiers pas avec Python Web Scraping Practice
Premiers pas avec Dynamo de Python boto
Premiers pas avec Lisp pour Pythonista: Supplément
Django 1.11 a démarré avec Python3.6
Bases de Python ② pour déclaration
Premiers pas avec apache2
Premiers pas avec Django 1
Introduction à l'optimisation
Premiers pas avec Numpy
Premiers pas avec Spark
Premiers pas avec Pydantic
Premiers pas avec Jython
Premiers pas avec Django 2
Démarrer avec Python avec 100 coups sur le traitement du langage
Principes de base de MongoDB: Premiers pas avec CRUD avec JAVA
Premiers pas avec AWS IoT facilement en Python
Matériel à lire lors de la mise en route de Python
Premiers pas avec python3 # 2 En savoir plus sur les types et les variables
Traduire Premiers pas avec TensorFlow
Introduction à Tkinter 2: Button
Premiers pas avec Go Assembly
Commencez avec Python! ~ ② Grammaire ~
Premiers pas avec Django avec PyCharm
Premiers pas avec python3 # 3 Essayez des calculs avancés à l'aide de l'instruction d'importation
Initiation aux mathématiques Démarrage avec la programmation Python Challenge Notes personnelles - Problème 1-1
Commencez avec Python! ~ ① Construction de l'environnement ~
Bases de SNS Python faites avec Flask
Lien pour commencer avec python
Introduction à Git (1) Stockage d'historique
Premiers pas avec Sphinx. Générer docstring avec Sphinx
Premiers pas avec Sparse Matrix avec scipy.sparse
Premiers pas avec Cisco Spark REST-API
Commençant par USD sur Windows
Démarrez avec Python avec Blender
Premiers pas avec CPU Steal Time
Premiers pas avec Heroku-Viewing Hello World en Python Django avec Raspberry PI 3
Les bases de Python