ホームページ 見出し PHP と Python コードの比較による構文の違いの簡単な分析

PHP と Python コードの比較による構文の違いの簡単な分析

Jul 12, 2019 pm 01:32 PM
php python

PHP と Python コードの比較による構文の違いの簡単な分析

1. 背景

人工知能は近年非常に人気があり、私はずっと学びたいと思っていました。 ; 私は PHP の開発業務に従事してきたため、Python にはあまり触れてきませんでしたが、肝心なときに地盤が弱くて地を揺るがすような恥ずかしさにいつも直面しています。問題、私は行き詰まりやすいので、Python を最初から学習する準備をしてください;

著者は、PHP または Python 言語には精通しているが、他の言語にはあまり詳しくない人が多いはずだと考えています彼らは別の言語を学びたいという考えを持っています。この記事を通して、この記事が少しでも皆さんのお役に立てれば幸いです。

2. 知識ポイント

最近、小さな課題を完了しました。トピックの要件: Python コードを通じて実装され、ユーザーがユーザー名とパスワードを入力し、ようこそメッセージを表示できるようにします。認証成功後のメッセージ。3 回間違った入力を行った後、プログラムを終了します。

この記事では、主に次の知識ポイントを含むこの小さな課題を通じて、PHP と Python の文法の違いを要約して分析します:

1. 全体的なコード スタイル

2. 変数の命名規則

3. 定数の命名規則

4. コメント メソッド

5. データ型

6. 入力と出力

7. if ステートメントの使用

8. While ループ

3. Python 構文

スペースは厳密に観察する必要がありますPython インデント、そうでない場合はエラーが報告されます。使用する必要はありません。コードの各行の後に、構造の条件で () を使用する必要はなく、実行時に {} を使用する必要もありません。 body;

3.1 コード例

# -*- 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;)
ログイン後にコピー

3.2 基本構文

Python コードのいくつかの仕様について側面から話しましょう基本構文、データ型、IF 制御、および while ループの説明

3.2.1 基本構文

変数: Python の変数は、数字、文字、アンダースコアで構成されます。これらは数字で始めることはできず、Python のキーワード (while や if. 、elif、else、break、 continue など) にすることもできません。また、キャメル ケースの名前付けと下線の名前付け

# という 2 つの標準的な名前付け形式を使用することもお勧めします。 ##定数: Python で定数と変数を定義する方法には大きな違いはありません Python の知識 慣例としてすべて大文字の定義を使用します

コメント: Python では、コメントを使用して、 # を介してコード行を削除するか、「」を介して特定のコード部分をコメントアウトするために使用できます (「コメント内容」など)。

3.2.2 データ型

Python では、 type (変数名) を通じて変数のデータ型を取得できます。一般的に使用されるデータ型は次のとおりです: Boolean 、整数型、浮動小数点型、文字列など、Boolean 型の場合、true/True/1 false/False/0、0 以外の数値はすべて True です。

は一重引用符を使用して文字列内で使用でき、二重引用符は 2 つの方法で定義されます。たとえば、

a = &#39;字符串&#39;
b = "字符串"
ログイン後にコピー

は、大きな文字列を定義するためにも使用できます。文字列は、文字列を使用して結合することも、文字を使用して結合することもできます。文字列 * 数値、たとえば、'abc' * 2、名前で取得した文字列によって文字列を繰り返しますis abcabc

3.2.3 データ型

整数および浮動小数点データ型の加算、減算、乗算、除算については特別なことは何もありません。同じ 4 つの記号です。 、-、*、/ が使用され、% は剰余を取得するために使用できます。Python にはいくつかの特別な演算子があります。たとえば、//整数の除算を実行すると、結果に小数が含まれなくなります。次のコード:

a = &#39;&#39;&#39;可以换行
    这里有换行
  这里也有换行
的字符串
&#39;&#39;&#39;
#或者三个双引号
b = """可以换行
    这里有换行
  这里也有换行
的字符串"""
ログイン後にコピー

