ฉันรู้สึกติดอยู่ในใจกลางของงูหลาม, วิธีการเริ่มต้นที่ผ่านมา [ปิด]


22

ฉันขอโทษจริง ๆ ถ้าสิ่งนี้ไม่เป็นไปตามกฎของ SO แต่ฉันต้องการความช่วยเหลือเล็กน้อยฉันยังคงจำแนกตัวเองว่าเป็นผู้เริ่มต้นใน python แต่ฉันได้เขียนโปรแกรมที่ใช้งานไม่ได้จริง ๆ และเจ้านายของฉันใช้มาก

ฉันรู้ว่าฉันยังเป็นมือใหม่เพราะสิ่งที่เรียบง่ายยังทำให้ฉันงง แต่หนังสือทุกเล่มที่ฉันอ่านสำหรับผู้เริ่มต้นพูดตรงๆแค่ทำตามสิ่งที่ฉันรู้อยู่แล้ว แต่หนังสือ 'ขั้นสูง' ทุกเล่มไม่อนุญาตให้ฉันเรียนรู้จริง ๆ และฉันไม่เคยเข้าใจเลยว่าทำไมพวกเขาจึงสร้างฟังก์ชั่น 'พูด' หรือ 'พูด' ดังนั้นคำถามของฉัน ...

มีคำแนะนำใด ๆ เกี่ยวกับหนังสือหรือสิ่งใดที่ผลักดันฉันออกจากขั้นตอนนี้ฉันใช้หัวก่อนและโดยปกติแล้วพวกเขาจะดีจริงๆ แต่ปัญหาของฉันคือพวกเขาให้ฉันกลับมาติดตามอีกครั้งเพื่อไปข้างหน้าอีกครั้ง มันสับสนใน Python โดยทั่วไปฉันคิดว่าฉันต้องสร้างโปรแกรมในขณะที่ทำตามมาอีกครั้งฉันชอบสไตล์ของ HeadFirst แต่ฉันต้องการบางอย่างที่จะไม่ทำให้ฉันต้องจำสิ่งหนึ่งที่จะลืมมัน ...

สำหรับบันทึกฉันได้ตรวจสอบหนังสือของ O'Reilly แล้ว


7
สำหรับทุกแนวคิดเริ่มต้นให้เขียนโปรแกรมเล็ก ๆ สองสามตัวจนกว่าคุณจะเข้าใจ เมื่อคุณรู้สึกสะดวกสบายให้ทำสิ่งเดียวกันนี้ให้มากขึ้นเรื่อย ๆ จนกว่าคุณจะได้สิ่งที่ทันสมัย เพียงแค่อ่านโดยไม่ต้องฝึกฝนและการเข้ารหัสจะไม่ช่วยอะไรคุณมากนัก

6
คุณอ่านวิธีคิดเหมือนนักวิทยาศาสตร์คอมพิวเตอร์หรือไม่?
Oscar Mederos

คุณได้ติดตามdocs.python.org/tutorial/index.htmlบทแนะนำแล้ว ? คุณมีลักษณะเฉพาะที่ทำให้คุณสับสนหรือไม่? หากคุณสามารถอธิบายให้พวกเขาด้วยตัวอย่างรหัสมันจะดียิ่งขึ้น
juanchopanza

เจ้านายไม่ต้องการโปรแกรมขนาดใหญ่ที่เขียนด้วย Python ด้วยหรือไม่ คุณต้องการประสบการณ์ ...

2
ทำลองและถามคำถามเมื่อคุณไม่เข้าใจคนที่นี่จะช่วยคุณได้
monkut

คำตอบ:


23

หยุดอ่านหนังสือ

ไปเขียนโค้ดโดยใช้เวลาว่างจากการอ่าน การปฏิบัติ ไตร่ตรอง. ประสบปัญหาจริงในรหัสจริงที่คุณเขียน

จากนั้นคุณจะมีคำถามเพียงพอที่หนังสือขั้นสูงสามารถตอบได้ ตอนนี้คุณไม่มีคำถามเหล่านี้และคำตอบในหนังสือไม่สมเหตุสมผลสำหรับคุณ

นี่เหมือนกับการเรียนรู้ภาษาต่างประเทศหรือเรียนรู้วิธีการว่ายน้ำ: หนังสือเพียงอย่างเดียวไม่สามารถช่วยได้ คุณต้องฝึกฝนให้มากแล้วสมองของคุณจะ 'เข้าใจ'


19

FWIW วิธีการที่ผมได้เรียนรู้จริงๆหลามคือการเขียนโปรแกรมประยุกต์ที่ไม่น่ารำคาญสำหรับตัวเอง จริงๆแล้วมันเป็นการเขียนซ้ำของแอพพลิเคชั่นตัวเดิมที่ฉันเคยสร้างขึ้นเพื่อเรียนรู้ C (และ C ++ ในภายหลัง) ดังนั้นฉันจึงคุ้นเคยกับการประมวลผลที่ต้องทำ ในระหว่างการเขียนแต่ละครั้งฉันพยายามใช้ประโยชน์จากคุณสมบัติพิเศษใด ๆ ที่นำเสนอโดยภาษาเฉพาะที่ใช้หรือว่าฉันแค่อยากลอง

