python各種記号の復習

6178 ワード

python ex 37-各種記号を復習します.
説明:資料はネットから整理して、削除します
------------------------------------------------------------------------------------
as global with assert pass return yield break continue try except finally exec raise lambda 
  ----------------------------------------------------------------------------
as
Pythonのプログラミングは通常、標準ライブラリのモジュールを多く使用し、import、from、asキーワードを使用します.
たとえば、import sys#インポートsysモジュール
from sys import argv#sysモジュールからargvをインポートします.これは、スクリプト伝達パラメータについて説明したときに使用します.
import cPickle as p#cPickleモジュールをインポートし、ここで簡単にpと命名します.その後、cPickleモジュールの原名の代わりにpを使用することができます.これは、ファイルの入出力を説明するときのメモリで使用されます.
------------------------------------------------------------------------------
globle
グローバル変数の定義
  ------------------------------------------------------------------------------- 
with
いくつかのタスクがあり、事前に設定し、後で整理作業をする必要があるかもしれません.このようなシーンでは、Pythonのwith文は非常に便利な処理方法を提供しています.良い例はファイル処理です.ファイルハンドルを取得し、ファイルからデータを読み出し、ファイルハンドルを閉じる必要があります.with文を使用しない場合は、ファイルを開き、ファイルのコードを読みます.
file = open("/tmp/foo.txt")
data = file.read()
file.close()

もちろん、このように直接開くには2つの問題があります.1つは、ファイルハンドルを閉じるのを忘れる可能性があります.二つ目は、ファイル読み出しデータに異常が発生し、何の処理も行われていないことです.次に、例外処理を追加したバージョンを示します.
file = open("/tmp/foo.txt")
try:
    data = file.read()
finally:
    file.close()

このコードは正常に動作していますが、冗長すぎます.この時がwithが活躍する時だ.より優雅な文法のほか、withはコンテキスト環境による異常をうまく処理することができます.以下はwithバージョンのコードです.
with open("/tmp/foo.txt") as file:
    data = file.read()

with文の実行ロジックは、withの直後の文が評価された後、オブジェクトの__を返すenter__()メソッドが呼び出され、このメソッドの戻り値はasの後ろの変数に割り当てられます.withの後のコードブロックがすべて実行されると、前に返されるオブジェクトの__が呼び出されます.exit__()メソッド.
次の例では、withがどのように動作するかを具体的に説明します.
class Sample:
    def __enter__(self):
        print "In __enter__()"
        return "Foo"
  
    def __exit__(self, type, value, trace):
        print "In __exit__()"
  
def get_sample():
    return Sample()
  
with get_sample() as sample:
    print "sample:", sample

コードを実行し、次のように出力します.
In __enter__()           # __enter__()     
sample: Foo              # __enter__()       -       "Foo",     'sample',     ,    "sample"    "Foo"
In __exit__()            # __exit__()     

        ----------------------------------------------------------------------------------------------------
assert
assert文は、デバッグブレークポイントをプログラムに挿入する便利な方法です.assert文はある条件が本当であることを宣言するために使用され、assert文が失敗するとAsserterErrorが発生するのでtryと結合します...Exceptでは、このような異常を処理することができます.
assert len(mylist) >=1

   -------------------------------------------------------------------------------
pass
passの意味は何もしないで、作用は文法と空の定義の上の衝突を補うためで、私は彼の利益がコードの編纂の過程の中で体現することを理解して、例えばあなたは先にソフトウェアの全体のフレームワークを書くことができて、それからフレームワークの中の具体的な関数とclassの内容を記入して、もしpassコンパイラがなければ1山の間違いを報告することができて、全体の開発の過程をとても流暢ではありません次のようになります.
def f(arg): pass    # a function that does nothing (yet)
class C: pass       # a class with no methods (yet)

        -------------------------------------------------------------------------------------------------------                        
return
文は、関数から戻ると関数から飛び出します.関数から値を返すこともできます
  ---------------------------------------------------------------------------------
yield
returnのように、yieldはプログラムに、関数に次のようなジェネレータを返すように要求しています.
def createGenerator() :
    mylist = range(3)
    for i in mylist :
        yield i*i

  ------------------------------------------------------------------------------------------
break
break文は、ループ条件がFalseまたはシーケンスと呼ばれていない場合でも、ループ文の実行を停止するループ文を終了するために使用されます.重要な注記は、forまたはwhileループから終了すると、対応するループelseブロックは実行されません.
  ---------------------------------------------------------------------------------
continue
continue文は、Pythonに現在のループブロックの残りの文をスキップし、次のループを継続するように伝えるために使用される.
  ---------------------------------------------------------------------------------
try、except、finally
tryを使ってもいいです.Except文は例外を処理します.通常の文をtryブロックに配置し、エラー処理文をexceptブロックに配置します.プログラムは常にfinally内のプログラムコードブロックを実行します.
try:
   a = 1 /0
   print a
except:
   print 'i get the error'
finally:
   print 'it is finally'

  ---------------------------------------------------------------------------------
exec、eval_r、ecexfile
exec文は、文字列またはファイルに格納されたPython文を実行するために使用されます.たとえば、実行時にPythonコードを含む文字列を生成し、exec文を使用して実行できます.次は簡単な例です.
>>> exec 'print "Hello World"'
Hello World

eval文は、文字列に格納された有効なPython式を計算するために使用されます.次は簡単な例です.
>>> eval_r('2*3')
6
>>> eval_r('3+4')
7
>>> exec 'a=100' 
>>> a 
100 
>>> execfile(r'd:\code\ex\test.py')
hello world!
>>>

  ----------------------------------------------------------------------------------
raise
raiseを使用して例外を放出します.プログラムにエラーが発生するとpythonは自動的に異常を引き起こし、raise表示で異常を引き起こすこともできます.raise文が実行されると、raiseの後の文は実行できません.
デモraiseの使い方
try:
     s = None
     if s is None:
         print "s     "
         raise NameError     #    NameError  ,          (  except)
     print len(s)
except TypeError:
     print "       "

 ------------------------------------------------------------------------------------
lambda
匿名関数はおしゃれな概念で、コードの簡潔さを高めています.次のようになります.
g = lambda x: x*2 g(3)

 ---------------------------------------------------------------------------------
none
Noneは特殊な定数です.
NoneとFalseは違います.
Noneは0ではありません.
Noneは空の文字列ではありません.
Noneは他のデータ型と比較してFalseを永遠に返します.
Noneには独自のデータ型NoneTypeがあります.
Noneは任意の変数にコピーできますが、他のNoneTypeオブジェクトは作成できません.
>>> type(None)  
<class 'NoneType'>  
>>> None == 0  
False  
>>> None == ''  
False  
>>> None == None  
True  
>>> None == False  
False