Bir fonksiyon ile sınıfa örnek oluşturma

oyuncu diye bir sinif oluşturdum ve bu sınıfa kişi eklemek istiyorum kabukta
isim = oyuncu("isim", "platform")
şeklinde yazarak ekliye biliyorum
bunu nasil fonksiyona cevire bilirim.
fonksiyon benden isim ve platform die 2 değer istiyicek ve bunlardan sinifin icine obje oluşturacak

class Player(object):
    def __init__(self, **kwargs):
        for key, val in kwargs.items():
            setattr(self, key, val)

def player_factory(**kwargs):
    return Player(**kwargs)
---
>>> new_player = player_factory(name='isim', platform='platform')
>>> print (new_player.name)
isim
>>> print (new_player.platform)
platform

Biraz genel bir örnek oldu ama işinizi görecektir.

for key, val in kwargs.items():
    setattr(self, key, val)

bu kısımda setattr tam olarak ne oluyor

ve tam olarak istediğim şey olmamış
new_player = player_factory(name='isim', platform='platform')
şunu kabuga girmekle
isim = oyuncu(isim,...) girmek aynı sey

Bir class oluşturup bu class’tan bağımsız bir fonksiyon ile bir obje oluşturmak mı istiyorsunuz.

classın icinde de olabilir oluşturamadığım fonksiyon sadece

bunun gibi birşey (neden calışmadığını biliyorum)

class player():
	def __init__(self,name,platform):
		self.name = name
		self.platform = platform

def createObj(name,pla):
	newObj = player(name,pla)
	print newObj.name
	print newObj.platform

createObj("test1","plaform1")
createObj("test2","plaform2")

Bunun gibi mi?

parantez icine elle girerek yapmak istemiyorum benim attiğim ornekteki gibi uygulama benden ayrı ayrı alsın isim ve platformu (bi yere kaydolduğunu dusun konsola kod şeklinde bi kayıt olmuyorsun)

class player():
	def __init__(self,name,platform):
		self.name = name
		self.platform = platform

def createObj():
	name = raw_input("isim: ")
	pla = raw_input("platform: ")
	newObj = player(name,pla)
	print newObj.name
	print newObj.platform

createObj()

newobj diye sabit obje ismi var fonksiyonu 2.caliştirdıgımda ilk kaydedileni silmiycekmi

class Player():
        players=[]
	def __init__(self,name,platform):
		self.name = name
		self.platform = platform

def createObj():
	name = raw_input("isim: ")
	pla = raw_input("platform: ")
	newObj = Player(name,pla)
        Player.players.append(newObj)
	print newObj.name
	print newObj.platform

createObj()

Artık Player sınıfının players niteliğinden tüm nesnelere erişabilirsiniz.

@Dogukan_Cicek, başlığı daha anlamlı bir başlıkla değiştirebilir misiniz? Böylece konu kolaylıkla bulunabilir hale gelecektir.

Bahsettiğiniz sorunu çözen bir desen(pattern) var: Fabrika deseni (Factory pattern). Bu desende, siz sadece bağımlılıkları veriyorsunuz (örneğin bir fonksiyona), daha sonra istediğiniz nesneler oluşturulup size veriliyor; nesnelerin nasıl oluşturulduğuyla ilgilenmiyorsunuz. @r0ark’in verdiği örnek, yeni başlayan biri için biraz kafa karıştırıcı olsa da, iyi bir örnek. Yine de önce bu deseni araştırmanızı tavsiye ederim. Böylece kendiniz de böyle bir fabrika fonksiyonu yazabilirsiniz.