ホームページ  >  記事  >  バックエンド開発  >  Python の起源と使い方の紹介

Python の起源と使い方の紹介

零下一度
零下一度オリジナル
2017-07-18 15:16:402195ブラウズ

Python 言語は、その簡潔で明確なスタイルと、広く適用可能なクラス ライブラリや Python オープン ソース フレームワークが多数使用できるため、IT 業界の多くの人々に愛されています。 Python の起源と開発の歴史について簡単に見てみましょう。

Python 言語の起源をたどると、Python 言語は 1990 年代初頭にアムステルダムの Guido van Rossum によって開発された新しいスクリプト インタプリタでした。 Guido は、Python がいつか最も人気のあるプログラミング言語の 1 つになるだろうと考えたことがあるでしょうか?

Python を記述するのにグルー言語を使用することを好む人もいます。これは、他の多くの言語で記述されたモジュールを簡単に組み合わせることができるためです。そのプロセスについては、ここでは詳しく説明しません。興味があれば、どこかで調べてください。知っておくべきことは、国内外の多くの大学でも Python 言語を必修科目として受講しており、Python 言語を使用して働く国内ユニットの数も Python を知っているプログラマーの需要が高まっているということです。

Python 言語を学習した友人に、Python 言語の魅力的な特徴を聞いてください。ほとんどの人は、それが使いやすく、読みやすく、保守しやすい言語であると考えるでしょう。そのため、多くのユーザーがそれを使用し、学習することを好みます。実際には、幅広い用途を持つ言語です。

Python 言語の最も基本的な構文は、インデント、制御ステートメント、式、関数、オブジェクト メソッド、型、数学的演算です。 Python の基本構文を学習して初めて、グラフィック処理、数学的処理、テキスト処理、データベース、WEB プログラミング、クローラーなどの実践的なアプリケーションなど、正式なアプリケーションの学習を開始できます。

Python 3.3 は最新バージョンですが、多くの人は依然として Python 2 から学習を始めたいと考えています。 Python 3 のサードパーティのサポートはまだ完全ではないため、学習プロセス中に説明のつかない問題に遭遇する可能性があると以前から言われていました。すでに非常に完成度の高い Python 2 から学習を開始することをお勧めします。その後の Python 3 への移行は簡単になります。

2017年6月のTIOBEプログラミング言語ランキング:

上の図からわかるように、Python言語の使用率は上昇傾向にあり、上位3言語の使用率は上昇傾向にあります。下降傾向。

Python の長所と短所

利点:

  1. Python の位置付けは「エレガント」、「明確」、「シンプル」であるため、Python プログラムは常にシンプルで理解しやすいように見えます。始めるのは簡単ですが、将来的にはさらに深く進んでいくと、非常に複雑なプログラムを作成できるようになります。

  2. Python には非常に強力なサードパーティ ライブラリがあり、コンピュータを介して機能を実現したい場合は、Python 公式ライブラリを直接ダウンロードして呼び出すと、対応するモジュールが提供されます。基本ライブラリに基づいて開発がトップで実行されるため、開発サイクルが大幅に短縮され、車輪の再発明が回避されます。

  3. 高級言語————Python 言語でプログラムを作成する場合、プログラムで使用されるメモリの管理方法などの低レベルの詳細について考える必要はありません

  4. 移植性— ———そのため オープンソースの性質により、Python は多くのプラットフォームに移植されています (さまざまなプラットフォームで動作できるようにするための変更が加えられています)。システムに依存する機能の使用を慎重に避ければ、すべての Python プログラムは、市場にあるほぼすべてのシステム プラットフォーム上で変更なしで実行できます

  5. スケーラビリティ————コードの実行を高速化するため、または特定のアルゴリズムを非公開にしておくと、プログラムの一部を C または C++ で作成し、Python プログラムで使用できます。

  6. 埋め込み可能性—Python を C/C++ プログラムに埋め込んで、プログラム ユーザーにスクリプト機能を提供できます。