เป็นโบนัสเมื่อคุณทำเสร็จหรืออย่างน้อยก็มีเวอร์ชั่นที่ใช้งานได้จริงคุณจะมีสิ่งที่มีประโยชน์จริง ๆ ไม่ใช่แบบฝึกหัดการเขียนโปรแกรมที่ไม่มีค่าสำหรับตัวเอง คุณสามารถย้อนกลับไปในภายหลังและเปลี่ยนโปรแกรมหลังจากเรียนรู้วิธีการที่ดีกว่าในการทำสิ่งต่าง ๆ ในภาษา

วิธีหนึ่งที่มีประโยชน์มากในการพัฒนาภาษาการเขียนโปรแกรมให้ดีขึ้นคือการอ่านโปรแกรมอื่นจำนวนมาก วิธีหนึ่งที่ดีในการทำเช่นนี้คือการใช้ Google ดังที่อธิบายไว้ในคำตอบ StackedOverflow นี้ นี่เป็นแหล่งข้อมูลที่ยอดเยี่ยมและคุณมักจะอ่านโค้ด "ความแข็งแกร่งทางอุตสาหกรรม" ซึ่งเขียนโดยโปรแกรมเมอร์มืออาชีพและใช้ในแอปพลิเคชันในชีวิตจริงอื่น ๆ

ปรับปรุง:

เนื่องจากการค้นหารหัสของ Google ถูกยกเลิกในวันที่ 15 มกราคม 2012 นอกเหนือจากการคืนค่าการค้นหาปกติของ Google แล้วยังมีบางสิ่งที่เรียกว่าการเก็บข้อมูลโค้ดที่มีแนวโน้ม มีการพูดถึงแหล่งข้อมูลอื่น ๆ ในการตอบคำถามนี้ (ปิด) คำถามแทนการค้นหารหัสของ Google .


5
เน้นการทำเรื่องไร้สาระ หากต้องการเรียนรู้วิธีการทำสิ่งที่ยากลองทำสิ่งที่ยาก
ไบรอัน Oakley

5

เพียงแค่โหยหาที่แนวคิดง่าย ๆ ทำให้โปรแกรมเล็ก ๆ น้อย ๆ ห่อหุ้มแนวคิดของพวกเขา ณ จุดหนึ่งคุณจะพบกับเนินเขาแห่งความเข้าใจและสิ่งใหม่ ๆ จะเข้าท่ากับคุณมากขึ้น ฉันยังเก็บไดเรกทอรีชื่อ Python snippets ฉันคิดว่ามันมีประโยชน์เป็นจุดเริ่มต้นในแนวคิดบางอย่าง

อีกหนึ่งเคล็ดลับที่ฉันพบว่ามีค่าคือการอ่านรหัสประชาชนอื่น ๆ และแสดงความคิดเห็นโดยสรุปสิ่งที่แต่ละบรรทัดและส่วนทำ ถ้าฉันไม่รู้ก็ถึงเวลาไปที่ Google วิธีนี้ฉันจะได้เห็นการทำงานของ Python และฉันสามารถแยกมันออกเป็นส่วน ๆ เรียบร้อย

แหล่งที่อุดมไปด้วยหนึ่งสำหรับรหัสคือแหล่ง Python เอง


5

หากคุณไม่แน่ใจเกี่ยวกับไลบรารี Python พื้นฐานหรือการออกแบบเชิงวัตถุ (เนื่องจากคุณพูดถึงไม่ทราบว่าเหตุใดจึงใช้ฟังก์ชั่น "กล่าวว่า" หรือ "กล่าวว่า"):

  1. การสร้างทักษะในการออกแบบเชิงวัตถุจริงๆช่วยให้คุณคิดผ่านการออกแบบเชิงวัตถุ

  2. เว็บไซต์อื่น ๆ ของ S.Lott คือBuilding Skills in Pythonอาจเป็นวิธีที่ดีสำหรับคุณในการขยายทักษะ Python ของคุณนอกเหนือจากพื้นฐาน มันมีแอพพลิเคชั่นมากมายที่เรียบง่ายกว่าหนังสือตามรายการด้านล่าง แต่ก็ยังสนุกและให้คำแนะนำ


หากปัญหาของคุณคือคุณไม่สามารถหาวิธีใช้ Python เพื่อทำสิ่งที่น่าสนใจ:

1) Beginner Python: จากสามเณรสู่มืออาชีพจะได้รับสิ่งที่น่าสนใจ: GUI, การเขียนแอพแชร์ไฟล์ของคุณเป็นต้นฉันชอบสไตล์ของ Hetland ด้วย