次のコードに示すように、** を使用して電力を取得することもできます;

a = 10 // 3 
# 得到的结果是 3
ログイン後にコピー

3.2.4 入力と出力

入力と出力: Python では、print キーワードを使用して変数を出力でき、

b = 2 ** 2 
# 得到的结果是 8
ログイン後にコピー

すべてのコンテンツは、入力を通じてターミナルでユーザーによって渡されたパラメーターを受け取ることができます。入力メソッドは文字列型です。計算に使用する必要がある場合は、受け取った変数を型変換する必要があります。たとえば、

inp = input(&#39;用户输入的时候看到的提示 :&#39;)
ログイン後にコピー

は、変数を整数型に変換するか、

によって変換できます。

a = int(变量名)
ログイン後にコピー

浮動小数点型に変換;

3.3 IF 制御

Python で if 文を使用する場合、条件に () を含める必要はなく、実行します。本体を含めるのに {} を使用する必要はありませんが、実行本体は、次のコード #

f = float(变量名)
ログイン後にコピー

3.4 whileloop

に示すように、インデントを厳密に遵守する必要があります。 #Python で while メソッドを使用します。次の疑似コードに示すように、PHP と同様です。

# if a >3 and b==2:
    缩进 满足条件1之后要做的事情
  elif a>3 and b==3:
    缩进 不满足条件1但满足条件2之后要做的事情
  else:
    缩进 上面的条件都不满足要做的事情
ログイン後にコピー
キーワード Break を使用してループを終了するか、Continue を使用してループ プロセスの特定のステップをスキップできます。 , 次のコードに示すように、

while a == b:
    循环执行的代码
ログイン後にコピー

4. PHP 構文

PHP では、スペース インデントに厳密に従う必要はありませんが、Python に対応する場合、通常、コードの各行の最後で; を使用する必要があり、構造体の条件も () を使用する必要があり、実行本体でも {} が必要です;

4.1 コード例

i = 1
while i < 10:   
    i += 1
    # 非双数时跳过输出
    if i%2 > 0:     
        continue
    # 输出双数2、4、6、8
    print i         
    # 当条件为8时候退出循环
    if i == 8:
        break
ログイン後にコピー

4.2 基本構文

PHP コードの仕様について、基本構文、データ型、IF 制御、およびwhile ループ

4.2.1 基本構文

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

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

const DAXIA = &#39;tangqingsong&#39;;
ログイン後にコピー

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

#这是行注释
//这是行注释,一般习惯是使用此种方式
/**
 *  块注释,一般在自定义函数和类方法的时候使用
 */
ログイン後にコピー

4.2.2 数据类型

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

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

$n = 123;
a = &#39;字符串&#39;;
b = "字符串{$n}";
ログイン後にコピー

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

$a = <<<EF
这里是大文本内容,可以写任意文本,EF是自定义的,大家也可以把EF写成DAXIA,但是必须前后对应,后面的必须定格,后面一个“EF”不能用空格之类的字符;
EF;
ログイン後にコピー

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

$name = &#39;daxia&#39; . &#39;tangqingsong&#39;;
ログイン後にコピー

4.2.3 数据类型

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

4.2.4 输入输出

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

    fwrite(STDOUT, &#39;请输入用户名:&#39;);   
    $username = trim(fgets(STDIN));
ログイン後にコピー

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

a = intval(变量名)
ログイン後にコピー

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

f = floatval(变量名)
ログイン後にコピー

转换成浮点型;

4.3 IF控制

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

<?php
if (a >3 and b==2){
    满足条件1之后要做的事情
} elseif (a>3 and b==3){
    不满足条件1但满足条件2之后要做的事情
} else {
    上面的条件都不满足要做的事情
}
ログイン後にコピー

4.4 while循环

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

<?php
while ($a == $b){
    //循环执行的代码
}
ログイン後にコピー

可以使用关键词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;
    }
}
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