欠点:

  1. Python の実行速度は C 言語よりもはるかに遅く、JAVA よりも遅いため、これが多くのいわゆる専門家が Python の使用を軽視する主な理由でもあります。しかし、実際には、ここで言及されている実行速度の遅さは、ほとんどの場合、ユーザーが直接認識することはできません。たとえば、プログラムの実行には C では 0.01 秒かかりますが、C では 0.1 秒かかります。このように、Python C 言語は Python の 10 倍高速です。これは非常に大げさですが、通常の人が認識できる時間の最小単位は約 0.15 ~ 0.4 であるため、肉眼で直接認識することはできません。ははは。実際、ほとんどの場合、Python はプログラムの速度要件を完全に満たすことができますが、非常に高速な要件が必要な検索エンジンを作成する場合は、もちろん C を使用して実装することをお勧めします。

  2. PYTHON はインタープリター型言語であり、ソース コードはテキスト形式で保存されるため、コードを暗号化することはできません。ただし、プロジェクトでソース コードを暗号化する必要がある場合は、これが不利になるとは思いません。そもそも Python で実装すべきではありません。

  3. スレッドは複数の CPU の問題を利用できません。これは Python の最も批判されている欠点の 1 つです。GIL は、スレッドを同期するためにコンピューター プログラミング言語インタープリターによって使用されるツールです。実行中のスレッドであり、Python のスレッドはオペレーティング システムのネイティブ スレッドです。 Linux では pthread、Windows では Win スレッドです。スレッドの実行はオペレーティング システムによって完全にスケジュールされます。 Python インタープリター プロセスには、メイン スレッドと複数のユーザー プログラム実行スレッドがあります。マルチコア CPU プラットフォームであっても、GIL の存在によりマルチスレッドの並列実行は禁止されています。この問題の妥協的な解決策については、後のスレッドとプロセスの章で詳しく説明します。


2. Pythonのインストール

windows

1、下载安装包

2、安装
安装在C:\Python36
3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用;分割】
linux:

1.解压
tar xf Python-3.6.2.tgz
2.编译安装
cd Python-3.6.2
./configure --prefix=/usr/local/Python3.6
make
make install
3.配置环境变量
vim /etc/profile
PATH=/usr/local/Python3.6/bin:$PATH
source /etc/profile
4.测试
python3.6

3. hello, world)

pycharm を開き、新しい Python プロジェクトを作成し、新しい Python ファイルを作成します。

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

print("hello,world")

4. 変数

変数は数学に由来し、計算結果を保存したり値を表現したりできるコンピューター言語の抽象的な概念です。変数には変数名でアクセスできます。命令型言語では、変数は通常変更可能ですが、純粋な関数型言語 (Haskell など) では、変数は不変である場合があります。一部の言語では、変数は、変更可能な状態を表すことができる記憶域を持つ抽象化として明示的に定義できますが (Java や Visual Basic など)、他の言語では、そのような抽象化を参照するために他の概念 (C のオブジェクトなど) を使用する場合があります。ですが、「変数」の正確な表記は厳密には定義されていません。

変数の宣言

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

name = "yanglei"
print(name)
上記のコードは変数を宣言します。変数名は: name、変数名の値は: "yanglei"です

変数定義のルール:

    • 変数名 文字、数字、またはアンダースコアの任意の組み合わせのみ使用できます

    • 変数名の最初の文字は数字にすることはできません

    • 次のキーワードは変数名として宣言できません ['and'、'as' 、'assert'、'break'、'class'、'Continue'、'def'、'del'、'elif'、'else'、'excel'、'exec'、'finally'、'for'、' from'、'global'、'if'、'import'、'in'、'is'、'lambda'、'not'、'or'、'pass'、'print'、'raise'、'return' 、 'try'、 'while'、 'with'、 '、hieds']

5。ユーザー入力

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

input_name = input("Please enter your name: ")
print("hi,%s" % input_name)

6.データ型)
32 ビット マシンでは、整数の数は 32 ビットで、値の範囲は -2**31 ~ 2**31-1、つまり 64 ビットでは -2147483648 ~ 2147483647 です。システムでは、整数の数は64ビットで、値の範囲は-2**63~2**63-1、つまり-9223372036854775808~9223372036854775807です

long (長整数)

