Maison > titres > Une brève analyse des différences de syntaxe par comparaison des codes PHP et Python

Une brève analyse des différences de syntaxe par comparaison des codes PHP et Python

藏色散人
Libérer: 2019-08-06 17:57:36
avant
3599 Les gens l'ont consulté

Une brève analyse des différences de syntaxe par comparaison des codes PHP et Python

1.Contexte

L'intelligence artificielle a été très populaire ces dernières années et j'ai toujours voulu apprendre. à ce sujet. ; Parce que j'ai toujours été engagé dans le travail de développement PHP, je n'ai pas beaucoup de contacts avec Python. Je suis toujours confronté à l'embarras d'une fondation faible et de tremblements de terre à des moments critiques, par exemple. problème, il est facile de rester bloqué, alors préparez-vous à apprendre de zéro dès le début de Python

L'auteur pense qu'il devrait y avoir beaucoup de gens qui connaissent également le langage PHP ou Python, mais ne le sont pas trop ; familier avec l'autre langue. Ils ont l'idée d'apprendre une autre langue. J'espère que grâce à cet article, l'article pourra être utile à tout le monde.

2. Points de connaissances

J'ai récemment terminé une petite mission Les exigences du sujet : implémenté via du code Python, permettant aux utilisateurs de saisir un nom d'utilisateur et un mot de passe et d'afficher un message de bienvenue. après une authentification réussie, quittez le programme après trois entrées incorrectes.

Dans cet article, nous résumerons et analyserons les différences grammaticales entre PHP et Python à travers ce petit devoir, qui implique principalement les points de connaissances suivants :

1. Style de code global

2. Convention de dénomination des variables

3. Convention de dénomination des constantes

4. Méthode de commentaire

5. 🎜>

7. Utilisez l'instruction if

8. boucle while

3. Syntaxe Python

Les espaces doivent être strictement respectés en Python Indent, sinon une erreur sera signalée ; il n'est pas nécessaire d'utiliser ; après chaque ligne de code, () n'est pas requis pour les conditions de la structure, et {} n'est pas requis dans le corps d'exécution

3.1 Exemple de code