2) คุณพูดถึงหนังสือ O'Reilly แต่การเขียนโปรแกรม Pythonเกี่ยวข้องกับแอปพลิเคชันเกือบทั้งหมดแทนที่จะเป็นไวยากรณ์ มันมีแอพพลิเคชั่นที่น่าสนใจมากมายที่จะทำให้น้ำผลไม้สร้างสรรค์ของคุณลื่นไหล มันเป็นหนังสือเล่มใหญ่ (ประมาณ 1,500 หน้าฉันคิดว่า) และ 4e มุ่งเน้นไปที่ Python 3 ทั้งหมด แต่จะเปิดตาของคุณอย่างชัดเจนว่าผู้คนใช้ Python อย่างไร


+1 สำหรับการอ้างอิงไปยังไซต์ S. Lott ... ฉันไม่เคยเห็นมาก่อน
Gerrat

4

มีหนังสือ Python สองเล่มที่ฉันอยากจะแนะนำและหนึ่งในนั้นก็ถูกกล่าวถึงโดย @MikeRand:

  • Dive Into Python 3เป็นหนังสือที่ครอบคลุมตั้งแต่เกริ่นนำและหัวข้อขั้นสูง
  • การเขียนโปรแกรม Pythonเป็น IMHO หนังสือที่เหมาะสมสำหรับการย้ายเข้าสู่หัวข้อ Python ขั้นสูงมาก นอกจากนี้ยังครอบคลุมหลายพื้นที่เช่น (G) UIs แอปพลิเคชันระบบการเขียนโปรแกรมเว็บเป็นต้น

โปรดทราบว่าหนังสือทั้งสองเล่มเล่มล่าสุดครอบคลุม Python 3 หากคุณทำงานกับ Python เวอร์ชันที่เก่ากว่าให้ค้นหาหนังสือรุ่นก่อนหน้า FTR ทางเลือกอื่นคือPython สำหรับการออกแบบซอฟต์แวร์ (อดีต How to Think Like a Computer Scientist: การเรียนรู้กับ Python ที่ถูกกล่าวถึงโดย oscar-mederos) แต่เนื้อหาส่วนใหญ่ก็เป็นเกริ่นนำ (และในแง่นี้ )


3

วิธีที่มีประสิทธิภาพมากที่สุดคือการให้โค้ดของคุณได้รับการตรวจสอบอย่างสม่ำเสมอโดยที่ปรึกษาที่มีประสบการณ์และใช้คำแนะนำของเขา นี่เป็นหนึ่งในผลประโยชน์ที่ใหญ่ที่สุดของการเรียนในระดับมหาวิทยาลัย แต่ไม่จำเป็นต้องเป็นทางการเท่าที่ควร ฉันคิดว่าตัวเองเป็นโปรแกรมเมอร์ขั้นสูง แต่ฉันยังคงเดินลงไปที่ห้องโถงเพื่อหารือเกี่ยวกับการตัดสินใจการออกแบบที่สำคัญกับเพื่อนก่อนที่จะเขียนโค้ดและได้รับการตรวจสอบผลิตภัณฑ์สำเร็จรูปหลังจากนั้น


0

นอกจากหนังสือบางเล่มที่กล่าวถึง (โดยเฉพาะวิธีคิดเหมือนนักวิทยาศาสตร์คอมพิวเตอร์ ) ให้ชำระเงินไซต์Python Recipesของ ActiveState อ่านสิ่งที่คุณสนใจดูที่รหัสแล้วหาวิธีที่คุณจะเข้าหาปัญหาและวิธีการที่แตกต่างจากสิ่งที่อยู่ในสูตร


-1

นี่เป็นข้อเสนอแนะที่แปลกแปลก ๆ แต่วิธีที่ฉันจะเป็นที่ที่ฉันอยู่ก็คือการถามคำถามและดูคนอื่นถามคำถามและอ่านคำตอบ ดังนั้นการสืบค้นคำถามที่ติดแท็ก Python ของ Stack Overflow หรือ (เช่นในกรณีของฉัน) กลายเป็นเรื่องปกติใน#pythonใน freenode


-3

ลองหนังสือ "Hello World! การเขียนโปรแกรมคอมพิวเตอร์สำหรับวัยรุ่นและผู้เริ่มต้นคนอื่น ๆ " โดย Warren and Carter Sande เป็นวิธีที่ฉันเรียนรู้ Python Scripting หรือฉันได้ยิน "Hello! Python" โดย Anthony Briggs ก็เป็นหนังสือที่ยอดเยี่ยม

มุ่งเน้นการจัดระเบียบโปรแกรมของคุณด้วยฟังก์ชั่นความคิดเห็นและโครงสร้างบางอย่างให้เป็นไปตามลักษณะการไหล อย่าลืม: โปรแกรมเป็นเพียงชุดคำสั่งที่คอมพิวเตอร์ใช้ ทำให้อ่านและเข้าใจได้ง่าย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.