格言にあるように、千里の道も一歩から始まります。何をするにも、基礎が最も重要です。自分が特定の言語に「達している」と思うとき、次のように自問したことがありますか?
「この知識を最も簡単な言葉で表現できますか?理解できない人はそれを理解できますか?」
あなたが言語に本当に堪能であれば、それができると私は信じています。それができない場合は、下を向いて基本を学ぶ必要があります。
July Online では、皆様に Python を徹底的に理解していただくために、主要な知識ポイントを写真とテキストで掲載しています。
テキストの概念やコードの論理処理のアイデアとそれに対応する事例を多数取り上げており、テキストの概念や図の論理処理プロセスを通じて知識の消化と吸収を直接支援できます。
1. Python について理解する
Python はコンピューター プログラミング言語です。これは、もともと自動化されたスクリプト (シェル) を記述するために設計された動的なオブジェクト指向スクリプト言語であり、継続的なバージョンの更新と新しい言語機能の追加により、独立した大規模プロジェクトでの使用が増えています。 。
Python の創設者はオランダ人のグイド ヴァン ロッサムです。 1989 年のクリスマス期間中、アムステルダムでは、クリスマスの退屈を紛らわすために、グイドは ABC 言語の継承として新しいスクリプト インタプリタを開発することにしました。
ABC は、Guido によって設計された教育言語です。
Guido 自身の意見では、ABC はプロ以外のプログラマー向けに特別に設計された、非常に美しく強力な言語です。
しかし、ABC 言語は成功しませんでした。その理由は、ABC 言語がオープンではないからだとグイド氏は考えています。
Guido は、Python でこの間違いを回避することを決意しています。同時に、彼はABCで垣間見えたが実現しなかった何かを達成したいと考えていました。
このようにして、Python は Guido の手によって誕生しました。
Python は ABC から発展したと言えます。 Python は最も人気のあるプログラミング言語の 1 つになりました。
2004 年以来、Python の使用量は直線的に増加しました。 Python2 は 2000 年 10 月 16 日にリリースされ、安定版は Python2.7 です。
Python3 は 2008 年 12 月 3 日にリリースされましたが、Python2 と完全な互換性はありません。2011 年 1 月には、TIOBE プログラミング言語ランキングによって 2010 年の言語に選ばれました。
Python 言語のシンプルさ、読みやすさ、拡張性のおかげで、海外では科学計算に Python を使用する研究機関が増えており、一部の有名大学ではプログラミング コースの指導に Python を採用しています。
たとえば、カーネギー メロン大学ではプログラミングの基礎が、MIT ではコンピューター サイエンスとプログラミングの入門が Python 言語を使用して教えられます。
有名なコンピューター ビジョン ライブラリ OpenCV、3 次元視覚化ライブラリ VTK、医療画像処理ライブラリ ITK など、多くのオープン ソース科学計算ソフトウェア パッケージは Python 呼び出しインターフェイスを提供しています。
Python にはさらに専用の科学計算拡張ライブラリがあり、次の 3 つの非常に古典的な科学計算拡張ライブラリである NumPy、SciPy、matplotlib があり、それぞれ高速な配列処理、数値演算、描画関数を提供します。
したがって、Python 言語とその多数の拡張ライブラリで構成される開発環境は、工学研究者や科学研究者が実験データを処理したり、グラフを作成したり、科学技術計算アプリケーションを開発したりするのに非常に適しています。
関連する推奨事項: 「Python ビデオ チュートリアル 」
2. Python アプリケーション シナリオ
1. Web アプリケーション開発
Python は Web 開発によく使用されます。たとえば、mod_wsgi モジュールを通じて、Apache は Python で書かれた Web プログラムを実行できます。
Python は、HTTP サーバーと Python ベースの Web プログラム間の通信を調整するための WSGI 標準アプリケーション インターフェイスを定義します。 Django、TurboGears、web2py、Zope などの一部の Web フレームワークを使用すると、プログラマーは複雑な Web プログラムを簡単に開発および管理できます。
2. オペレーティング システム管理およびサーバーの運用とメンテナンスのための自動スクリプト
多くのオペレーティング システムでは、Python が標準のシステム コンポーネントです。 NetBSD、OpenBSD、Mac OS X と同様に、ほとんどの Linux ディストリビューションには Python が統合されており、ターミナルで直接 Python を実行できます。
Ubuntu の Ubiquity インストーラー、Red Hat Linux、Fedora の Anaconda インストーラーなど、Python 言語で書かれた Linux ディストリビューション インストーラーがいくつかあります。
Gentoo Linux は、Python を使用して Portage パッケージ管理システムを作成します。 Python 標準ライブラリには、オペレーティング システム関数を呼び出す複数のライブラリが含まれています。
サードパーティ ソフトウェア パッケージ pywin32 を通じて、Python は Windows COM サービスおよびその他の Windows API にアクセスできます。
IronPython を使用すると、Python プログラムは .Net Framework を直接呼び出すことができます。一般的に、Python で書かれたシステム管理スクリプトは、読みやすさ、パフォーマンス、コードの再利用、およびスケーラビリティの点で、通常のシェル スクリプトよりも優れています。
3. Web クローラー
Python には、多数の HTTP リクエスト処理ライブラリと HTML 解析ライブラリに加え、成熟した効率的なクローラ フレームワークである Scrapy と分散ソリューションの scrapy-redis があり、これらはクローラ アプリケーションで非常に広く使用されています。
4. 科学計算
NumPy、SciPy、Pandas、および Matplotlib を使用すると、Python プログラマーは科学計算プログラムを作成できます。
5. デスクトップ ソフトウェア
PyQt、PySide、wxPython、および PyGTK は、Python でデスクトップ アプリケーションを迅速に開発するための強力なツールです。
6. サーバー ソフトウェア (ネットワーク ソフトウェア)
Python はさまざまなネットワーク プロトコルを完全にサポートしているため、サーバー ソフトウェアや Web クローラーの作成によく使用されます。
サードパーティ ライブラリ Twisted は、非同期ネットワーク プログラミングとほとんどの標準ネットワーク プロトコル (クライアントとサーバーを含む) をサポートし、高性能サーバー ソフトウェアを作成するために広く使用されているさまざまなツールを提供します。
7. ゲーム
多くのゲームでは、C を使用してグラフィックス ディスプレイなどの高性能モジュールを作成し、Python または Lua を使用してゲーム ロジックとサーバーを作成します。
Python と比較すると、Lua は機能がシンプルでサイズが小さいのに対し、Python はより多くの機能とデータ型をサポートしています。
8. コンセプトの実装、初期の製品プロトタイプとその反復
Google、NASA、Facebook はすべて、社内で Python を広範囲に使用しています。
3. Python の基礎知識
1. 文法の基本: コメント
プログラム内の特定のコードにマークを付ける 説明するこれがコメントの役割であり、プログラムの可読性を大幅に向上させることができます。 Python で一般的に使用される単一行コメントは # で、一般的な複数行コメントは 3 組の一重引用符 '''' ''
# 这是一个单行注释 # print("七月你好,我是八月.") 此行代码不执行显示. # 快捷键: ctrl + / 快速设置注释 和 快速取消注释 ''' 这是一个多行注释 该范围内的代码不会执行显示 '''
2 です。 文法の基本: データ型
3. 文法の基本: キーワードと識別子
キーワード
python 特別な機能を持ついくつかの識別子、これはいわゆるキーワード。キーワードは Python ですでに使用されているため、開発者はキーワードと同じ名前を持つ独自の識別子を定義することはできません
それでは、Python のキーワードとは何でしょうか?
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
では、Python でどのようなキーワードがあるかをクエリするにはどうすればよいでしょうか?
# 在python中若想查询python中有哪些关键字可以先导入keyword模块 import keyword #导入关键字模块 print(keyword.kwlist) #查询所有关键字
実際の操作
警告: 変数またはファイルに名前を付けるときにこれらのキーワード名を使用することはできません。使用しないと、エラーが報告されてスローされます。注目してください。
識別子
プログラム内の Flowers of the Motherland (開発者) によってカスタマイズされたいくつかのシンボルと名前。変数名、関数名、クラス名などの識別子は自分で定義します。
識別子のルール
これらの識別子の定義には特定のルールもあります: 識別子は文字、アンダースコア、数字で構成されますが、数字で始めることはできません。アンダースコアまたは文字で始めることもできます。 Python では、識別子は大文字と小文字が厳密に区別されます。変数 Andy は変数 andy と等しくありません。これらは 2 つの変数です。
識別子の命名規則
命名規則は、名前を付けるときに関連する規則に従う必要があるため、簡単に理解できます。主な目的は、他の人が一目でその意味を理解できるようにすることです。コードの可読性を向上させることができます。たとえば、name は name として定義され、student は Student として定義されます。
キャメルケースの命名方法
同時に、複数の単語を組み合わせる必要がある場合は、キャメルケースの命名方法を使用します:
リトルキャメルケースの命名方法:最初の単語は小文字で始まり、2 番目の単語の最初の文字は大文字になります (例: myName、aDog
) キャメルケースの命名方法: 各単語の最初の文字は大文字になります、例: FirstName 、 苗字。ただし、プログラマの間でより一般的な別の命名方法があります。これは、send_buf
のように、アンダースコア「_」を使用してすべての単語を接続する方法です。
名前とオブジェクトの関係
定義した変数名とオブジェクトとの参照関係は=などで設定することもできますし、delで参照関係を解除することもできます。
# たとえば
name = '世界で最もハンサムな男性' # 変数名nameに世界で最もハンサムな男性の文字列値を代入しました。これは理解できます。次回、名前を渡すとき、その名前は世界で最もハンサムな人につながることができます。
実践操作
# del 解除引用关系 age = 17 # 永远17岁 del age # del 是 delete 的缩写,此行代码表示删除 age 和 17 之间的引用关系 print(age) # 因为已经删除引用关系,所以访问不到 17 这个数据,则抛出异常
実践操作
名前空間
いくつかの変数名、関数名、およびクラス名を定義すると、これらの名前とそれに対応するデータ型およびデータを収容するためのスペースが存在します。コンテンツ。
# 举个例子 height = '190CM' # 小编的理想身高.但是现实很残酷. def func1(): pass class Fun(): pass
実際の操作
##名前空間を表示するには、%whos を使用します。また、%reset を使用して、この空間をクリアすることもできます。クリアした後、再実行する必要があります-execute 一度定義したプロセスをネームスペースに再格納できます。 実際の操作###4. 语法基础:输出
普通的输出
python中的输出
用 print() 在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出 '李铁柱',用代码实现如下:
name = '李铁柱' print(name)
运行结果
print()也可以打印整数,或者计算结果
# 举个例子 print(300) print(100 + 200)
实际操作
因此,我们可以把计算100 + 200 的结果打印得更漂亮一点:
print('100 + 200 = ', 100 + 200)
实际操作
注意,对于100 + 200,Python 解释器自动计算出结果 300,但是,'100 + 200 =' 是字符串而非数学公式,Python 把它视为字符串,直接进行打印输出。
5. 语法基础:格式化输出
格式化操作的目的,比如说有下列代码:
print('大家好,我叫 李铁柱,我今年 24 岁') print('大家好,我叫 候德柱,我今年 25 岁') print('大家好,我叫 候不柱,我今年 26 岁')
大家仔细观察一下,能够看到,我在 print 输出自我介绍的时候,用了很多的相同字体,就只有一些不同的字段,那么咱们能否简化一下程序呢?
age = 24 print("我今年%d岁" % age) age += 25 print("我今年%d岁" % age) age += 26 print("我今年%d岁" % age)
实际操作
在程序中,看到了 % 这样的操作符,这就是 Python 中格式化输出。
age = 18 name = "小岳岳" print("我的姓名是%s, 年龄是%d" % (name, age))
运行结果
在这里咱们一次使用了两个格式化符号,分别是:%s 和 %d。
%s:表示格式化输出字符串
%d:表示格式化输出十进制整数
除了这两个格式化输出字符还有很多,往下看。
常用的格式化符号
6. 语法基础:输入
现在,你已经可以用 print() 输出你想要的结果了。但是,如果要让用户从电脑输入一些字符怎么办?Python 提供了一个 input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
name = input() # input()
当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
输入完成后,不会有任何提示,Python 交互式命令行又回到就绪状态了。那我们刚才输入的内容到哪去了?答案是存放到 name 变量里了。可以直接输入 name 查看变量内容:
7. 语法基础:运算符
标准操作符
python 同大多数语言一样,也有自己的操作符,分别用来应对不同的工作内容。今天要讲的是 Python 中最常用的几种标准操作符:算术运算符、赋值运算符、比较运算符、逻辑运算符。
算数运算符
注意:混合运算时,优先级顺序为: ** 高于 * / % // 高于 + - ,为了避免歧义,建议使用 () 来处理运算符优先级。并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
实际操作
a = 10 b = 20 print(a+b) print(a-b) print(a*b) print(a/b)
赋值运算符
实际操作
a = 10 # 单个赋值 b = 20 c,d,e = 30,40,50 # 多个赋值 c = 30 , d = 40 , e = 50 print(a,b,c,d,e)
复合赋值运算符
实际操作
c = 40 a = 20 # print(c += a) # 直接 print() 是无法输出结果的哟 c += a print(c) c -= a print(c) c *= a print(c) c /= a print(c) c %= a print(c)
8. 语法基础:常用的数据类型转换
数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
类型转换
# 给小伙伴们举几个例子 # int(): 将数据转换为 int 类型 str1 = "10" num1 = int(str1) print(int) # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作) num2 = int(3.74) print(num2) # float() 将数据转化为浮点数 str2 = "3.14" f1 = float(str2) print(type(f1)) # str() : 转换为 字符串类型 num1 = 10 f1 = 3.14 print(type(str(num1))) # eval(): 将字符串形式的数据,转换为原本的类型 str1 = "3.14" print(type(eval(str1)))
操作结果
#以上がPython で知っておくべきことの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。