ホームページ  >  記事  >  バックエンド開発  >  Python の主な応用分野は何ですか? Python の概要

Python の主な応用分野は何ですか? Python の概要

PHP中文网
PHP中文网オリジナル
2017-06-20 16:51:2314574ブラウズ

pthonの紹介。 1989 年のクリスマス期間中、Guido van Rossum はアムステルダムで時間を潰し、ABC 言語の継承として新しいスクリプト インタプリタを開発することを決意しました

Python は、データ分析、コンポーネント統合など、多くの分野で使用できます。 、ネットワークサービス、画像処理、数値計算および科学計算および他の多くの分野。現在、Youtube、Dropbox、BT、Quora (中国 Zhihu)、Douban、Zhihu、Google、Yahoo!、Facebook、NASA、Baidu、Tencent など、業界の大中規模インターネット企業のほぼすべてが Python を使用しています。 、Autohome、Meituan など。

現在のPythonの主な応用分野:

クラウドコンピューティング

: クラウドコンピューティングで最も人気のある言語、代表的なアプリケーションOpenStack

  • WEB開発: 多くの優れたWEBフレームワーク, Youtube、Dropbox、Douban など、多くの大規模な Web サイトは Python で開発されています。 。 。 , 代表的なWEBフレームワークにはDjango

  • 科学コンピューティング、人工知能:代表的なライブラリNumPy、SciPy、Matplotlib、Enthoughtライブラリ、pandas

  • システム運用保守:運用保守担当者にとって必須の言語

  • 金融: 定量取引、財務分析、金融工学の分野では、Python が使用されているだけでなく、最も多く使用されており、その重要性は年々高まっています。理由: Python は動的言語として、明確でシンプルな言語構造、豊富なライブラリ、成熟して安定しており、優れた科学計算と統計分析を備えており、特にその生産効率は C、C++、Java よりもはるかに高いです。戦略のバックテストで得意graphicgui

    :pyqt、wxpython、tkinter
  • pythonアプリケーションいくつかの企業:
google:Google App Engine、code.google.com、 Google Earth、Google クローラー、Google 広告などのプロジェクトは、開発に Python を多用しています

CIA: CIA の Web サイトは Python で開発されています

NASA: アメリカ航空宇宙局 (NASA) はデータに Python を広範囲に使用しています分析と計算
  • YouTube: インターネット上で最大のビデオ Web サイトである世界 YouTube は Python を使用して開発されました
  • Dropbox: 米国最大のオンライン クラウド ストレージ Web サイトはすべて Python で実装されています。毎日 10 億ファイルのアップロードとダウンロード
  • Instagram: 米国最大のオンライン クラウド ストレージ Web サイト 写真共有ソーシャル ネットワーキング サイト、毎日 3,000 万枚以上の写真が共有され、すべて Python で開発されています
  • Facebook : 多数の基本ライブラリが Python で実装されています
  • Redhat: 世界で最も人気のある Linux ディストリビューションの 1 つ yum パッケージ管理ツールは Python で開発されています
  • Douban: ほぼすべての会社のビジネスは、 Python
  • Zhihu: Pythonで開発された中国最大のQ&Aコミュニティ(海外版Quora)
  • Dr. Chunyu: 国内の有名なオンライン医療ウェブサイトはPythonを使用して開発されています
  • 上記以外にも、Sohu、Kingsoft、Tencent、Shanda、NetEase、Baidu、Alibaba、Taobao、Tudou、Sina、Guoke などの企業もあります。Python を使用してさまざまなタスクを実行します。
  • Pythonってどんな言語?
コンパイルと解釈の違いは何ですか?

コンパイラー は、ソース プログラムのすべてのステートメントを機械語にコンパイルし、バイナリ ファイルに保存します。これにより、コンピューターは実行時にプログラムを機械語で直接実行でき、非常に高速になります。インタプリタはプログラムを一つ一つ機械語に解釈してコンピューターが実行するだけなので、実行速度はコンパイルされたプログラム

ほど速くありません。これは、コンピューターが私たちが書いたステートメントを直接理解して実行することができないためです。 、機械語(バイナリ形式)のみを理解できます

コンパイル型と解釈型

コンパイル型

利点: コンパイラーには通常、コードを最適化するためのプリコンパイルプロセスがあります。コンパイルは 1 回だけ行われ、実行時にコンパイルする必要がないため、コンパイルされた言語プログラムは実行効率が高くなります。ロケールに関係なく実行できます。

欠点: コンパイル後に変更する必要がある場合は、モジュール全体を再コンパイルする必要があります。コンパイル時に、対応するオペレーティング システムに応じてマシン コードが生成されます。異なるオペレーティング システム間で移植する場合は、実行中のオペレーティング システム環境に応じて異なる実行可能ファイルをコンパイルする必要があります。

インタープリター付き

利点: プラットフォームとの互換性が高く、インタープリター (仮想マシン) がインストールされていれば、どの環境でも実行できます。柔軟性があり、コードを変更するときに直接変更でき、メンテナンスのためのダウンタイムなしで迅速に導入できます。

欠点: 実行するたびに説明する必要があり、パフォーマンスはコンパイル言語ほど良くありません。

Python の長所と短所

利点:

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

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

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

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

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

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

欠点:

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

Pythonのインストール

windows:

インストールパッケージをダウンロードします:

Linux:

インストールは必要ありません、システムには Python 環境が付属しています。 (バージョン 2.X が付属している場合は、3 にアップグレードしてください。

print(

"My name is",name)

<span style="font-size: 16px">变量<br>上述代码声明了一个变量,其变量名为name,而变量name的值为:"Aaron Li"</span>

変数の定義規則:

<span style="font-size: 16px">1.变量名只能是 字母、数字或下划线的任意组合<br>2.变量名的第一个字符不能是数字<br>3.一些关键字不能声明为变量名:<br>  ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']<br><br></span>

<br><br>文字エンコーディング Python インタープリター .py ファイルにコードをロードすると、コンテンツはエンコードされます (デフォルトはアスキー)

ASCII (American Standard Code for Information Interchange、American Standard Code for Information) Interchange) は、ラテン文字に基づいたコンピュータ コード システムで、主に現代英語やその他の西ヨーロッパ言語を表示するために使用されます。最大 8 ビット (1 バイト)、つまり 2**8 = 256- でのみ表現できます。 1. したがって、ASCII コードは最大 255 個の記号しか表現できません

中国語について

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

 

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

 

GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

 

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

 

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

 

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,<br>注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) 

 

注释

单行注释: #被注释内容

多行注释: """被注释内容""" 或者 '''被注释内容'''

 

用户交互

 

<br>
# Author:Aaron LI<br><br>username = input("username:") <br>password = input("password:")<br>print (username,password)

 字符串拼接

#namne = input("name")<br>#age = input("age")<br>#job = input("job")<br>#salary = input("salary")<br>#info = """<br>#---------- into of %s ---------<br>#name:%s<br>#age:%s<br>#job:%s<br>#salary%s<br>#""" % (namne,namne,age,job,salary) %占位符跟上边的变量拼接起来<br>#print(info)<br># % DAY 1(10) 10:50处<br><br><br>#name = input("name")<br>#age = int(input("age"))<br>#job = input("job")<br>#salary = input("salary")<br><br>#info = """<br>#    ---------- into of %s-----------------<br>#    name:%s<br>#    age:%d<br>#    job:%s<br>#    salary:%s<br>#""" % (name,name,age,job,salary)<br>#print (info)<br><br>#推崇用此方法<br>name = input("name")<br>age = input("age")<br>job = input("job")<br>salary = input("salary")<br>info = """<br>    ----------info of {_name} --------------<br>    name:{_name}<br>    age:{_age}<br>   job:{_job}<br>    salary:{_slary}<br>""" . format(_name=name,<br>_age=age,<br>_job=job,<br>_slary=salary)<br>print(info)<br>

 

将密码设为密文输出

利用getpass模块

import getpass<br>username = input("username:")<br>password = input("password:")<br>
print(username,password)

#在pycharm中无法输出测试

 

表达式 if......else

提示输入用户名和密码,验证用户名和密码

如果成功,则输出欢迎

如果错误,则输出,用户名和密码

# Author:Aaron LI<br><br>import getpass<br><br>_username = 'lixiguang'<br>_password = 'abc123'<br>username = input("username:")<br>password = input("password:")<br><br>if _username == username and _password == password:<br>print("Welcome  user {name} login......".format(name=username))<br>else:<br>print("Invalid username or password!")

猜年龄

在程序中预先设定好年龄,启动程序后让用户猜测,根据用户的输入提示输入的正确与否,如果错误则给出提示

# Author:Aaron LI<br><br>age_of_lxg = 25<br>guess_age = int(input("guess age:"))<br><br>if age_of_lxg == guess_age:<br>print("Input correct!")<br>elif age_of_lxg > guess_age:<br>print("The input digit is too large")<br>else:<br>print("The input numbers are too small")

表达式for循环

for i in range(0,15):<br>print("Aaron",i)<br><br>
for i in range(0,19,2):<br>print("loop",i)  #2 每执行一个跳一个 (步长)
 <br>
# Author:Aaron LI<br>age_of_lxg = 28<br>for i in range(3):<br> guess_age = int(input("guess_age:") )<br>if guess_age == age_of_lxg:<br>print("yes,you got it.")<br>break<br> elif guess_age > age_of_lxg:<br>print("thine smaller....")<br>else:<br>print("think bigger!")<br>else:<br>print("you have tried too times..")
 <br>

表达式while循环

 

count = 0<br>while True:<br>print("count:",count)<br>    count +=1 #count = count +1<br><br>
# Author:Aaron LI<br><br>age_of_lxg = 28<br>count = 0<br>while count < 3:
guess_age = int(input("guess age:"))
if guess_age == age_of_lxg:
print("yes,you got it.")
break
elif guess_age > age_of_lxg:<br>print("think smaller...")<br>else:<br>print("think bigger...")<br>    count +=1<br>    if count == 3:<br>        coutine_confim = input("do you want to keep guessing.....?")<br>if coutine_confim != 'n':<br>            count = 0

 <br>

break和continue<br>

<br>
count = 0<br>while True:<br>print("count:",count)<br>    count +=1 #count = count +1<br>    if count == 1001:<br>break  #满足条件结束整个循环
<br>
for i in range(0,10):<br>if i <3:<br>print("loop",i)<br>else :<br>continue  #跳出本次循环,进入下次循环<br>    print("haha.....")
 <br>

以上がPython の主な応用分野は何ですか? Python の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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