Python'un merkezinde kendimi sıkışmış hissediyorum, nasıl acemi geçmiş olsun [kapalı]


22

Bu SO kurallarına uymadığı için gerçekten özür dilerim ama biraz yardıma ihtiyacım var, kişisel olarak kendimi hala python'da başlangıç ​​olarak sınıflandırıyorum, Ancak patronumun kullanması için çok küçük ve ÇOK GÜZEL bir pratik program yazdım.

Biliyorum hala bir acemiyim çünkü basit şeyler hala beni şaşırtıyor, ama yeni başlayanlar için okuduğum her kitap dürüstçe bildiğim şeyi yeniden düzenlemektedir, ancak her 'daha gelişmiş' kitap gerçekten öğrenmeme izin vermiyor, örnek dosyalara bağlı. ve neden 'söylenen' işlevini veya 'söylenen' sınıfı inşa ettiklerini asla anlamadım. Yani benim sorum üzerine ...

Bir kitapta veya herhangi bir konuda beni bu aşamadan çıkaran herhangi bir öneri var mı, önce kafayı kullandım ve normalde çok iyiler ama benim sorunum tekrar ilerlemeye devam etmek için tekrar izlemem, HTML'de çalıştı ama Python'da kafa karıştırıcı, temelde takip ederken bir program yapmam gerektiğini düşünüyorum, Yine HeadFirst'in tarzını seviyorum ama sadece unutmak için bir şeyi hatırlamama gerek duymayacak bir şeye ihtiyacım var ...

Kayıt için, bazı O'Reilly kitaplarına baktım


7
Her başlangıç ​​konsepti için, askıya alınana kadar birkaç küçük program yazın. Kendinizi rahat hissettiğinizde, gelişmiş şeyler elde edene kadar aynısını ve daha fazlasını yapın. Pratik yapmadan okumak ve kodlamak size pek yardımcı olmayacak.

6
Bilgisayar Bilimcisi gibi nasıl düşüneceğinizi zaten okudunuz mu?
Oscar Mederos

Docs.python.org/tutorial/index.html eğitimini daha önce izlediniz mi? Kafanı karıştıran belirli yönlerin var mı? Bunları bazı kod örnekleriyle gösterebilseydiniz daha iyi olurdu.
juanchopanza

Patronun Python'da da yazılmış daha büyük bir programa ihtiyacı yok mu? Deneyiminize ihtiyacınız var ...

2
anlama, yapma, soru sorma, soru sorma, burada insanlar sana yardım edecektir.
monkut

Yanıtlar:


23

Kitap okumayı bırak.

Git şimdi okuyarak serbest zaman kullanarak kod yaz. Uygulama. Ponder. Gerçek kodla yazdığınız gerçek problemlerle yüzleşin.

Ardından , gelişmiş kitapların cevaplayabileceği yeterli sorunuz olacak. Şimdi bu sorularınız yok ve kitaplardaki cevaplar size bir şey ifade etmiyor.

Bu, yabancı bir dil öğrenmek veya nasıl yüzüleceğini öğrenmek gibidir. Tek başına kitaplar yardımcı olamaz. Çok çalışman gerekiyor, sonra beynin onu alıyor.


19

FWIW, Python'u gerçekten öğrendiğim yol kendim için önemsiz bir uygulama yazmaktı . Aslında bu bir oldu yeniden yazma ihtiyacım işlenirken tür yapılması gereken ne çok tanıdık oldu, ben daha önce (daha sonra ve C ++) C öğrenmeye yarattığı aynı uygulamanın. Her (yeniden) yazı sırasında, kullanılan belirli bir dilin sunduğu ya da sadece denemek istediğim özel özelliklerden yararlanmaya çalıştım.

Bir bonus olarak, işiniz bittiğinde ya da en azından çalışan bir sürümünüz olduğunda, kendi başına değersiz olan bir programlama alıştırması değil, gerçekten faydalı bir şeye sahip olacaksınız. Dilde daha iyi şeyler yapmanın daha iyi yollarını öğrendikten sonra, daha sonra geri dönebilir ve programı değiştirebilirsiniz.

Herhangi bir programlama dilinde daha iyi olmanın çok kullanışlı bir yolu, bir çok başka programı okumaktır. Bugünlerde bunu yapmanın iyi bir yolu, bu StackedOverflow yanıtında açıklandığı gibi Google’ı kullanmaktır . Bu harika bir kaynaktır ve genellikle profesyonel programcılar tarafından yazılmış ve diğer gerçek yaşam uygulamalarında kullanılan "endüstriyel güç" kodunu okuyorsunuz.

Güncelleştirme:

Google’ın Kod Arama’yı 15 Ocak 2012’de durdurduğundan, normal Google aramalarına geri dönmenin yanı sıra, umut verici görünen Code Snippets Collection adlı bir şey var . Bu (cevapsız) sorunun cevabında bir kaç başka kaynaktan bahsedilmiştir: Google Kod Arama için Değiştirme? .


5
Önemsiz olmayanlara vurgu. Zor işleri yapmayı öğrenmek için zor işleri yapmayı deneyin.
Bryan Oakley

5