C言語と異なり、Pythonのlong integer はビット幅を指定しません。つまり、Python には長整数値のサイズに制限はありませんが、実際にはマシンのメモリが限られているため、使用する長整数値を無限にすることはできません。

Python 2.2 以降、整数オーバーフローが発生した場合、Python は整数データを長整数に自動的に変換するため、長整数データの後に文字 L を追加しなくても深刻な結果が生じることはないことに注意してください。

注: Python3ではlong型はなくなり、すべてint
float(float型)です
浮動小数点数は、実数、つまり小数点以下の数値を扱うために使用されます。 C 言語の double 型と同様に、8 バイト (64 ビット) を占め、そのうち 52 ビットが基数、11 ビットが指数、残りのビットが記号を表します。
2, ブール値
True または false 1 または 03, String
"hello world"
String splicing:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串格式化输出
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

name = "yanglei"
print("hi,%s" % name)

#输出hi,yanglei

注:字符串是 %s;整数 %d;浮点数%f

字符串常用功能:
  • 移除空白

  • 分割

  • 长度

  • 索引

  • 切片

4、列表
创建列表:
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

name = ["yanglei","jack","marry","andy"]

基本操作:

  • 索引

  • 切片

  • 追加

  • 删除

  • 长度

  • 切片

  • 循环

  • 包含

5、字典(无序)

创建字典:
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

user_info = {"name":"yanglei","age":23,"job":"IT"}

常用操作:

  • 索引

  • 新增

  • 删除

  • 键、值、键值对

  • 循环

  • 长度

 

七、数据运算  

算数运算:

比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:

运算符优先级:

  

八、if判断

场景一、用户登陆验证

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

input_user = input("Please enter your user name: ")
input_password = input("Please enter your password: ")
if input_user == "yanglei" and input_password == "123456":
    print("\033[32;1m%s login successfully\33[0m" % input_user)
else:
    print("\033[31;1mThe user name or password error,please try again\033[0m")

场景二、猜年龄游戏

在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

guess_age = 50
input_age = int(input("Please enter your guess age: "))
if input_age > guess_age:
    print("\033[31;1mCan you guess what big\33[0m")
elif input_age < guess_age:
    print("\033[31;1mCan you guess what small\33[0m")
else:
    print("\033[32;1mYou guessed it\33[0m")

外层变量,可以被内层代码使用

内层变量,不应被外层代码使用
 

九、break和continue的区别

continue:

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

count = 1
while count <= 10:
    if count == 5:
        count += 1
        continue
    print(count)
    count += 1

break:

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

count = 1
while count <= 10:
    if count == 5:
        count += 1
        break
    print(count)
    count += 1

 由此可以看出continue是跳出当前循环,而break是跳出本层循环。

 

十、while循环

循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出。while语句的一般表达式为:
while(表达式)
{
循环体
}

场景一、用户登陆验证升级

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

count = 0
while count < 3:
    input_user = input("Please enter your user name: ")
    input_password = input("Please enter your password: ")
    if input_user == "yanglei" and input_password == "123456":
        print("\033[32;1m%s login successfully\33[0m" % input_user)
        break
    elif count == 2:
        print("\033[31;1mThe user name or password mistake,three chances to use up,the program exits\33[0m")
        break
    else:
        count += 1
        print("\033[31;1mThe user name or password error,please try again\033[0m")

场景二、猜年龄游戏升级

 

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

guess_age = 50
count = 0
while count <= 3:
    if count == 3:
        input_choose = input("Do you want to continue to play?(Y or y|N or n)")
        if input_choose == "Y" or input_choose == "y":
            count = 0
            continue
        elif input_choose == "N" or input_choose == "n":
            break
        else:
            print("\033[31;1mAre you input errors!\33[0m")
            continue
    input_age = int(input("Please enter your guess age: "))
    if input_age > guess_age:
        print("\033[31;1mCan you guess what big\33[0m")
        count += 1
    elif input_age < guess_age:
        print("\033[31;1mCan you guess what small\33[0m")
        count += 1
    else:
        print("\033[32;1mYou guessed it\33[0m")
        break

 

以上がPython の起源と使い方の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。