Python教程:進撃機械学習(二)--Pythonを知る

5080 ワード

Pythonの基礎があるか、勉強したことがある場合は、このチュートリアルを直接スキップすることができます.このチュートリアルは、Pythonを迅速に認識し、理解することを目的としており、機械学習の前調として悪い笑いをしています.
Pythonについて
Pythonは高度なプログラミング言語として、どのような特性を持っていますか.
  • はC言語(コンパイル型言語)とは異なり、Pythonは解釈型言語である.Pythonコードを実行する前にコンパイルする必要はありません.
  • Pythonはオープンソースで無料の
  • クロスプラットフォーム、Linux/Unix、Windows、MacOS X.
  • 冗長な文法がなく、読みやすさが強い
  • は、他の言語と互換性があり、サポートされています.
    Hello Python
    Ipython shellを開くと、Matlabのように簡単なHello worldがそうです.
    >>> print("Hello, world!")
    Hello, world! 
    

    Pythonの簡単な構文は,変数や関数タイプを宣言する必要がないことに現れる.
    >>> a = 3
    >>> type(a)   
    
    

    C言語の場合:
    int a = 3;
    

    複数の計算を感じてみましょう.
    >>> a = 1.5 + 0.5j
    >>> a.real
    1.5
    >>> a.imag
    0.5
    

    Pythonの基礎はあまり話さないので、プログラミングに触れたことがない場合は参考にしてください.http://www.runoob.com/python/python-tutorial.html書籍なら『Python基礎教程(第2版)』ダウンロードアドレス:Beginning.Python.From.Novice.to.Professional,2nd.Edition_chs
    はいれつ
    配列を定義するには、タイプを宣言する必要はありません.配列内のタイプも制限しません.
    >>> colors = [3, -200, 'hello']
    

    配列インデックスは0から始まり,C言語と同様にMatlabと区別される(1から)
    >>> colors[0], colors[2]
    (3, 'hello')
    

    Pythonは配列についても内蔵関数が多く、関数を操作するのに便利です.例えば値listを追加する.append(x)、listを挿入する.insert(i,x)、並べ替えlist.sort(key=None, reverse=False).その他の配列の組み込み関数の参照:https://docs.python.org/3/tutorial/datastructures.html#more-on-lists
    文字列
    PythonのStringに対する操作はリストに似ています.
    >>> a = "hello"
    >>> a[0]
    'h'
    >>> a[-1]
    'o'
    

    文字列分割:
    >>> a = "hello, world!"
    >>> a[2:10:2]               #   : a[  :  :  ]
    'lo o'
    

    文字列のフォーマット:
    >>> 'An integer: %i; a float: %f; another string: %s' % (1, 0.1, 'string')
    'An integer: 1; a float: 0.100000; another string: string'
    

    Python文字列参照の詳細:https://docs.python.org/tutorial/introduction.html#unicode-strings
    辞書
    Python辞書には無秩序な特徴があります.辞書を定義します.
    >>> tel = {'emmanuelle': 5752, 'sebastian': 5578}
    

    キー値ペアを追加するには、次の手順に従います.
    tel['francis'] = 5915
    

    それからこの辞書を出力しましょう
    >>> tel     
    {'sebastian': 5578, 'francis': 5915, 'emmanuelle': 5752}
    

    私たちが挿入したキー値のペアが真ん中に置かれているのが見えますが、Pythonの辞書はルールに従ってソートされていません.この辞書キーと値を呼び出すには、次の2つの関数を使用します.
    >>> tel.keys()  
    ['sebastian', 'francis', 'emmanuelle']
    >>> tel.values() 
    [5578, 5915, 5752]
    

    辞書の詳細については、次の操作を参照してください.https://docs.python.org/tutorial/datastructures.html#dictionariesこれらの一般的な容器タイプに加えて,タプル(Tuples)や集合(Sets)もあり,実際の開発ではあまり使われていないため,展開しない.
    注意すべき点は、Pythonが変数にアドレスを割り当てるメカニズムであり、他の言語とは異なり、Pythonはオブジェクトにアドレスを割り当てるものであり、同じオブジェクトには1つのアドレスしか割り当てられていないが、複数の変数名を持つことができる.
    In   [1]:  a = [1, 2, 3]
    In   [2]:  b = a
    In   [3]:  a
    Out[3]:  [1, 2, 3]
    In   [4]:  b
    Out[4]:  [1, 2, 3]
    In   [5]:  a is b
    Out[5]:  True
    In   [6]:  b[1] = 'hi!'
    In   [7]:  a
    Out[7]:  [1, 'hi!', 3]
    

    せいぎょぶん
    C言語では,同じ制御文の下で{}を付けて表す必要がある.一方、Pythonでは制御ブロックをインデントで保持するだけで、同じ制御ブロックのインデントが一致します.
    >>> a = 10
    >>> if a == 1:
    ...  print(1)
    ... elif a == 2:
    ...  print(2)
    ... else:
    ...  print('A lot')
    A lot
    

    for文の使い方:
    >>> for i in range(4):
    ...  print(i)
    0
    1
    2
    3
    

    while文の使い方:
    >>> a = [1, 0, 2, 4]
    >>> for element in a:
    ...  if element == 0:
    ...    continue
    ...  print(1. / element)
    1.0
    0.5
    0.25
    

    関数の定義
    Pythonの関数定義もdef関数名(パラメータ)のみ必要:(同様にインデントが必要)
    In [81]: def double_it(x):
    ....:     return x * 2
    In [82]: double_it(3)
    Out[82]: 6
    

    スクリプトとモジュール
    最も基礎的なデータ型、コンテナ、制御文、関数を簡単に理解しました.次に、プログラムに書きます.私たちがファイルにコードを書く目的は、これらのコードを繰り返し使用することです.なぜ関数を使うのかと似ています.私たちは一般的にPythonエディタ(Windowsの下でIDEはPycharmでPythonプログラムを書くことができます)で作成します.pyファイル.
    例えばテストファイルtestを構築しますpy
    message = "Hello how are you?"
    for word in message.split():
      print word
    

    IPythonでは%run testを使うことができます.pyでプログラムを実行
    In [1]: %run test.py
    Hello
    how
    are
    you?
    

    WindowsまたはLinuxのコマンドラインでpython testを使用します.pyでプログラムを実行
    $ python test.py
    Hello
    how
    are
    you?
    

    しかし、私たちは时にはプログラムを実行する必要はありません.ただ、いくつかの関数をファイルに書きたいだけです.必要なときに出して使いたいだけです.C++のヘッダファイルに似ています.この場合、インポートモジュール(自分で書いたファイルをインポートしたり、必要な関数ライブラリをインポートしたりすることができます):0-10をサンプリングするためにNumpyライブラリをインポートする必要があると仮定します.
    >>>import numpy as np
    >>>np.linspace(0, 10, 6)
    array([0, 2, 4, 6, 8, 10])
    

    asはインポートしたファイルに別名を設定することができ、モジュール内の関数を呼び出すときに1つだけ使用する.をクリックします(module.function()
    Pythonについてはここまでですが、次はPython数学計算ライブラリNumpyです.
    Ref:http://www.scipy-lectures.org/intro/language/python_language.html