Sadece kolay konseptlere atılmaya devam et. Kavramlarını kapsayan küçük programlar yapın. Bir noktada, bir anlayış tepesine çıkacaksınız ve yeni şeyler sizin için daha anlamlı olacak. Ayrıca Python pasajları adında bir dizin tutuyorum. Bazı kavramlarda başlangıç ​​noktası olarak yararlı buluyorum.

Paha biçilmez bulduğum bir diğer püf nokta, diğer insanların kodunu okumak ve yorumlamak, her satırın ve bölümün ne yaptığını özetlemektir. Bilmiyorsam, Google’a vakti geldi. Bu sayede Python'u çalışırken görebilir ve düzgün bölümlere ayırabilirim.

Kod için özellikle zengin bir kaynak Python kaynağının kendisidir.


5

Temel Python kütüphaneleri veya nesne yönelimli tasarım hakkında emin değilseniz (neden "dedi" sınıfının veya "dedi" fonksiyonunun kullanıldığını bilmediğinizden bahsettiniz):

  1. Nesneye Dayalı Tasarımda Beceri Oluşturma gerçekten nesne yönelimli tasarım hakkında düşünmenize yardımcı olur.

  2. S.Lott'un Python'daki Bina Becerileri adlı diğer sitesi de Python becerilerinizi temellerin ötesine taşımanız için iyi bir yol olabilir. Aşağıda listelenen kitaplardan biraz daha basit olan, ancak yine de eğlenceli ve öğretici olan birçok uygulamaya sahiptir.


Sorununuz Python'u ilginç bir şey yapmak için nasıl kullanacağınızı çözemiyorsanız:

1) Python'un Başlangıcı: Acemilerden Profesyonellere ilginç şeyler geliyor: GUI'ler, kendi dosya paylaşım uygulamanızı yazıyorlar, vb. Hetland'ın stilini de seviyorum.

2) O'Reilly kitaplarından bahsettiniz, ancak Programlama Python neredeyse tamamen sözdizimi yerine uygulamalarla ilgileniyor. Yaratıcı meyve sularının akmasını sağlayacak birçok ilginç uygulamaya sahiptir. Bu çok büyük bir kitap (bence ~ 1500 sayfa) ve 4e tamamen Python 3'e odaklandı, ancak kesinlikle insanların Python'u nasıl kullandıklarına dikkatinizi çekiyor.


S. Lott sitesine ref için +1 ... Bunu daha önce hiç görmedim.
Gerrat

4

Tavsiye edebileceğim iki Python kitabı var ve bunlardan biri @MikeRand tarafından zaten belirtildi:

  • Python 3'e Dalış bir zorunluluktur ve bazı daha ileri konu başlıklarını içeren bir kitaptır.
  • Python'un programlanması IMHO, çok gelişmiş Python konularına geçmek için doğru kitap. Ayrıca (G) Kullanıcı Arabirimleri, sistem uygulamaları, web programlama vb. Gibi birçok alanı kapsar.

Her iki kitabın da en son sürümlerinin Python 3'ü kapsadığını unutmayın. Python'un daha eski bir sürümüyle çalışıyorsanız, kitapların daha eski bir sürümünü arayın. FTR, alternatif bir seçenek Yazılım Tasarımı için Python'dur (eski bir Bilgisayar Bilimcisi Gibi Nasıl Düşünür: @ oscar-mederos'un bahsettiği Python ile öğrenme) ancak içeriğinin çoğu da tanıtım amaçlıdır (ve bu anlamda bunun yerine Python'a Dalış'ı tavsiye ederim). ).


3

En etkili yol, kodunuzun deneyimli bir danışman tarafından düzenli olarak incelenmesini sağlamak ve önerilerini uygulamaktır. Bu, üniversite diplomasının en büyük avantajlarından biridir, ancak mutlaka bunun kadar resmi olması gerekmez. Kendimi ileri bir programcı olarak görüyorum, ancak kodlamadan önce büyük tasarım kararlarını bir meslektaşla tartışmak ve daha sonra bitmiş ürünü gözden geçirmek için hala koridorda yürüdüm.


0

Bahsedilen kitapların bazılarına ek olarak (özellikle Bilgisayar Bilimcisi Gibi Düşünmek ), ActiveState'in Python Tarifleri sitesini ziyaret ediniz. Koda bazı şeyler olduğunu çıkarları, göz okuyun ve ardından anlamaya Eğer tarifi içinde ne o farklılık sorunu yaklaşıp nasıl olurdu.


-1

Bu oldukça garip bir öneri, ancak benim bulunduğum yerde olmamın yolu soru sormak ve başkalarının soru sormasını izlemek ve cevapları okumak. Yani, Stack Overflow Python etiketli soruları gezen ya düzenli hale (benim durumumda benzeri) #python freenode.


-3

Warren ve Carter Sande tarafından "Gençler ve Diğer Yeni Başlayanlar İçin Bilgisayar Programcılığı" adlı kitabı deneyin. Python Scripting'i nasıl öğrendiğim veya Anthony Briggs'in "Merhaba! Python" adlı kitabını da duydum.

Programlarınızı işlevler, yorumlar ve nasıl aktığını gösteren bir tür yapıyla organize etmeye odaklanın. Unutma: Bir Program sadece bilgisayarın izleyeceği talimatlar bütünüdür. Okumayı ve anlamayı kolaylaştırın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.