For döngüsü ve string'ler hakkında

def kim(ad, kent, *ozellikler):
        print("Adı:", ad)
        print("Yaşadığı kent: ", kent)
        ozel=""
        for oz in ozellikler:
            ozel = ozel+""+oz
        print("Özellikler:", ozellikler)
        print("Özellikler2: ", ozel)
        print("-"*50)
    
kim("Hale", "Antalya", "Esmer", "Siyah Saçlı", "Ela Gözlü")
def kim(ad, kent, *ozellikler):
        print("Adı:", ad)
        print("Yaşadığı kent: ", kent)
        print("Özellikler:", ozellikler)
        print("-"*80)
    
kim("Hale", "Antalya", "Esmer", "Siyah Saçlı", "Ela Gözlü")

ilkinde sonuç şu çıkıyor:

Adı: Hale
Yaşadığı kent:  Antalya
Özellikler: ('Esmer', 'Siyah Saçlı', 'Ela Gözlü' )
Özellikler2: Esmer Siyah Saçlı Ela Gözlü

ikincisinde şu çıkıyor:

Adı: Hale
Yaşadığı kent:  Antalya
Özellikler: ('Esmer', 'Siyah Saçlı', 'Ela Gözlü' )

aşağıdaki kodun anlamı nedir acaba?

ozel=""
        for oz in ozellikler:
            ozel = ozel+" "+oz

bir etkisi yok o değişkeni kullanmamışsın

ikinci fonksiyonda çıkan sonuçta sadece *ozellikler komutunu eklemem tüm sonradan eklenen bilgilerin yazılması için yeterli olurken

ozel = “”
for oz in ozellikler:
ozel = oz
yazdığımda sadece ela gözlü yazıyor.

ozel = ozel + " "
yazdığımda birşey yazdırmıyor.
(ozel = ozel zaten sonuç vermiyor)

benim merak ettiğim şey ozel+" "+ oz birleştiğinde sadece oz’dan ne varkı oluyor. ozel zaten " " boş bir veri olduğu için o olmadan neden tüm hepsini değil de sadece ela gözlü yazıyor.

Anlamadığınız kısım neresi tam olarak? For döngülerini biliyor musunuz?

ikinci fonksiyonda çıkan sonuçta sadece *ozellikler komutunu eklemem tüm sonradan eklenen bilgilerin yazılması için yeterli olurken

ozel = “”
for oz in ozellikler:
ozel = oz
yazdığımda sadece ela gözlü yazıyor.

ozel = ozel + " "
yazdığımda birşey yazdırmıyor.
(ozel = ozel zaten sonuç vermiyor)

benim merak ettiğim şey ozel+" "+ oz birleştiğinde sadece oz’dan ne varkı oluyor. ozel zaten " " boş bir veri olduğu için o olmadan neden tüm hepsini değil de sadece ela gözlü yazıyor.

Öncelikle "" ile " "'yi karıştırıyor gibi duruyorsunuz. İlk metnin uzunluğu sıfır ve ekrana yazılmasının hiçbir etkisi yok ama ikincisinin boş olduğu söylenemez, tek bir boşluk karakterinden oluşuyor.

Aradaki fark oz’un başına ozel’in ve bir boşluk karakterinin eklenmiş olması.

ozel ilk tanımlandığında "" değerine sahip. Verdiğiniz for döngüsü kullanan kod daha sonra ozel üzerine eklemeler yapıyor. For döngüsü ile alakalı burayı okumanızı tavsiye ediyorum:

sağol knk yardımcı oldu.