Çalışma Zamanında remap Fonksiyonu

Diyelim şöyle ki bir fonksiyonunuz var:

		class Test:
			def check(self,a,b,c):
				if(a):
					self.str = b*100
				else:
					self.str = c*100
		
		a = Test()
		def example():
			for i in xrange(0,100000):
				a.check(i,"b","c")
		
		import profile
 		profile.run("example()")
	

Ve bu fonksiyonunun bir yerleden çok defa çağrıldığını düşünün.

Bu durumda ilk kere hariç diğer seferlerde sizi yavaşlatacak olan bir koşul kontrolü durumunuz olacaktır. Bu bakımdan şunu kullanın:

		class Test2:
			def check(self,a,b,c):
				self.str = b*100
				self.check = self.check_post
			def check_post(self,a,b,c):
				self.str = c*100
		
		a = Test2()
		def example2():
			for i in xrange(0,100000):
				a.check(i,"b","c")
		
		import profile
 		profile.run("example2()")
	

Aslında bu örnek bir miktar basit, fakat if ifadeniz daha karmaşık (bir çok nokta içeren) bir ifade olsaydı ve sadece bir kere doğru olacağını biliyorsanız zaman kazancı sağlayabilirsiniz.