2016-12-20 5 views
-1

におけるタイプについてここでは、コードである:パイソン

class D(object): 
    def __init__(self): 
     print 'D' 

    def test(self): 
     print 'test' 

def main(): 
    a = {} 
    a = D() 
    a.test() 

if __name__ == "__main__": 
    main() 

変数aが本来辞書であるがclass Dの種類が割り当てられているが。 aclass Dインスタンスになります。 Pythonでは、ある型を他の型に変換できますか?ありがとう。

+0

いいえ、できません。 – ForceBru

+0

いいえ。Python変数には型がありません。 Pythonは動的言語です。 –

+2

あなたの質問は少し不明です。 Pythonでは、任意の型の値を名前(変数)に再割り当てできますが、これは変換ではありません。 –

答えて

0

あなたはそう思わないと思います。ここではまずdictというオブジェクトを参照番号aで作成しました。その後、a = D()を実行します。 aをクラスD()のオブジェクトの参照に置き換えました。

タイプを変換するためのPythonで、オブジェクトを型キャストする必要があります。

# `float` to `int` 
>>> float_value = 1.67 # `float` type 
>>> int(float_value) 
1 # `int` type 

# `list` to `dict` 
>>> my_list = [(1, 2), (3, 4)] # `list` type 
>>> dict(my_list) 
{1: 2, 3: 4} # `dict` type 

注:変換は論理的に正しいはずです。例えば:intに文字列の文字を変換するように値の誤差を与える:Pythonで

>>> int('a') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: invalid literal for int() with base 10: 'a' 
0

一つのタイプは、任意の他の型に変換することができますか?

はい。 Pythonでは、あるデータ型を別のデータ型に変換するためのいくつかの異なる関数が用意されています。変換が論理的に正しい限り。機能などstr()int()bool()float()、等...

しかし、あなたの質問がある場合:

は、私は別の変数のデータ型を変更することはできますか?

これは完全に異なるものです。

Pythonは、という動的に型言語です。つまり、変数のデータ型はプログラム内でいつでも変更できます。 Pythonの変数は、型付きの言語であるとは異なり、特定のデータ型やオブジェクトにバインドされていません。

キャスト異なるデータ型および/または値を変数にあなたを必要とほとんどの静的型付け言語とは異なり、Pythonであなたは、単に変数に代入演算子(=)を経由して別の値を再割り当てすることができます。

あなたはこのように考えることができます。 Pythonの変数はの参照です。変数に特定の値を代入すると、変数をその値に参照します。しかし、その変数は単なる参照であり、値にバインドされていないため、異なる値を参照するように変数を変更します。