# -*- coding: utf-8 -*-
n = 0
while n < 3:
    #累计次数,用于循环条件
    n = n + 1
    #定义账号和密码
    uname = &#39;tangqingsong&#39;
    pwd = &#39;123123&#39;
    #接收参数
    username = input(&#39;请输入用户名:&#39;)
    password = input(&#39;请输入密码:&#39;)
    #判断用户输入的账号和密码是否正确,正确将提示成功,并且退出循环体
    if uname == username and pwd == password:
        print (&#39;恭喜你,登陆成功~&#39;)
        break
    #三次机会用完的时候,提示错误次数,并告知即将退出
    elif n == 3:
        print(&#39;已错误&#39;, n, &#39;次,即将退出...&#39;)
    #如果在三次以内,提示还剩下几次机会
    else:
        print(&#39;抱歉,账号或密码不正确,你还有&#39;, 3 - n, &#39;次机会&#39;)
Copier après la connexion

3.2 Syntaxe de base

Parlons de quelques spécifications du code Python sous les aspects de la syntaxe de base, des types de données, Contrôle IF et boucles while

3.2.1 Syntaxe de base

Variables : En Python, les variables sont composées de chiffres, de lettres et de traits de soulignement. Elles ne peuvent pas commencer par des chiffres et. ne peut pas être des mots-clés en python, tels que while et if. , elif, else, break, continue, etc. Il est également recommandé d'utiliser deux formats de dénomination standard : la dénomination en casse chameau et la dénomination soulignée constantes : il existe pas beaucoup de différence dans la façon dont les constantes et les variables sont définies en Python. Connaissance de Python La convention est d'utiliser toutes les définitions en majuscules

Commentaires : En Python, les commentaires peuvent être utilisés pour commenter une ligne de code via #, ou ils peuvent être utilisés pour commenter un certain morceau de code via ''', comme '''commenter le contenu'''

3.2.2 Type de données

En Python, vous pouvez obtenir le type de données d'une variable via type (nom de la variable). Les types de données couramment utilisés sont : Boolean, type entier, type virgule flottante, chaîne, etc. en type booléen, true/True/1 ; false/False/0, les nombres non 0 sont tous vrais ; peut être utilisé dans les chaînes via des guillemets simples et les guillemets doubles peuvent être définis de deux manières, par exemple

a = &#39;字符串&#39;
b = "字符串"
Copier après la connexion

ou

a = &#39;&#39;&#39;可以换行
    这里有换行
  这里也有换行
的字符串
&#39;&#39;&#39;
#或者三个双引号
b = """可以换行
    这里有换行
  这里也有换行
的字符串"""
Copier après la connexion

pour définir une grande chaîne ; les chaînes peuvent être épissées en utilisant chaîne + chaîne, ou vous pouvez utiliser String * numéro, répétez la chaîne par, par exemple, 'abc' * 2, la chaîne obtenue par nom est abcabc

3.2.3 Type de données

Il n'y a rien de spécial sur l'addition, la soustraction, la multiplication et la division dans les types de données entiers et à virgule flottante. Nous utilisons également les quatre. symboles +, -, *, / et utilisez % pour obtenir le reste ; il existe plusieurs opérateurs spéciaux en Python, tels que Vous pouvez utiliser // pour effectuer une division entière, et le résultat n'aura pas de décimales, comme indiqué dans ce qui suit code :

a = 10 // 3 
# 得到的结果是 3
Copier après la connexion
Vous pouvez également utiliser ** pour obtenir la puissance, comme indiqué dans le code suivant

b = 2 ** 2 
# 得到的结果是 8
Copier après la connexion

3.2.4 Entrée et sortie

Entrée et sortie : en Python, vous pouvez utiliser le mot-clé print pour imprimer des variables, et vous pouvez recevoir les paramètres transmis par l'utilisateur dans le terminal via l'entrée, tels que Tout le contenu reçu par

inp = input(&#39;用户输入的时候看到的提示 :&#39;)
Copier après la connexion
via l'entrée est de type chaîne. S'il doit être utilisé pour des calculs, les variables reçues doivent être converties en type ; par exemple,

a = int(变量名)
Copier après la connexion

peut convertir les variables en types entiers, ou Convertir en type à virgule flottante via <🎜. >

f = float(变量名)
Copier après la connexion

;

3.3 Contrôle IF

Lors de l'utilisation de l'instruction if en Python, la condition n'a pas besoin d'inclure () , le corps d'exécution n'a pas besoin à inclure avec {}, mais le corps d'exécution doit strictement respecter l'indentation comme indiqué dans le code suivant

# if a >3 and b==2:
    缩进 满足条件1之后要做的事情
  elif a>3 and b==3:
    缩进 不满足条件1但满足条件2之后要做的事情
  else:
    缩进 上面的条件都不满足要做的事情
Copier après la connexion
3.4 while boucle

utilisé en Python Le while La méthode est similaire à PHP, comme indiqué dans le pseudo-code ci-dessous

while a == b:
    循环执行的代码
Copier après la connexion
Vous pouvez utiliser le mot-clé break pour quitter la boucle, ou vous pouvez utiliser continue pour sauter une certaine étape du processus de boucle, comme indiqué dans le code suivant
i = 1
while i < 10:   
    i += 1
    # 非双数时跳过输出
    if i%2 > 0:     
        continue
    # 输出双数2、4、6、8
    print i         
    # 当条件为8时候退出循环
    if i == 8:
        break
Copier après la connexion

4. Syntaxe PHP

En PHP, il n'est pas nécessaire de respecter strictement l'indentation d'espace, mais correspondant à Python, vous devez généralement utiliser ; à la fin de chaque ligne de code, dans la structure Conditions doivent également utiliser (), et {} est également nécessaire dans le corps d'exécution

4.1 Exemple de code

<?php
$n = 0;
while ($n < 3) {
    #累计次数,用于循环条件
    $n = $n + 1;
    #定义账号和密码
    $uname = &#39;tangqingsong&#39;;
    $pwd = &#39;123123&#39;;
    #接收参数
    fwrite(STDOUT, &#39;请输入用户名:&#39;);
    $username = trim(fgets(STDIN));
    fwrite(STDOUT, &#39;请输入密码:&#39;);
    $password = trim(fgets(STDIN));
    #判断用户输入的账号和密码是否正确,正确将提示成功,并且退出循环体
    if ($uname == $username and $pwd == $password) {
        print_r(&#39;恭喜你,登陆成功~&#39;);
        break;
        #三次机会用完的时候,提示错误次数,并告知即将退出
    } elseif ($n == 3) {
        print_r("已错误{$n}次,即将退出...");
    } else {
        #如果在三次以内,提示还剩下几次机会
        $j = 3 - $n;
        print_r("抱歉,账号或密码不正确,你还有{$j}次机会");
    }
}
Copier après la connexion
 ;

4.2 Syntaxe de base

Parlons de quelques spécifications du code PHP sous les aspects de la syntaxe de base, des types de données, du contrôle IF et des boucles while

4.2.1 Syntaxe de base

变量: 在PHP中变量以数字 字母 下划线组成,必须以$符号开头,且第一个字符不能以数字开头,在PHP中因为变量都是以$开头,所以基本上没有关键字的说法,但是写代码的时候尽量不要覆盖系统变量即可,同样推荐使用驼峰命名和下划线命名两种规范命名格式

常量: 在PHP中常量同样约定俗成的使用全大写定义而已,在定义的方式有专门的定义格式,比如定义DAXIA的值为tangqingsong时候,代码如下所示

const DAXIA = &#39;tangqingsong&#39;;
Copier après la connexion

注释: 在PHP中,注释可以通过#来注释某行代码,也可以使用//定义行代码,也可以通过/****/注释某段代码,如下代码所示

#这是行注释
//这是行注释,一般习惯是使用此种方式
/**
 *  块注释,一般在自定义函数和类方法的时候使用
 */
Copier après la connexion

4.2.2 数据类型

在PHP中,可以通过var_dump(变量名)同时打印变量类型和值,经常使用到的数据类型有:布尔、整型、浮点型、字符串等;同样在布尔型中 真/True/1 假/False/0,非0的数字都是True;

在字符串中可以通过单引号和双引号两种方式定义,单引号中不能放变量,但是双引号是可以的,如下代码所示

$n = 123;
a = &#39;字符串&#39;;
b = "字符串{$n}";
Copier après la connexion

当大家定义块文本内容的时候,也可以使用定界符方式,如下代码所示

$a = <<<EF
这里是大文本内容,可以写任意文本,EF是自定义的,大家也可以把EF写成DAXIA,但是必须前后对应,后面的必须定格,后面一个“EF”不能用空格之类的字符;
EF;
Copier après la connexion

字符串可以使用符号 . 进行拼接,如下代码所示:

$name = &#39;daxia&#39; . &#39;tangqingsong&#39;;
Copier après la connexion

4.2.3 数据类型

在PHP中整型和浮点数据类型中加减乘除没有什么太特别,同样是使用+、-、*、/这四个符号,使用%可以的出余数;

4.2.4 输入输出

输入输出:在PHP中可以使用print_r关键字对变量进行打印输出,在接收标准输入方面稍微麻烦,需要先通过fwrite接收用户在终端中传递的参数,然后再通过fgets函数将变量值取出来,还需要通过trim将后面的空格过滤,例如

    fwrite(STDOUT, &#39;请输入用户名:&#39;);   
    $username = trim(fgets(STDIN));
Copier après la connexion

通过上面代码方式接收的所有内容都是字符串类型,但是PHP是弱类型语言,并不强大变量的数据类型,所以大部分情况无需进行类型转换,如果需要用到类型转换方法和Python大体类型,如下代码所示

a = intval(变量名)
Copier après la connexion

可以将变量转换成整型,也可以通过

f = floatval(变量名)
Copier après la connexion

转换成浮点型;

4.3 IF控制

if条件:在PHP中if语句的使用方法如下代码所示

<?php
if (a >3 and b==2){
    满足条件1之后要做的事情
} elseif (a>3 and b==3){
    不满足条件1但满足条件2之后要做的事情
} else {
    上面的条件都不满足要做的事情
}
Copier après la connexion

4.4 while循环

while循环:在PHP中while的条件必须使用()包括,执行体在也必须使用{}包括,执行体不要求严格的缩进,但是为了美观,一般都会缩进,如下为伪代码所示

<?php
while ($a == $b){
    //循环执行的代码
}
Copier après la connexion

可以使用关键词break退出循环,也可以使用continue跳过循环过程中的某一步,如下代码所示

<?php
$i = 1;
while ($i < 10) {
    $i += 1;
    //非双数时跳过输出
    if ($i % 2 > 0) {
        continue;
    }
    
    //输出双数2、4、6、8
    print_r($i);
    
    //当条件为8时候退出循环
    if ($i == 8) {
        break;
    }
}
Copier après la connexion
Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal