6

私は Java プログラマーであり、常にクラス用に個別のファイルを作成してきました。Python を学習しようとしており、正しく学習したいと考えています。Python でクラスを異なるファイルに配置するのはコストがかかりますか?つまり、1 つのファイルにはクラスが 1 つしか含まれていません。.Python では実行時に演算子の解決が行われるため (Java ではコンパイル時に発生します)、コストがかかるとブログで読みました。

:他の投稿で、それらを別々のファイルに入れることができると読みましたが、何らかの形で費用がかかるかどうかについては言及していません

4

1 に答える 1

8

It is slightly more costly, but not to an extent you are likely to care. You can negate this extra cost by doing:

from module import Class

As then the class will be assigned to a variable in the local namespace, meaning it doesn't have to do the lookup through the module.

In reality, however, this is unlikely to be important. The cost of looking up something like this is going to be tiny, and you should focus on doing what makes your code the most readable. Split classes across modules and packages as is logical for your program, and as it keeps them clear.

If, for example, you are using something repeatedly in a loop which is a bottleneck for your program, you can assign it to a local variable for that loop, e.g:

import module

...

some_important_thing = module.some_important_thing

#Bottleneck loop
for item in items:
   #module.some_important_thing()
   some_important_thing()

Note that this kind of optimisation is unlikely to be the important thing, and you should only ever optimise where you have proof you need to do so.

于 2012-05-05T09:58:01.693 に答える