คำถามติดแท็ก python

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

5
วัตถุประสงค์ของการ "คืนตัวเอง" จากวิธีการเรียน?
ฉันเจอสิ่งนี้ในโครงการโอเพ่นซอร์ส เมธอดที่แก้ไขแอ็ตทริบิวต์อินสแตนซ์ส่งคืนการอ้างอิงไปยังอินสแตนซ์ จุดประสงค์ของการสร้างนี้คืออะไร? class Foo(object): def __init__(self): self.myattr = 0 def bar(self): self.myattr += 1 return self

3
ทำไม Python ไม่ใช่ Lua [ปิด]
ทำไม Python ได้รับการสนับสนุนโดย google และได้รับความนิยมอย่างรวดเร็วและ Lua ไม่ได้ คุณรู้ไหมว่าทำไม Lua จึงอยู่ในพื้นหลัง
45 python  scripting  lua 

4
Python ให้อภัยเทียบกับการอนุญาตและการพิมพ์ดีดเป็ด
ใน Python ฉันมักจะได้ยินว่าเป็นการ "ให้อภัย" ดีกว่า (ยกเว้นการจับ) แทนที่จะดีกว่า "ขออนุญาต" (การตรวจสอบประเภท / เงื่อนไข) ในเรื่องที่เกี่ยวกับการบังคับใช้การพิมพ์เป็ดใน Python มันคือสิ่งนี้ try: x = foo.bar except AttributeError: pass else: do(x) ดีกว่าหรือแย่กว่า if hasattr(foo, "bar"): do(foo.bar) else: pass ในแง่ของประสิทธิภาพการอ่าน "pythonic" หรือปัจจัยสำคัญอื่น ๆ

