2013-12-08 17 views

cevap

3

Python, dinamik olarak yazılan bir dildir, bu nedenle jenerik gerektirmez. Bu herhangi bir fonksiyona her türlü veri geçebilir bu

def addTen(inputData): 
    if isinstance(inputData, int): 
     return inputData + 10 
    elif isinstance(inputData, str): 
     return int(inputData) + 10 
    else: 
     return 10 

gibi bir şey yapabilirsiniz ve bu fonksiyon farklı farklı veri türlerini işlemek için tercih edebilirsiniz.

+0

Bu yanıtı yazdığınız bir zamanda, 'typing' modülü yoktu. Ancak şu anda standart kütüphanenin bir parçası (Python 3.5'den beri). – nme

14

Hayır. Python, statik olarak yazılan bir dil değildir, bu nedenle onlara gerek yoktur. Java jenerikleri sadece derleme zamanı tipi güvenliği sağlar; Çalışma zamanında hiçbir şey yapmıyorlar. Python, herhangi bir derleme zamanı türü güvenliğine sahip değildir, bu yüzden Python'un sahip olmadığı derleme zamanı tipi kontroller için jenerik eklenmesi mantıklı olmaz. Örneğin, bir liste yazılmamış bir koleksiyondur. List<Integer> ve List<String> arasında ayrım hiçbir eşdeğer yoktur, çünkü bir Python listesi herhangi bir nesne türünü saklayabilir.

+1

Bir üst gönderiye sahip olduğundan bu güncelleştirmeyle ilgili - https://www.python.org/dev/peps/pep-0484/#generics – Juxhin

+4

Python statik olarak yazılmadı, ancak üye yöntemleri için yazım noktası, yazımsal olarak yazılabilir. Yani onlara ihtiyaç var. – tribbloid

İlgili konular