2016-10-08 5 views
-2

オブジェクトがサポートする属性がわかりません。どのようにしてモジュールを開き、「ボンネットの下で」何が起こっているのか理解できますか?インポートされたオブジェクトのコードを読み取るにはどうすればよいですか?

例えば、私はdatetimeモジュールからdatetimeオブジェクト属性かを把握したいが、その__init__にあります

import datetime 
curtime = datetime.datetime.now() 
print(curtime[0]) 

しかし、datetimeは何__getitem__メソッドを持っていないので、アクセスの異なる方法がなければなりませんあなたがこれを行うことができ、時間の各部分(daymonthyearなど)

私は(試行錯誤によって)を発見した:

datetime.datetime.now().time() 
datetime.datetime.now().date() 

しかし、私がここでやっていることの正しい名前は何か、そしてこのオブジェクト/クラスに属する他のメソッドを見つける方法がわかりません。

+3

[ドキュメント](https://docs.python.org/3/library/datetime.html)をお読みください。 ['help'](https://docs.python.org/3/library/functions.html#help)と[' dir'](https://docs.python.org/3/library/functions)を使用してください。 html#dir)? 「ソースコード」(https://github.com/python/cpython/blob/master/Lib/datetime.py)を見てください。 – jonrsharpe

+0

'datetime'の使い方を判断するのに、「試行錯誤」を使うのはなぜでしょうか?あなたがここでやっていることのための適切な名前は、 "愚かな"です! –

+0

ありがとう!私はこれらについて知らなかった。 dir()は特にうまく動作します。実際にIDEでモジュールを開く方法があるかどうかを知っていますので、何が起こっているのか分かりますか? (私はEclipseを使用しています) – Janet

答えて

0

を、あなたはそれが持っているすべての変数と関数を見ることができるはずです。それが文書化されていない場合は、dir([whatever])が行く方法です。どのような状況でも、明らかにGoogle。 ご質問にある用語を明確にするため、datetimeモジュールです。あなたは、モジュール、クラス、およびオブジェクトが異なることを理解する必要があります。モジュールの詳細とdir()の機能hereについて学ぶことができます。

+0

ありがとうございましたドリューは、私が本当に助けてくれたすべての答えはありましたが、そのページが本当に私にこの用語を教えてくれたのであなたのことは素晴らしかったです。 Googleに正しい言葉を伝えることは、戦闘の半分です! (たぶん半分以上...) – Janet

+0

投稿したリンクの「プライマリとセカンダリのプロンプト」の意味を教えてください。 (6.2歳未満) – Janet

+0

ああ。あなたが喜んで尋ねました。プライマリプロンプトとセカンダリプロンプトはPythonシェルに何かを入力する前に使用されていた文字列を意味します。したがって、あなたの端末に 'python'と入力すると、デフォルトのプロンプトは次のようになります:' >>> '。プライマリプロンプトを変更したい場合は、 'import sys'とタイプし、' sys.ps1'をあなたが好きなプロンプトに設定します。 ( 'C>'など) – Mangohero1

0

未知の文書化されていないオブジェクト(datetime is well documented、btw)を扱うときには、dir関数が最も便利です。

しかし、それが記載されていなかった場合:お使いの端末、タイプpydoc (whatever)ではそうで

>>> import datetime 
>>> 
>>> dir(datetime) 
['MAXYEAR', 'MINYEAR', '__doc__', '__name__', '__package__', 'date', 
'datetime', 'datetime_CAPI', 'time', 'timedelta', 'tzinfo'] 
>>> datetime.date 
<type 'datetime.date'> 
>>> dir(datetime.date) 
['__add__', '__class__', '__delattr__', '__doc__', '__eq__', '__format__', 
'__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', 
'__lt__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', 
'__repr__', '__rsub__', '__setattr__', '__sizeof__', '__str__', '__sub__', 
'__subclasshook__', 'ctime', 'day', 'fromordinal', 'fromtimestamp', 
'isocalendar', 'isoformat', 'isoweekday', 'max', 'min', 'month', 'replace', 
'resolution', 'strftime', 'timetuple', 'today', 'toordinal', 'weekday', 
'year'] 

と...

関連する問題