7
ทำไมกรณีที่เลวร้ายที่สุดสำหรับฟังก์ชั่นนี้ O (n ^ 2)
ฉันพยายามสอนตัวเองถึงวิธีการคำนวณสัญกรณ์ BigO สำหรับฟังก์ชั่นโดยพลการ ฉันพบฟังก์ชันนี้ในตำราเรียน หนังสือยืนยันว่าฟังก์ชันนั้นเป็น O (n 2 ) มันให้คำอธิบายว่าทำไมถึงเป็นเช่นนี้ แต่ฉันพยายามที่จะติดตาม ฉันสงสัยว่าใครบางคนอาจแสดงคณิตศาสตร์ให้ฉันฟังได้ไหมว่าทำไมถึงเป็นเช่นนั้น ฉันเข้าใจว่ามันเป็นอะไรที่น้อยกว่า O (n 3 ) แต่ฉันไม่สามารถลงจอดบน O (n 2 ) ได้อย่างอิสระ สมมติว่าเราได้รับสามลำดับของตัวเลข A, B และ C เราจะสมมติว่าไม่มีลำดับแต่ละรายการมีค่าซ้ำกัน แต่อาจมีบางตัวเลขที่อยู่ในลำดับที่สองหรือสาม ปัญหาความไม่ลงรอยกันชุดสามทางคือการตรวจสอบว่าจุดตัดของทั้งสามลำดับนั้นว่างเปล่าหรือไม่นั่นคือไม่มีองค์ประกอบ x เช่น x x A, x ∈ B, และ x ∈ C อนึ่งนี่ไม่ใช่ปัญหาการบ้านสำหรับฉัน - เรือลำนั้นแล่นไปเมื่อหลายปีก่อน) ฉันแค่พยายามฉลาดขึ้น def disjoint(A, B, …
44 python  big-o 

7
การเขียนโปรแกรมฟังก์ชั่นการทำงานจำนวนเล็กน้อยสามารถเข้าใจได้โดยคนที่ไม่ใช่ FP หรือไม่ [ปิด]
กรณี : ฉันทำงานที่ บริษัท เขียนแอปพลิเคชันใน Python ที่จัดการข้อมูลจำนวนมากในอาร์เรย์ ฉันเป็นผู้พัฒนาโปรแกรมนี้เพียงคนเดียวในขณะนี้ แต่อาจมีการใช้ / แก้ไข / เพิ่มเติมในอนาคต (1-3 ปี) โดยโปรแกรมเมอร์คนอื่น ๆ ในขณะนี้ที่ฉันไม่รู้จัก ฉันอาจจะไม่ได้อยู่ที่นั่นเพื่อช่วยเหลือโดยตรง แต่อาจให้การสนับสนุนผ่านอีเมลหากฉันมีเวลา ดังนั้นในฐานะนักพัฒนาซอฟต์แวร์ที่ได้เรียนรู้การทำงานของโปรแกรม (Haskell) ฉันมักจะแก้ปัญหาเช่นกรองเช่นนี้: filtered = filter(lambda item: included(item.time, dur), measures) ส่วนที่เหลือของรหัสคือ OO เป็นเพียงกรณีเล็ก ๆ ที่ฉันต้องการแก้ปัญหาแบบนี้เพราะมันง่ายกว่าและสวยงามกว่าตามที่ฉันบอก คำถาม : วันนี้การเขียนโค้ดเป็นแบบนี้หรือไม่ นักพัฒนาซอฟต์แวร์ที่ไม่ได้เขียน / เรียนรู้ FP ตอบสนองต่อรหัสเช่นนี้อย่างไร มันอ่านได้หรือไม่ สามารถปรับเปลี่ยนได้? ฉันควรเขียนเอกสารเช่นอธิบายให้เด็กฟังว่าเส้นทำอะไร? # Filter out the …

12
การพัฒนา C # แยกออกจาก IDE ที่คุณใช้อย่างมีประสิทธิภาพหรือไม่
ฉันเป็นโปรแกรมเมอร์ Python ที่เรียนรู้ C # ที่พยายามหยุดกังวลและเพียงรัก C # ในสิ่งที่มันเป็นมากกว่าที่จะเปรียบเทียบกับ Python อย่างต่อเนื่อง ฉันจมอยู่ในจุดหนึ่ง: การขาดความชัดเจนเกี่ยวกับสิ่งที่กำหนดไว้ตามรายละเอียดในคำถาม Stack Overflowนี้ กล่าวโดยย่อ: ใน C # using fooไม่ได้บอกคุณว่าชื่อfooมีการใช้งานซึ่งคล้ายกับfrom foo import *ใน Python - รูปแบบที่ท้อแท้ภายในวัฒนธรรมการเข้ารหัสของ Python สำหรับการบอกเป็นนัยมากกว่าวิธีที่ชัดเจนfrom foo import barกว่า ฉันค่อนข้างจะประทับใจกับคำตอบของ Stack Overflow จากโปรแกรมเมอร์ C # ซึ่งในทางปฏิบัติแล้วการขาดความชัดเจนไม่สำคัญเพราะใน IDE ของคุณ (สมมุติว่า Visual Studio) คุณสามารถโฮเวอร์เหนือชื่อและได้รับการบอกเล่าจาก ระบบที่ชื่อมาจาก เช่น: ทีนี้ในทางทฤษฎีฉันรู้ว่านี่หมายถึงเมื่อคุณมองด้วยโปรแกรมแก้ไขข้อความคุณไม่สามารถบอกได้ว่าประเภทมาจากอะไรใน C # …

13
การจัดการการแบ่งบรรทัดของ Python แตกต่างจากอัฒภาคอัตโนมัติของ JavaScript อย่างไร
Javascript มีคุณสมบัติที่เรียกว่าการแทรกเครื่องหมายอัฒภาคอัตโนมัติโดยทั่วไปถ้าตัวแยกวิเคราะห์พบโทเค็นที่ไม่ถูกต้องและโทเค็นสุดท้ายก่อนหน้านั้นคือการแบ่งบรรทัดแล้วตัวแยกวิเคราะห์จะแทรกเซมิโคลอนที่การแยกบรรทัดเป็น สิ่งนี้จะช่วยให้คุณสามารถเขียนรหัสจาวาสคริปต์ทั้งหมดโดยไม่มีเครื่องหมายอัฒภาค แต่คุณต้องระวังกรณีขอบบางกรณีส่วนใหญ่หากคุณมีคำหลักที่ส่งคืนและค่าที่คุณต้องการคืนในบรรทัดใหม่ function test(){ // This will return 'undefined', because return is a valid statement // and "john" is a valid statement on its own. return "john" } เนื่องจาก gotchas เหล่านี้มีบทความมากมายที่มีชื่อเช่น 'การแทรกเครื่องหมายอัฒภาคอัตโนมัติคือความชั่วร้าย', 'ใช้เครื่องหมายอัฒภาคใน Javascript เสมอ' เป็นต้น แต่ใน Python ไม่มีใครใช้เครื่องหมายอัฒภาคเลยและก็มี gotchas เหมือนกันทุกประการ def test(): # This will return 'undefined', …

6
ฉันควรสร้างคลาสหรือไม่ถ้าฟังก์ชั่นของฉันซับซ้อนและมีตัวแปรมากมาย
คำถามนี้เป็นคำถามที่ค่อนข้างภาษาไม่เชื่อเรื่องพระเจ้า แต่ไม่สมบูรณ์ตั้งแต่โปรแกรมเชิงวัตถุ (OOP) อยู่ในที่แตกต่างกันเช่นJava , ซึ่งไม่ได้มีฟังก์ชั่นชั้นแรกมากกว่าที่เป็นอยู่ในหลาม กล่าวอีกนัยหนึ่งฉันรู้สึกผิดน้อยลงสำหรับการสร้างคลาสที่ไม่จำเป็นในภาษาเช่น Java แต่ฉันรู้สึกว่าอาจมีวิธีที่ดีกว่าในภาษาที่มีจำนวนต้นแบบน้อยลงเช่น Python โปรแกรมของฉันต้องทำการดำเนินการที่ค่อนข้างซับซ้อนหลายครั้ง การดำเนินการนั้นต้องใช้ "การบันทึกบัญชี" จำนวนมากต้องสร้างและลบไฟล์ชั่วคราวบางไฟล์ ฯลฯ นั่นเป็นเหตุผลที่มันยังต้องการเรียก "suboperations" อื่น ๆ อีกมากมาย - การใส่ทุกอย่างลงในวิธีการอันใหญ่โตนั้นไม่ได้ดีมากโมดุลอ่านได้ ฯลฯ ต่อไปนี้เป็นแนวทางที่อยู่ในใจของฉัน: 1. สร้างคลาสที่มีวิธีพับลิกเพียงวิธีเดียวเท่านั้นและรักษาสถานะภายในที่จำเป็นสำหรับการปฏิบัติการย่อยในตัวแปรอินสแตนซ์ มันจะมีลักษณะเช่นนี้: class Thing: def __init__(self, var1, var2): self.var1 = var1 self.var2 = var2 self.var3 = [] def the_public_method(self, param1, param2): self.var4 = param1 self.var5 …

3
ประสบการณ์การทำงานของ Python“ PEP-302 ใหม่นำเข้า hooks” [ปิด]
ฉันเป็นหนึ่งในนักพัฒนาของ Ruby (CRuby) เรากำลังทำงานกับการเปิดตัว Ruby 2.0 (วางแผนที่จะเปิดตัว 2012 / กุมภาพันธ์) Python มี"PEP302: hooks นำเข้าใหม่" (2003): PEP นี้เสนอให้เพิ่มชุดนำเข้า hooks ใหม่ที่เสนอการปรับแต่งที่ดีขึ้นของกลไกการนำเข้า Python ตรงกันข้ามกับตะขอนำเข้าปัจจุบันตะขอรูปแบบใหม่สามารถถูกแทรกลงในโครงร่างที่มีอยู่ได้เพื่อให้สามารถควบคุมได้ละเอียดยิ่งขึ้นว่าโมดูลถูกค้นพบได้อย่างไรและโหลดอย่างไร เรากำลังพิจารณาที่จะเปิดตัวฟีเจอร์ที่คล้ายกับ PEP302 ไปสู่ ​​Ruby 2.0 (CRuby 2.0) ฉันต้องการยื่นข้อเสนอที่สามารถชักชวน Matz ปัจจุบัน CRuby สามารถโหลดสคริปต์จากระบบไฟล์ในแบบมาตรฐานเท่านั้น หากคุณมีประสบการณ์หรือข้อพิจารณาเกี่ยวกับ PEP 302 โปรดแบ่งปัน ตัวอย่าง: มันเป็นสเป็คที่ยอดเยี่ยม ไม่จำเป็นต้องเปลี่ยน เกือบดี แต่มีปัญหานี้ ... ถ้าฉันสามารถย้อนกลับไปปี 2003 ได้ฉันจะเปลี่ยนสเป็คเป็น ...

3
ทำไมหลามจึงไม่มีฟังก์ชั่น“ เรียบ” สำหรับรายการ?
Erlang และ Ruby ทั้งสองมาพร้อมกับฟังก์ชั่นสำหรับอาร์เรย์ที่แบนราบ ดูเหมือนว่าเป็นเครื่องมือที่ง่ายและมีประโยชน์ในการเพิ่มภาษา เราสามารถทำได้: >>> mess = [[1, [2]], 3, [[[4, 5]], 6]] >>> mess.flatten() [1, 2, 3, 4, 5, 6] หรือแม้กระทั่ง: >>> import itertools >>> mess = [[1, [2]], 3, [[[4, 5]], 6]] >>> list(itertools.flatten(mess)) [1, 2, 3, 4, 5, 6] ใน Python ผู้ใช้จะต้องพบกับปัญหาในการเขียนฟังก์ชั่นเพื่อให้อาร์เรย์เรียบตั้งแต่เริ่มต้น เรื่องนี้ดูจะโง่สำหรับฉัน มันเหมือนกับการต้องเขียนฟังก์ชั่นที่กำหนดเองเพื่อเชื่อมสองอาร์เรย์ ฉันได้ …

14
Python ใช้อย่างไรในโลกแห่งความเป็นจริง? [ปิด]
ฉันกำลังมองหางานเป็นโปรแกรมเมอร์ Python ฉันรู้ว่าพื้นฐานของภาษาและได้สร้างไม่กี่เกมกับมันโดยใช้pygame ฉันเริ่มทดลองกับDjangoด้วย อย่างไรก็ตามการดูที่ตลาดงานดูเหมือนว่างาน Python จะไม่เกี่ยวข้องกับเว็บมากนัก ในด้านสก์ท็อปของสิ่งที่มันไม่ได้ดูเหมือนหลาย บริษัท มากใช้ห้องสมุด GUI ที่นิยมเช่นPyQtหรือwxPython บริษัท ต่างๆใช้ Python อย่างไร พื้นที่ใดที่เราควรมุ่งเน้นไปที่การจ้างงานในฐานะโปรแกรมเมอร์ Python?
39 python 

5
Java dev learning Python: ฉันต้องใช้แนวคิดอะไรในการห่อหัวของฉัน?
ความเป็นมา: ฉันทำงานไม่กี่บทช่วยสอนและเขียนโครงการขนาดเล็ก ทั้งหมดเป็นไปอย่างดีพอโดยใช้ Google และStackOverflow หลายครั้งในช่วงไม่กี่วันที่ผ่านมาฉันพบว่าตัวเองสงสัยว่า - ฉันรู้สึกว่าฉันยังคงคิดถึง Java อยู่เมื่อฉันเขียนเป็น Python คำถามนี้ที่ StackOverflow เต็มไปด้วยเคล็ดลับเกี่ยวกับแหล่งข้อมูลที่จะอ่านเพื่อการเรียนรู้ของ Python แต่ฉันยังรู้สึกว่าฉันเป็นนักพัฒนา Java ที่มีพจนานุกรม สิ่งที่ฉันต้องการทำจริงๆคือ refactor หัวของฉันให้สามารถเขียน Pythonic Python แทน Java ที่ปลอมตัวเป็น Python โดยไม่สูญเสียทักษะ Java ของฉัน ดังนั้นปมคำถามของฉันคือ: แนวคิดอะไรที่ Java dev ต้องการเรียนรู้ที่จะคิด Pythonic จริงๆ? รวมถึงสิ่งใดก็ตามที่จำเป็นต้องเรียนรู้ หมายเหตุ: ฉันกำลังถามเกี่ยวกับแนวคิดภาษาไม่ใช่เกี่ยวกับไวยากรณ์ภาษา

3
"วิธีการเรียน" และ "วิธีการแบบอินสแตนซ์" ใน Python คืออะไร
มีการพูดคุยกันในการแชทเกี่ยวกับคำถาม (คำถามนั้นไม่เกี่ยวข้องกับคำถามนี้) ซึ่งได้เปิดเผยว่าฉันอาจไม่รู้จัก Python แต่อย่างใด ในใจของฉันถึงแม้ว่าคำศัพท์จะแตกต่างกันไปในแต่ละภาษา [ฟรี] ฟังก์ชั่น วิธีการคงที่ / ฟังก์ชั่นสมาชิกคงที่ วิธีการไม่คงที่ / ฟังก์ชั่นสมาชิกคงที่ เห็นได้ชัดว่าใน Python มีฟังก์ชั่นอีกประเภทหนึ่งที่ไม่เหมาะกับหมวดหมู่ข้างต้นซึ่งเป็นวิธีการหนึ่ง แต่ "ไม่รู้จักคลาส" "วิธีการเรียน" และ "วิธีการเช่น" ใน Python คืออะไร?

3
ความแตกต่างระหว่าง REPL และเชลล์แบบโต้ตอบ
Noob คำถาม ฉันไม่สามารถบอกความแตกต่างระหว่างREPLและเชลล์เชิงโต้ตอบได้โดยการอ่านคำจำกัดความบน Wikipedia Wiki ตั้งข้อสังเกตว่า REPL เป็นเชลล์แบบโต้ตอบชนิดหนึ่งโดยเฉพาะ มันเป็นเซตย่อยที่เหมาะสมหรือไม่? คำจำกัดความของ Wiki ดูเหมือนว่าจะ จำกัด คำศัพท์ REPL เป็นภาษาที่เหมือนเสียงกระเพื่อมในขณะที่คุณสมบัติที่ระบุไม่ได้มีคุณสมบัติที่แตกต่างกันจริงๆ โดยเฉพาะอย่างยิ่งมันถูกต้องหรือไม่ที่จะโทรหา IPython a REPL?

9
อัลกอริทึมสำคัญกว่าภาษาโปรแกรมหรือไม่
ในระหว่างการประกวดGoogle Code Jamปัจจุบัน (2013) มีปัญหาที่เกิดขึ้นกับคน C ++ และ Java มากกว่า 200 บรรทัดเมื่อเทียบกับคน Python ที่แก้ไขปัญหาเดียวกันโดยใช้รหัส 40 บรรทัดเท่านั้น Python ไม่สามารถเทียบเคียงได้โดยตรงกับ C ++ และ Java แต่ความแตกต่างของคำฟุ่มเฟื่อยที่ฉันคิดว่าอาจมีอิทธิพลต่อประสิทธิภาพของอัลกอริทึม การรู้อัลกอริทึมที่ถูกต้องสำคัญอย่างไรเมื่อเทียบกับการเลือกภาษา สามารถใช้โปรแกรม Python ที่ใช้งานได้ดีใน C ++ หรือ Java ในวิธีที่ดีกว่า (ใช้อัลกอริทึมเดียวกัน) และสิ่งนี้มีความสัมพันธ์กับการใช้คำฟุ่มเฟื่อยตามธรรมชาติของภาษาโปรแกรมบางภาษาหรือไม่?
35 java  c++  algorithms  python 

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