İki hafta boyunca 8. sınıf 9. sınıflar için temel bilgisayar programlamayı öğretiyorum ve dün onlara Python'da nasıl basit bir metin-macera oyunları yapabileceklerini göstermeye çalıştım.Python'da yeni programlama öğrencilerine kafa karıştırmadan global kullanmaktan kaçının mı?
Sahneler sonra uygun işlevi bulmak için globals()
geçirilen ve daha sonra çağrılan bir sonraki gitmek istiyorum oyuncuyu soran bazı baskı tablolar ve sonra input()
bir çağrı, oluşan fonksiyonlar, (örneğin dragons_cave()
) bulunmaktadır. İdeal olmadığını biliyorum (hangi noktada büyük fonksiyon zinciri problem olmaya başlıyordu?) Ama aklımdan geçenlerin sadece küçük bir el atışı yaparken en basitleri olduğu görülüyor.
Sorunum global durumla - örn. Oyuncu bir sahnede bir anahtar alır ve ancak başka bir sahnede kapıyı açabilir. Python, dizeler veya boole gibi global immutables'lere sahip olduğumda, işlevin başında global
anahtar sözcüğünü kullanmamı istiyor.
global hasKey
hasKey = True
ben bunu oldukça iyiyim, ama ben global
üzerine hoş ve her zaman üstün bir karşılığı yoktur ki (İnternet'teki diğer yerler arasında Stackoverflow dan aldı) belirsiz bir duygusu var. Küresel bir sözlüğe sahip olabilirim ya da her şeyi bir sınıfa sığdırabilirdim, ancak bu seçenekleri açıkça benim çocuklarıma (değişkenlerin sonuçlarıyla ilgili düşünenleri) savunabilsem de emin değilim.
Kullandığım her ne olursa olsun, çocuklarıma bu şekilde neden bu şekilde yaptığımızı ve neden bu şekilde yapılmasının gerekli olduğunu açık bir şekilde anlatabiliyorum. global
, bu özelliklerin her ikisine de sahip gibi görünüyor, ancak kötü mü?
Küreselleşmeyi önlemek için pek çok iyi neden vardır, ayrıca globileri kullanmak için pek çok mükemmel neden vardır. sadece benim 2c ... yeni başlayanlar için daha kolay bir kavramdır ama gelecekte kötü alışkanlıklara yol açabilir. –
Size oy vermek istiyorum dürüst ve bu konuda önünüzde. "Daha başarılı programcılar olduğunuzda, daha çok globals kullanmaktan daha iyi yöntemler olduğunu öğreneceksiniz. Şimdilik, temelleri öğrenirken işleri basit tutmamıza yardımcı oluyor.Bunu nasıl yapmadan öğrenmek istersen, dersten sonra bana sor. "Bildiğim çok az kişi ayakkabılarını giymeyi öğrendi. –