mysqlは支払う必要がありますか mysqlは支払う必要がありますか Apr 08, 2025 pm 05:36 PM

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

高負荷アプリケーションのMySQLパフォーマンスを最適化する方法は? 高負荷アプリケーションのMySQLパフォーマンスを最適化する方法は? Apr 08, 2025 pm 06:03 PM

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

MongoDBデータベースパスワードを表示するNAVICATの方法 MongoDBデータベースパスワードを表示するNAVICATの方法 Apr 08, 2025 pm 09:39 PM

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

hadidb:pythonの軽量で水平方向にスケーラブルなデータベース hadidb:pythonの軽量で水平方向にスケーラブルなデータベース Apr 08, 2025 pm 06:12 PM

hadidb:軽量で高レベルのスケーラブルなPythonデータベースHadIDB(HadIDB)は、Pythonで記述された軽量データベースで、スケーラビリティが高くなっています。 PIPインストールを使用してHADIDBをインストールする:PIPINSTALLHADIDBユーザー管理CREATEユーザー:CREATEUSER()メソッド新しいユーザーを作成します。 Authentication()メソッドは、ユーザーのIDを認証します。 fromhadidb.operationimportuseruser_obj = user( "admin"、 "admin")user_obj。

MySQLワークベンチはMariadBに接続できますか MySQLワークベンチはMariadBに接続できますか Apr 08, 2025 pm 02:33 PM

MySQLワークベンチは、構成が正しい場合、MariadBに接続できます。最初にコネクタタイプとして「mariadb」を選択します。接続構成では、ホスト、ポート、ユーザー、パスワード、およびデータベースを正しく設定します。接続をテストするときは、ユーザー名とパスワードが正しいかどうか、ポート番号が正しいかどうか、ファイアウォールが接続を許可するかどうか、データベースが存在するかどうか、MariadBサービスが開始されていることを確認してください。高度な使用法では、接続プーリングテクノロジーを使用してパフォーマンスを最適化します。一般的なエラーには、不十分な権限、ネットワーク接続の問題などが含まれます。エラーをデバッグするときは、エラー情報を慎重に分析し、デバッグツールを使用します。ネットワーク構成を最適化すると、パフォーマンスが向上する可能性があります

MySQLはSQLサーバーに接続できますか MySQLはSQLサーバーに接続できますか Apr 08, 2025 pm 05:54 PM

いいえ、MySQLはSQL Serverに直接接続できません。ただし、次のメソッドを使用してデータ相互作用を実装できます。ミドルウェア:MySQLから中間形式にデータをエクスポートしてから、ミドルウェアを介してSQL Serverにインポートします。データベースリンカーの使用:ビジネスツールは、よりフレンドリーなインターフェイスと高度な機能を提供しますが、本質的にはミドルウェアを通じて実装されています。

MySQLデータベースは画像を保存できますか? MySQLデータベースは画像を保存できますか? Apr 08, 2025 pm 05:27 PM

MySQLデータベースに画像を保存することは実行可能ですが、ベストプラクティスではありません。 MySQLは、画像を保存するときにBLOBタイプを使用しますが、データベースのボリュームのうねり、クエリ速度、複雑なバックアップを引き起こす可能性があります。より良い解決策は、ファイルシステムに画像を保存し、データベースに画像のみを保存してクエリのパフォーマンスとデータベースのボリュームを最適化することです。

Navicatパスワードストレージは何ですか? Navicatパスワードストレージは何ですか? Apr 08, 2025 pm 09:15 PM

NAVICATは、AES暗号化アルゴリズムを使用してパスワードを暗号化し、動的キーメカニズムを使用してパスワードを保護しますが、それは完全にはありません。セキュリティを強化するには、複雑なパスワードをセットアップし、定期的に変更し、システムとソフトウェアを更新し、マルウェアから保護することをお勧めします。