This modülü ne işe yarıyor?

Merhaba, Python’da ilginç bir modül buldum. this modülü. Python’u açıp import this yazınca kullanabiliyorsunuz ancak modül ne işe yarıyor anlamadım. Modül import edildikten sonra çıkan bir yazı var ve içinde c,d,i ve s değişkenleri var. Ayrıca modülü standart kütüphanenin listesinde de göremedim. Aranızda modülü daha önce görmüş olan veya ne işe yaradığını bilen var mı ?

1 Beğeni

PEP 20 – The Zen of Python | peps.python.org

easter egg, aslına paskalya yumurtası anlamında, ama yazılım dünyasında sürpriz yumurta olarak adlandırılan. Şaka amaçlı yerleştirilen kodlara verilen isim.

Yani, import this;

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Metnini yazmaya yarayan bir sürpriz yumurta imiş…

Ben linkin yalancısıyım…

Ama cümleler programcılar için güzel tavsiyeler…

Python dilinin özünü ve mantığını anlatıyor…

burada parametrelerinin de açıklaması var…

Deciphering Python’s “import this” | by Adam Oudad | Analytics Vidhya | Medium

3 Beğeni

Ben onu hep, eski ders kitaplarimizin ilk sayfalarindaki Andımız gibi dusunuyorum. Cunku ikisini de okurken, ayni icimin isinmasi hissiyatini yasiyorum.

Ne yazdigini anlamaya calistin mi? Denemediysen anlayarak okumani mutlaka oneririm.

2 Beğeni

Andımızdaki hissiyatı biliyorum da, pythonda onu hissedecek kadar python aşkı yaşayamadım…

Ben de C için bunu hissediyorum desem olur mu? :slight_smile:

1 Beğeni

C diline karsi da cok buyuk bir hayranligim var ama maalesef bilgim yok.

Ben Python’i kendim ogrendim, yazilim konusunda akademik bir birikimim yok, kendim ne ogreniyorsam o. Yalniz, bir noktadan sonra, biraz daha makinaya yakin bir dil arama ihtiyacina dustugumu fark ettim. Oylece sorulmus bir “x’ten sonra hangi dil ogrenilir?” sorusunun ne kadar havada kaldiginin da farkindayim ama ben uzun suredir de kendimi bu soruyu soruyorum. Bellekte, islemcide ve yani kisaca benim makinaya verdiklerime arkada neler oluyor, buna biraz daha hakim olabilmek adina ogrenmek istedigim ikinci bir dil var.

C, C++ ve Golang arasinda kaldim. Her uc dil de ayni seviyede olmasa da, makinaya yakin diller diyebiliriz, yanilmiyorsam. Benim tek kistasimin da “neler oldugunu bilmek istiyorum” oldugunu hesaba katarsak, hangi dile egilmeliyim bu konuda kararsizim. Bu arada, bu mesajinin konuyla ne ilgisi var diye soracak olursaniz, sormayin :slight_smile:

Ben bir dil diğerinden iyi yada kötü diyemem.

Meyve kesmek için meyve bıçağı, ağaç kesmek için motorlu testere.

Yani hepsinin gerektiği durumlar olabilir…

C ile C++ ın mantığı farklı Golang bambaşka…

Ama C ile başlayan biri, diğerlerinin dilin lehçeleri gibi kaldığını görür.

Yani ne java, ne c++ ne python c kullanan birinin gözüne tuhaf ve okunamaz gelmiyor…

Yeni başlayan biri, programlama mantığını öğrenmek için daha basit dilleri seçip, bizim zamanımızda basic ve pascal varyantları gibi, sonra c ye geçerse hevesi kırılmaz.

Ama C de bir şeyleir gerçekleştirmek için o kadar çok ön bilgi gerekir ki herkes buna dayanamaz programlamadan soğuyabilir.

Bu nedenle C dikey öğrenme eğrisine sahip dil olarak tanımlanır.

Çok zaman az ilerleme…

Ama seviyorum ne yapayım.

Görsel programlayıcılar ile blokları bile birleştirip programlar yazılırken, kimseye C den başla diye zorlayamam.

Ben elimi kirletmeyi severim, ondan tercihim C olmuştu.

Gömülü sistemlerde daha da eğlenceli oluyor.

Assembly ve C kardeşliğinde.

Beni biraz da işletim sistemlerinin dökümantasyonu buna itti.

Adamlar tüm referanslarındaki örnekleri C ile yapıyorlardı o dönemde, öğrenmemek gibi şansı olmuyor insanın.

Çevirerek okudum yazıyı ama easter egg olduğunu bilmiyordum.

Benim yolumda da er ya da geç C öğrenmek var gibi duruyor… “C öğrenmek” dediğimiz şey de çok geniş kapsamlı bir şey. Ne yapıldığında C öğrenilmiş olur? Benim sorduğum her soru başka bir soruyu doğuruyor ve cevap veremediğim son soruyu araştırıyor olduğum sürece ben “öğreniyorum” diyorum. Sanırım öğrenmeyi bu şekilde tanımladığım sürece sonsuza kadar bir öğrenci olarak kalacağım (şikayet etmiyorum tabii).

1 Beğeni

Buna emin değilim. Kim bilir. Teknoloji her gün değişiyor. HTML bana göre çok basit ama insanlar HTML tercih ediyor. Kimi masa üstü uygulması, kimi internet uygulaması derken iş buluta nesnelerin internetine kadar geldi.

Yani bazılarını yolu C ile hiç kesişmeyebilir.

İhtiyaç duyunca öğreniliyor. İşletim sistemi api dokümanlarını okurken, yada gömülü sistemlerle çalışırken, bir kontrolcü programlarken öğreniyorsun.

Kimisi de oturup öğreneyim deyip öğreniyor. Kimi Linux dağıtımlarını kullanırken kentini gcc ile program derlerken buluyor.

Mezun olduktan sonra neredeyse 20 seneyi geçti ben hala öğrenciyim bu gayet normal. Öğrenciliği bırakırsan öğrenmeyi bırakırsın.

1 Beğeni
s = """Gur Mra bs Clguba, ol Gvz Crgref

Ornhgvshy vf orggre guna htyl.
Rkcyvpvg vf orggre guna vzcyvpvg.
Fvzcyr vf orggre guna pbzcyrk.
Pbzcyrk vf orggre guna pbzcyvpngrq.
Syng vf orggre guna arfgrq.
Fcnefr vf orggre guna qrafr.
Ernqnovyvgl pbhagf.
Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf.
Nygubhtu cenpgvpnyvgl orngf chevgl.
Reebef fubhyq arire cnff fvyragyl.
Hayrff rkcyvpvgyl fvyraprq.
Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.
Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.
Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu.
Abj vf orggre guna arire.
Nygubhtu arire vf bsgra orggre guna *evtug* abj.
Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn.
Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.
Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!"""

d = {}
for c in (65, 97):
    for i in range(26):
        d[chr(i+c)] = chr((i+13) % 26 + c)

print("".join([d.get(c, c) for c in s]))

Kütüphaneye şimdi baktım. Karakterleri şifrelemiş bir nevi 65-97 ascii karakterler için. Okunmasın diye karıştırmış sadece.

ROT13​​​​​​​​​​​​​​​

Bizim zamanımızda sezar derlerdi. Yaşlılık. :wink: