Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Python - Jak mít uložené metody třídy v jiném souboru

IMPORT nevkládá text, ale zavádí modul, takže ty závislosti někde mít musíš tak, aby se na to ty moduly dostaly.

Ale můžeš si udělat modul, který zavádí všechny závislosti a pak importovat jen ten modul.

Nebo si můžeš do té klasy odložit i ty funkce z modulu (všechny, nebo jen vybrané) a pak je používat z té klasy

MyClass_method_4_python.py:



print("loading MyClass_method_4_python.py")
@classmethod
def MyClass_method_4(klass, a, b, c):
	klass.time.sleep(1)
	print(klass,a,b,c)


MyClass_method_one_python.py:



print("loading MyClass_method_one_python.py")
def MyClass_method_one(self, a, b, c):
	self.time.sleep(1)
	self.method_two(a,b,c)

MyClass_method_two_python.py:



print("loading MyClass_method_two_python.py")
def MyClass_method_two(self, a, b, c):
	self.time.sleep(1)
	self.method_three(a,b,c)

MyClass_python.py:



#!/usr/bin/python -u
# vim: fileencoding=utf-8:nomodified:nowrap:textwidth=0:foldmethod=marker:foldcolumn=4:ruler:showcmd:lcs=tab\:|- list:noexpandtab:nosmarttab:softtabstop=0:shiftwidth=0
print("loading MyClass_python.py")
from  MyClass_method_one_python import MyClass_method_one
from  MyClass_method_two_python import MyClass_method_two
#....
class MyClass:
#	from time import sleep
	import time
	def __init__(self):
		self.method_one(1,2,3)
		self.method_two(4,5,6)
	def method_one(self, a, b, c):
		MyClass_method_one(self, a, b, c)
	def method_two(self, a, b, c):
		MyClass_method_two(self, a, b, c)
	def method_three(self, a, b, c):
		print( a, b, c)
#.....
MyClass()


pok2.py:



#!/usr/bin/python -u
# vim: fileencoding=utf-8:nomodified:nowrap:textwidth=0:foldmethod=marker:foldcolumn=4:ruler:showcmd:lcs=tab\:|- list:noexpandtab:nosmarttab:softtabstop=0:shiftwidth=0
print("loading pok2.py")
class MyClass:
	import time
	def __init__(self):
		self.method_one(1,2,3)
		self.method_two(4,5,6)
	from  MyClass_method_one_python import MyClass_method_one as method_one
	from  MyClass_method_two_python import MyClass_method_two as method_two
	def method_three(self, a, b, c):
		print( a, b, c)
	from MyClass_method_4_python import MyClass_method_4 as class_method_4

MyClass.class_method_4("abra","ka","dabra")

MyClass()

b = MyClass()
c = MyClass()

c.method_one("C", "metoda číslo :", 1 )
b.method_two("B", "metoda číslo :", 2 )

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny