আমার চারটি আলাদা আলাদা ফাইল রয়েছে যার নাম: প্রধান, ভেক্টর, সত্তা এবং পদার্থবিদ্যা। আমি সমস্ত কোড পোস্ট করব না, কেবল আমদানি করব, কারণ আমি মনে করি ত্রুটিটি সেখানে। (আপনি চাইলে আমি আরও পোস্ট করতে পারি)
প্রধান:
import time
from entity import Ent
from vector import Vect
#the rest just creates an entity and prints the result of movement
সত্তা:
from vector import Vect
from physics import Physics
class Ent:
#holds vector information and id
def tick(self, dt):
#this is where physics changes the velocity and position vectors
ভেক্টর:
from math import *
class Vect:
#holds i, j, k, and does vector math
পদার্থবিজ্ঞান:
from entity import Ent
class Physics:
#physics class gets an entity and does physics calculations on it.
আমি তখন মেইন.পি থেকে চালাচ্ছি এবং আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:
Traceback (most recent call last): File "main.py", line 2, in <module> from entity import Ent File ".../entity.py", line 5, in <module> from physics import Physics File ".../physics.py", line 2, in <module> from entity import Ent ImportError: cannot import name Ent
আমি পাইথনে খুব নতুন কিন্তু দীর্ঘ সময় ধরে সি ++ নিয়ে কাজ করেছি। আমি অনুমান করছি যে ত্রুটিটি দু'বার, একবার মূলত এবং পরে পদার্থবিজ্ঞানের ক্ষেত্রে সত্তা আমদানি করার কারণে হয়েছে তবে আমি কোনও কার্যকারিতা জানি না। কেউ সাহায্য করতে পারেন?
from <module> import <name>
, বা from <modlue> import *
। অনুরূপ নামযুক্ত রেফারেন্সগুলিকে ওভাররাইটিংয়ের সম্ভাবনা রোধ করতে মডিউল নেমস্পেসের অধীনে আমদানি করা আরও ভাল।
Entity
এবং এর Vector
পরিবর্তে Ent
এবং এই Vect
জাতীয় নামগুলি ছোট করার কোনও কারণ নেই। এবং হ্যাঁ, import vector
এবং তারপর ব্যবহার করুন x = vector.Vector(0,0,0)
।