Pythonクイック入門の基礎知識(一)

12710 ワード

pythonの基礎知識
  • pythonの基礎知識
  • 前言
  • 一、整数
  • 二、浮動小数点数
  • 三、文字列
  • 四、ブール値
  • 五、Null
  • 六、オペレータ
  • 七、List及びtuple
  • 8、dict、set


  • 前言
    ダウンロードはPythonの公式サイトに行って、インストールに成功した後にコマンドラインでpythonを入力してPythonのインタラクティブなコマンドラインに入ることができます.
    一、整数
    Pythonは任意の大きさの整数を処理することができて、もちろん負の整数を含んで、プログラムの中の表現方法は数学の上の書き方とそっくりで、例えば:1100、-8080、0など.
    二、浮動小数点数
    浮動小数点数は小数であり、浮動小数点数と呼ばれるのは、科学的な記数法で表される場合、1つの浮動小数点数の小数点位置が可変であるためであり、例えば、1.23 x 10^9と12.3 x 10^8は等しい.浮動小数点数は、1.23、3.14、-9.01などの数学的な書き方ができます.しかし、大きな浮動小数点数または小さい浮動小数点数については、10をeに置き換え、1.23 x 109を1.23 e 9、または12.3 e 8、0.000012を1.2 e-5と書くなどしなければならない.
    整数と浮動小数点数はコンピュータ内部に格納される方法が異なり、整数演算は永遠に正確である(除算も正確であるのか!)、浮動小数点数演算では四捨五入の誤差がある可能性があります.
    三、文字列
    文字列は、「abc」、「xyz」など、単一引用符''または二重引用符""で囲まれた任意のテキストです.'''...'''三重引用符は、次のような複数行の文字列の内容を表示するために使用できます.
    >>> print '''line1
    ... line2
    ... line3'''
    line1
    line2
    line3

    中国語の文字に触れる場合は、できるだけ文字列の前にuを加えます.例えば、u' '%sは文字列で置き換え、%dは整数で置き換え、何%ですか?プレースホルダは、後にいくつかの変数や値が付いていて、順番に対応しています.
    >>> 'Hello, %s' % 'world'
    'Hello, world'
    >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
    'Hi, Michael, you have $1000000.'

    format()
    もう1つの文字列をフォーマットする方法は、文字列のformat()メソッドを使用します.文字列内のプレースホルダ{0}{1}を入力されたパラメータで順番に置き換えます.ただし、この方法は%よりも面倒です.
    'Hello, {0},       {1:.1f}%'.format('  ', 17.125)

    文字列の結合は直接2つの文字列に加算すればよい
    >>> 'hello' + ' world!'
    'hello world!'

    注意:
    Pythonソースコードもテキストファイルなので、ソースコードに中国語が含まれている場合、ソースコードを保存する場合は、必ずUTF-8コードとして保存するように指定する必要があります.Pythonインタプリタがソースコードを読み込む場合、UTF-8コードで読み込むために、通常、ファイルの先頭にこの2行を書きます.
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-

    四、ブール値
    ブール値はTrueFalseの2つの値しかありません.
    五、空の値
    空の値はPythonの特殊な値で、Noneで表されます.None0とは理解できない.0は有意義であり、Noneは特殊な空の値であるからである.
    六、オペレータ
    算術演算子:+(加算)、-(減算)、*(乗算)、/(除算)、%(余剰を求める)、**(指数演算)
    比較演算子:==,!=,>,>=,<,<=
    代入演算子:=,+=,-=,=,/=,%=,*=,/=
    論理演算子:and,or,not
    メンバー演算子:in,not in
    アイデンティティー演算子アイデンティティー演算子:is/is not
    七、Listとtuple
    List
    これがJavaまたはCの配列である.オブジェクトのセットを整数インデックスで取得する順序付けで格納できるコンテナです.Listは[]で表され、例えば[1,2,3]はListである.一方、Tupleは()で表す、例えば(3,4,5)はTupleである.
    これらの違いは、Listが可変であることである.Tupleは可変ではありませんつまり、増やしたり、削除したり、変えたりしてはいけません.
    インデックス方式はJavaと同様に1つの整数で下付きする方式のほか、開始、終了、ステップ長を指定し、負のインデックスを使用してListを分割することもできます.
    汎用構文フォーマットはlist[start:end:step]
    list[index] ---    (index+1)   ,   0    
    list[start:end] ---    start  , end-1,   list[start], list[start+1].....list[end-1]  
    list[start:end:step] ---      ,     step     
    list[:end]  ----       0  
    list[start:] ----       len(list),  -1  
            ,          :  
           0    1      2      3
          [1]   [3]    [5]    [7]
          -4    -3      -2    -1

    例:
    >>> a = [1, 3, 5, 7];  
    >>> a[0]  
    1  
    >>> a[3]  
    7  
    >>> a[-1]  
    7  
    >>> a[-2]  
    5  
    >>> a[0:3]  
    [1, 3, 5]  
    >>> a[1:3:2]  
    [3]  
    >>> a[0:3:2]  
    [1, 5]  
    >>> a[0:-1:2]  
    [1, 5]  
    >>>

    List追加削除:
    //list         ,  ,   list        :
    list.append('Adam')
    //              ,      1   :
    list.insert(1, 'Jack')
    //   list     , pop()  :
    list.pop()
    //          , pop(i)  ,  i     :
    list.pop(i)
    

    リスト内の要素のデータ型も異なります
    リストにはリストも含まれています
    listの遍歴:
    for item in sequence:
            process(item)
    
    #       item   ,     :
    for index in range(len(sequence)):
            process(sequence[index])
    
    for index,item in enumerate(sequence):
            print index,item

    tuple tupleはlistと非常に似ていますが、tupleは初期化すると修正できません.例えば、同じように同級生の名前をリストします.
    classmates = ('Michael', 'Bob', 'Tracy')

    今、classmatesというtupleは変えることができなくて、append()、insert()のような方法もありません.他の要素を取得する方法はlistと同じで、classmates[0]、classmates[-1]を正常に使用できますが、他の要素に値を割り当てることはできません.
    tupleの要素が可変オブジェクトであれば、このオブジェクトのサブプロパティは変更でき、オブジェクト自体のインデックスは変更できません.
    tupleにlistAが含まれている場合は、listAにappend、insertを入力できますが、listAに値を割り当てることはできません.listAを削除することはできません.
    八、dictとset
    dict
    dictはdictionaryと呼ばれ、他の言語ではmapとも呼ばれ、キー値(key-value)を使用して格納され、非常に速い検索速度を有する.
    例:
    >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    >>> d['Michael']
    95
    >>> d['Michael'] = 90
    >>> d['Michael']
    90
    
  • 何度も1つのkeyにvalueを入れ、後ろの値は前の値を
  • 流します.
  • keyが存在しない場合dictはkeyが存在しない誤りを避けるために誤りを報告し、inによってkeyが存在するかどうかを判断する2つの方法がある.
    >>> 'Thomas' in d
    False

    2つ目はdictが提供するgetメソッドで、keyが存在しない場合はNone、または自分で指定したvalueを返すことができます.
    >>> d.get('Thomas')
    >>> d.get('Thomas', -1)
    -1
  • pop(key)削除してエントリ値(キー値ペア)
  • を返す.
  • del d[key]指定要素
  • を削除することもできます.
    遍歴dict
    #    
    for key in d: 
         n = d[key]
    
    #    :  
    for k,v in d.items(): 
        n = v
    
    #    :   ,    
    for k,v in d.iteritems(): 
        n = v 
    
    #    
    for k,v in zip(d.iterkeys(),d.itervalues()): 
        n = v 

    set
    setはdictと同様にkeyのセットでもあるがvalueは格納されない.keyは繰り返すことができないのでsetでは繰り返すkeyはありません.
    setを作成するには、リストを入力セットとして指定する必要があります.
    >>> s = set([1, 2, 3])
    >>> s
    {1, 2, 3}

    繰り返し要素はsetで自動的にフィルタされます.
    >>> s = set([1, 1, 2, 2, 3, 3])
    >>> s
    {1, 2, 3}

    add(key)メソッドでsetに要素を追加でき、繰り返し追加できますが、効果はありません.
    >>> s.add(4)
    >>> s
    {1, 2, 3, 4}
    >>> s.add(4)
    >>> s
    {1, 2, 3, 4}

    remove(key)メソッドで要素を削除できます.
    >>> s.remove(4)
    >>> s
    {1, 2, 3}

    setは数学的意味での無秩序と重複要素のない集合と見なすことができるため、2つのsetは数学的意味での交差、並列などの操作を行うことができる.
    >>> s1 = set([1, 2, 3])
    >>> s2 = set([2, 3, 4])
    >>> s1 & s2
    {2, 3}
    >>> s1 | s2
    {1, 2, 3, 4}