2016-05-24 4 views
0

私はプログラミングに新しいので、馬鹿に聞こえるかもしれません。私はupper()split()などのようないくつかのメソッドがどのように動作するのか理解できないPythonを学んでいます。メソッドはどのようにPythonで動作しますか?

私はあなたが直接、下記のように使う意味:あなたが最初のインポート列、

"ABC".upper() or "abc,xyz".split(",") 

それともでき、その後、以下のようなこれらのメソッドを呼び出す:違いは何ですか

import string 
string.upper("abc") 

string.split("abc,xyz", ",") 

を、そしてどのように我々だろう同じ文字列をインポートせずに同じ出力を実現できる場合は、文字列モジュールをインポートします。

stringモジュール以外にも同様のケースが存在しますか?

+4

あなたは*はいけません*そのモジュールをインポートする。関数は長い時間前にメソッドに移動されていたため、下位互換性の理由からのみ提供されています。 –

+4

プログラミングとPythonの初心者として、** Python 3 **を使用しているはずです。 Python 3では、 'string.split'はありません! –

答えて

0

実際に、Pythonで使用できるパラダイムの1つは、オブジェクト指向プログラミングです。ここでは、myobject.mymethod()のような「メソッド」によってオブジェクト状態を変更します。

構文的には、メソッドmymethod()の最初の引数が実際にはオブジェクトそのものであることを意味します。しかし、Pythonは他のパラダイム(関数型プログラミング、命令型プログラミングなど)にも対処したいので、この方法に対処する構文的な方法は2つあります。

1つは前述のとおりです:myobject.mymethod()、もう1つは単純に最初の引数がオブジェクトそのものであると考えてください:mymethod(myobject)

より正確には、あなたがこのようなオブジェクト自体への参照ですselfによる最初の引数を指定する必要がありますので、あなたが自分でメソッドを定義するときにすることを実現することができます:

def mymethod(self): 
    pass 
関連する問題