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

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

9
ละเว้นการสืบทอดในภาษาการเขียนโปรแกรม
ฉันกำลังพัฒนาภาษาการเขียนโปรแกรมของตัวเอง เป็นภาษาที่ใช้งานทั่วไป (คิดว่า Python สำหรับพิมพ์บนเดสก์ท็อปคือint x = 1;) ไม่ได้มีไว้สำหรับคลาวด์ คุณคิดว่ามันโอเคที่จะไม่ยอมให้มีการสืบทอดหรือมิกซ์อิน? (เนื่องจากผู้ใช้อย่างน้อยจะมีส่วนต่อประสาน) ตัวอย่างเช่น: Google Goภาษาของระบบที่สร้างความตกใจให้แก่ชุมชนการเขียนโปรแกรมโดยไม่อนุญาตให้สืบทอด
10 python  google 

3
Python ทำงานอย่างไร
คำถามนี้อาจดูเหมือนโง่เล็กน้อย แต่ห่าอะไร ฉันเริ่มเรียนรู้ Python ฉันรู้ไวยากรณ์พื้นฐานเป็นต้น เมื่อฉันทำงานกับ HTML, PHP, ฯลฯ ฉันก็เขียนโค้ดวางไว้ในไฟล์. html หรือ. php และดับเบิลคลิกที่ไฟล์นี้ จากนั้นรหัสของฉันก็จะทำงาน ฉันสามารถทำงานกับฐานข้อมูลและสิ่งอื่น ๆ ได้ - มันง่ายมาก แต่ Python ทำงานอย่างไร ฉันทำงานใน Eclipse หรือ Python command line และฉันสามารถเรียกใช้รหัสนี้ได้ แต่ถ้าฉันต้องการสร้างเว็บไซต์ด้วย Python ล่ะ ฉันไม่คิดว่ามันเป็นเหมือนที่ฉันวางไฟล์. py ไว้บนเซิร์ฟเวอร์ดังนั้นฉันต้องทำอย่างไร ฉันเข้าใจว่าฉันต้องติดตั้ง Python บนเว็บเซิร์ฟเวอร์ของฉันผ่านทางบรรทัดคำสั่งเซิร์ฟเวอร์ (ฉันไม่เคยใช้ แต่ฉันจะพบบทเรียนบางอย่างที่ฉันต้องการ) แต่มีอะไรต่อไป ฉันจะรวมความรู้ Python ของฉันกับ HTML, CSS, PHP และอื่น ๆ …

8
จะยุติการพึ่งพาของฉันบน. NET ได้อย่างไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ฉันพัฒนาแอพพลิเคชั่น Windows GUI มาหลายปีแล้วและกระโดดเข้าสู่. NET ในต้นปี 2548 .NET เป็นแพลตฟอร์มที่น่าทึ่งอย่างไม่ต้องสงสัยและฉันยังคงใช้มันอยู่ แต่ด้วยเทคโนโลยีที่หลากหลายฉันไม่ต้องการอยู่ต่อ ทุ่มเทให้กับค่ายนี้ ฉันต้องการเรียนรู้ภาษาใหม่ที่ฉันสามารถพัฒนาแอปพลิเคชัน GUI ฉันกำลังเรียนรู้ Ruby และเพิ่งติดตั้ง Python ฉันอ่านเกี่ยวกับ WxRuby ซึ่งเป็นกรอบสำหรับการพัฒนาแอพ Windows GUI ในทับทิม ฉันกำลังค้นหาเฟรมเวิร์กที่คล้ายกันสำหรับ Python นอกเหนือจากนั้นฉันต้องการทราบว่าภาษาใดเหมาะสมกว่าสำหรับแอป GUI ระดับการผลิต ฉันสงสัยว่า Ruby ให้ความสำคัญกับแพลตฟอร์มของเว็บมากกว่าเนื่องจาก Ruby on Rails ฉันรู้ว่าฉันอาจไม่ได้รับคลาส. NET เหล่านั้นและ Visual Studio …
10 python  ruby 

1
การทดสอบหน่วยสำหรับท่อส่งข้อมูลที่ประกอบด้วยฟังก์ชันหนึ่งบรรทัด
การอ่านบทนำเชิงปฏิบัติของแมรี่โรสคุกเกี่ยวกับการเขียนโปรแกรมเชิงฟังก์ชั่นเธอเป็นตัวอย่างของรูปแบบการต่อต้าน def format_bands(bands): for band in bands: band['country'] = 'Canada' band['name'] = band['name'].replace('.', '') band['name'] = band['name'].title() ตั้งแต่ ฟังก์ชั่นทำมากกว่าหนึ่งอย่าง ชื่อไม่ได้อธิบาย มันมีผลข้างเคียง ในฐานะที่เป็นโซลูชั่นที่นำเสนอเธอแนะนำให้ใช้ฟังก์ชันที่ไม่ระบุชื่อไปป์ไลน์ pipeline_each(bands, [call(lambda x: 'Canada', 'country'), call(lambda x: x.replace('.', ''), 'name'), call(str.title, 'name')]) อย่างไรก็ตามเรื่องนี้ดูเหมือนว่าฉันจะมีข้อเสียของการเป็นที่ทดสอบได้น้อยลง; อย่างน้อย format_bands อาจมีการทดสอบหน่วยเพื่อตรวจสอบว่ามันเป็นสิ่งที่มันหมายถึง แต่วิธีการทดสอบท่อ? หรือความคิดที่ว่าฟังก์ชั่นนิรนามนั้นอธิบายตนเองได้โดยที่พวกเขาไม่จำเป็นต้องทำการทดสอบ? แอปพลิเคชันที่ใช้งานจริงของฉันสำหรับสิ่งนี้กำลังพยายามทำให้pandasโค้ดของฉันทำงานได้มากกว่า ฉันมักจะมีขั้นตอนในการ "munging" def munge_data(df) df['name'] = df['name'].str.lower() df = …

3
บางครั้งฟังก์ชั่นส่วนตัวเป็นเพียงฟังก์ชันหน่วยภายในที่ยังไม่ถูกแยกออกมา ดังนั้นทำไมไม่ทดสอบพวกเขา
บางครั้งฟังก์ชั่นส่วนตัวของโมดูลหรือคลาสนั้นเป็นฟังก์ชั่นภายในที่ยังไม่ถูกแยกออกมาซึ่งอาจสมควรได้รับการทดสอบของตัวเอง ดังนั้นทำไมไม่ทดสอบพวกเขา เราจะเขียนการทดสอบสำหรับพวกเขาในภายหลังหาก / เมื่อพวกเขากำลังสกัด เหตุใดจึงไม่เขียนการทดสอบตอนนี้เมื่อพวกเขายังคงเป็นส่วนหนึ่งของไฟล์เดียวกัน เพื่อสาธิต: module_aครั้งแรกที่ผมเขียน ตอนนี้ฉันต้องการเขียนแบบทดสอบ _private_funcผมอยากจะทดสอบฟังก์ชั่น 'ส่วนตัว' ฉันไม่เข้าใจว่าทำไมฉันถึงไม่เขียนการทดสอบถ้าในภายหลังฉันอาจปรับโครงสร้างให้กับโมดูลภายในของตัวเองแล้วเขียนการทดสอบ สมมติว่าฉันมีโมดูลที่มีฟังก์ชั่นต่อไปนี้ (มันอาจจะเป็นคลาส): def public_func(a): b = _do_stuff(a) return _do_more_stuff(b) _do_stuffและ_do_more_stuffเป็นฟังก์ชั่น 'ส่วนตัว' ของโมดูล ฉันเข้าใจความคิดที่ว่าเราควรทดสอบส่วนต่อประสานสาธารณะเท่านั้นไม่ใช่รายละเอียดการใช้งาน อย่างไรก็ตามนี่คือสิ่งที่: _do_stuffและ_do_more_stuffมีฟังก์ชั่นส่วนใหญ่ของโมดูล แต่ละคนอาจเป็นฟังก์ชั่นสาธารณะของโมดูล 'ภายใน' ที่แตกต่างกัน แต่พวกเขายังไม่พัฒนาและมีขนาดใหญ่พอที่จะแยกไปยังไฟล์แยก ดังนั้นการทดสอบฟังก์ชั่นเหล่านี้จึงถูกต้องเพราะมันเป็นหน่วยงานที่สำคัญ หากพวกเขาอยู่ในโมดูลที่แตกต่างกันเป็นฟังก์ชั่นสาธารณะเราจะได้ทดสอบพวกเขา ดังนั้นทำไมไม่ทดสอบพวกเขาเมื่อพวกเขายังไม่ได้ (หรือเคย) แยกเป็นไฟล์อื่น?
9 python  testing 

4
ผู้ตกแต่งชั้นเรียนใน Python: กรณีใช้งานจริง
ฉันกำลังมองหากรณีการใช้งานที่เป็นประโยชน์และไม่ใช้การสังเคราะห์ของผู้ตกแต่งคลาส Python จนถึงตอนนี้สิ่งเดียวที่ทำให้ฉันรู้สึกได้คือการลงทะเบียนชั้นเรียนในระบบผู้เผยแพร่ - สมาชิกเช่นปลั๊กอินหรือกิจกรรมเช่น: @register class MyPlugin(Plugin): pass หรือ @recieves_notifications class Console: def print(self, text): ... กรณีที่มีเหตุผลอื่น ๆ ที่ฉันคิดว่าอาจถูกสร้างขึ้นจากการสืบทอด metaclasses หรือวิธีการตกแต่ง คุณช่วยแบ่งปันตัวอย่างที่ดี (หรือไม่ดี) ของการใช้เครื่องมือตกแต่งชั้นเรียนได้ไหม? ขอบคุณ!

4
Microservices และ shared library
เรากำลังออกแบบระบบโดยใช้ไมโครไซต์อิสระ (เชื่อมต่อผ่านบัส RabbitMq) รหัสจะ (สำหรับส่วนประกอบแรกอย่างน้อย) เขียนเป็น python (ทั้ง python2 และ python3) เรามีแอปพลิเคชั่นก้อนเดียวที่ใช้ตรรกะทางธุรกิจบางอย่างซึ่งเราต้องการ refactor เป็น microservices และขยาย คำถามหนึ่งที่ทำให้ฉันกังวลก็คือ: เป็นวิธีที่ดีที่สุดในการแบ่งปันรหัสระหว่างไมโครไซต์ต่างๆ เรามีฟังก์ชั่นผู้ช่วยทั่วไป (การประมวลผลข้อมูลการบันทึกการแยกวิเคราะห์การกำหนดค่า ฯลฯ ) ซึ่งจะต้องใช้โดยไมโครไซต์หลายรายการ Microservices จะพัฒนาเป็นโครงการแยกต่างหาก (git repositories) ห้องสมุดทั่วไปสามารถพัฒนาเป็นโครงการที่มีในตัวเองได้เช่นกัน ฉันจะแชร์ไลบรารีเหล่านี้ระหว่างไมโครไซต์ได้อย่างไร ฉันเห็นหลายวิธี: คัดลอกเวอร์ชันของไลบรารีที่จำเป็นสำหรับแต่ละ microservice และอัพเดตตามต้องการ ปล่อยไลบรารีทั่วไปไปยัง PyPi ภายในและแสดงรายการไลบรารีเหล่านั้นเป็นการอ้างอิงในข้อกำหนดของ microservice รวมที่เก็บไลบรารีเป็น submodule git ฉันต้องการอ่านเพิ่มเติมเกี่ยวกับแนวทางที่แนะนำวิธีปฏิบัติที่ดีที่สุดประสบการณ์ที่ผ่านมาก่อนที่จะตัดสินใจเลือกวิธีดำเนินการ คุณมีข้อเสนอแนะหรือลิงค์หรือไม่?

1
ดูเหมือนว่าการเข้าร่วมของ Python จะไม่ได้มุ่งเน้นไปที่รายการที่จะเข้าร่วม แต่บนสัญลักษณ์เมื่อเทียบกับ Ruby หรือ Smalltalk ด้วยเหตุผลด้านการออกแบบ
ฉันคิดว่าหนึ่งในหลักสำคัญของ OOP คือเรามีวัตถุซึ่งเป็นรายการที่เราสนใจในการจัดการและจากนั้นเราส่งข้อความถึงพวกเขา ดังนั้นมันอาจดูเป็นธรรมชาติที่ฉันมีของสะสมและฉันจำเป็นต้องใส่มันเข้าไปในสายเดียวเพื่อที่จะทำมัน: ["x", "o", "o"].join(" | ") # joining a tic-tac-toe row in Ruby (Smalltalk ทำเช่นเดียวกัน) " | "เป็นในทางที่บางคนคิดว่าการเป็นอาร์กิวเมนต์หนึ่งสัญลักษณ์ของวิธีการที่จะเข้าร่วมได้ อาจเป็น" "เช่นเดียวกันหากบอร์ดเกมนั้นเรียบง่ายขึ้น ดังนั้นองค์ประกอบการเข้าร่วม" | "ไม่ใช่สิ่งที่เราสนใจโดยเฉพาะ - มันไม่ใช่วัตถุหลักในโปรแกรมที่มีความสำคัญหรือความสำคัญเป็นพิเศษ ถ้า Python ใช้งาน " | ".join(["x", "o", "o"]) มันรู้สึกค่อนข้างแปลกที่เกือบจะรู้สึกเหมือนว่าเรากำลังส่งข้อความไปยังการโต้แย้งเพื่อบอกข้อโต้แย้งเกี่ยวกับบางสิ่ง Python อาจจะเป็นขั้นตอนมากกว่านี้ใช่ไหม เพื่อบอกให้สายการเข้าร่วมทำหน้าที่ให้เราบ้างไหม? เป็นการบันทึกการนำไปปฏิบัติเพื่อที่เราจะได้ไม่ต้องกำหนดjoinคลาสสำหรับคอลเลกชั่นแต่ละคลาสที่เรามี? แต่มันไม่เป็นความจริงเลยที่เราสามารถเขียนคลาสคอลเลกชันใด ๆ ก็ได้เช่นใน Ruby: module Enumerable def my_join(joiner) self.inject …

3
ทำไมไพ ธ อนจึงต้องการทั้งคอมไพเลอร์และล่าม
ฉันเข้าใจความจริงที่ว่า Java ต้องการทั้งคอมไพเลอร์และล่าม มันรวบรวมซอร์สโค้ดเป็น bytecode จากนั้นเครื่องเสมือน (บน Windows, Linux, Android ฯลฯ ) แปลว่า bytecode เป็นรหัสเครื่องสำหรับสถาปัตยกรรมปัจจุบัน แต่ทำไมไพ ธ อนจึงต้องการทั้งคอมไพเลอร์และล่าม เนื่องจาก Python ไม่ได้ขึ้นกับแพลตฟอร์มทำไมไม่ใช้แค่การตีความ? เท่าที่ฉันรู้คุณไม่สามารถรันโปรแกรม Python (เรียบเรียงเป็น bytecode) บนเครื่อง Windows หรือ Linux ใด ๆ โดยไม่มีการดัดแปลง หรือฉันผิด

4
เหตุใดจึงต้องใช้ฟังก์ชันว่าง
ฉันเริ่มเรียนรู้หลามและฉันสงสัยว่าทำไมฟังก์ชันว่างจึงจำเป็นต้องใช้ในภาษาการเขียนโปรแกรม เช่นในหลาม: def empty_func(): pass แม้ในเชลล์สคริปต์ฟังก์ชันว่างฟังก์ชันว่างมี ความเข้าใจและคำถามของฉัน: ทำไมภาษาการเขียนโปรแกรมจำเป็นต้องมีฟังก์ชั่นที่ว่างเปล่า? มันเป็นเพียงการเล่นกับภาษาโปรแกรมหรือไม่มีอะไรที่สำคัญจริงๆ? หากมีวัตถุประสงค์ใครสามารถอธิบายกรณีการใช้งานหรือให้ตัวอย่างจริงของการใช้ฟังก์ชันว่างเปล่าได้หรือไม่ หรือมีประเพณีของภาษาการเขียนโปรแกรมที่ช่วยให้ฟังก์ชั่นที่ว่างเปล่า? แก้ไข (สิ่งที่ฉันได้จากการอ่านคำตอบของคุณ): สำหรับขั้นตอนวิธีการร่างหรือฟังก์ชั่นบทคัดย่อ สำหรับการส่งแบบฟอร์มโดยไม่ต้องดำเนินการใด ๆ ตัวยึดสำหรับการดำเนินการบังคับบางอย่าง

9
มี OOP การเรียนรู้ที่แตกต่างกันในภาษาการเขียนโปรแกรมที่แตกต่างกันหรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันต้องการเรียนรู้ OOP ฉันรู้จัก Python และฉันรู้เรื่องเล็ก ๆ น้อย ๆ เกี่ยวกับ OOP แต่เมื่อฉันค้นหา "เรียนรู้ OOP" ในฟอรัมฉันเห็นชายคนหนึ่งพูดว่า "Python ใหม่มากนั่นคือสาเหตุที่คุณไม่สามารถเรียนรู้ OOP บน Python ได้คุณควรเรียนรู้ Java แล้วเข้าใจ OOP บน Java" จริงป้ะ? มีความเข้าใจที่แตกต่างกัน OOP ในภาษาการเขียนโปรแกรมที่แตกต่างกันหรือไม่? ชอบเรียนรู้เกี่ยวกับ Java, C #, C ++, Perl หรือ Python หรือไม่

1
การใช้ '{}' ภายในรูปแบบสตริงถือว่าเป็น Pythonic หรือไม่
ฉันเพิ่งรู้ว่าคุณสามารถเขียน '{}{}'.format(string_a, string_b) แทน '{0}{1}'.format(string_a, string_b) ใน Python เช่นคุณสามารถละเว้นตัวเลขสำหรับพารามิเตอร์รูปแบบสตริงเมื่อคุณต้องการสิ่งที่จะสล็อตในหนึ่งโดยหนึ่งในการสั่งซื้อ สิ่งนี้ถือว่าเป็น Pythonic หรือไม่ หมายเหตุ: "Pythonic" เป็นคำที่ใช้กันทั่วไปในหมู่ Python โปรแกรมเมอร์เพื่อหมายถึงรหัส Python ภายในวัฒนธรรม Python มีความเห็นพ้องที่ชัดเจนเกี่ยวกับคำถามสไตล์โดยเฉพาะอย่างยิ่งสำหรับคำถามที่เฉพาะเจาะจงเช่นนี้เนื่องจากปรัชญาการออกแบบที่ชัดเจนของภาษาที่ว่า "ควรมีอย่างใดอย่างหนึ่งและดีกว่าเพียงวิธีเดียวเท่านั้นที่จะทำได้" นี่คือคำพูดที่มาจาก "The Zen of Python" ซึ่งเป็นชุดของคำพังเพยที่จะกำหนดนิยามของ "Pythonic" และรวมอยู่ในทุก ๆ การแจกจ่ายของ Python (ที่บรรทัดคำสั่งใด ๆ ของ Python interpreter ให้ป้อนimport thisเพื่อดู)

2
การเรียนรู้ของเครื่องด้วยข้อมูลที่เป็นหมวดหมู่และต่อเนื่อง
คำถามนี้สามารถไปที่นี่หรืออาจดังนั้น ... สมมติว่าชุดข้อมูลการฝึกอบรมของคุณมีทั้งข้อมูลที่เป็นหมวดหมู่และต่อเนื่องเช่นการตั้งค่านี้: Animal, breed, sex, age, weight, blood_pressure, annual_cost cat, calico, M, 10, 15 , 100 , 100 cat, tabby, F, 5, 10 , 80 , 200 dog, beagle, M, 3, 30 , 90 , 200 dog, lab, F, 8, 75 , 80 , 100 และตัวแปรตามที่คาดการณ์ได้คือต้นทุนสัตวแพทย์ประจำปี ฉันสับสนเล็กน้อยเกี่ยวกับเทคนิคเฉพาะที่มีเพื่อจัดการกับชุดข้อมูลดังกล่าว วิธีการที่ใช้กันทั่วไปในการจัดการกับชุดข้อมูลที่มีการผสมผสานของข้อมูลต่อเนื่องและเด็ดขาดคืออะไร?

3
อะไรคือความท้าทายที่เกี่ยวข้องกับการพิมพ์ในการเขียนคอมไพเลอร์สำหรับภาษาที่พิมพ์แบบไดนามิก?
ในการพูดคุยครั้งนี้ Guido van Rossum กำลังพูดคุย (27:30) เกี่ยวกับความพยายามในการเขียนคอมไพเลอร์สำหรับรหัสไพ ธ อน กลับกลายเป็นว่ามันไม่ง่ายนักที่จะเขียนคอมไพเลอร์ที่รักษาคุณสมบัติการพิมพ์แบบไดนามิกที่ดีทั้งหมดและยังคงรักษาความถูกต้องทางความหมายของโปรแกรมของคุณเพื่อให้มันทำสิ่งเดียวกันจริง ๆ ไม่ว่าคุณจะทำอะไรแปลก ๆ เร็วกว่า อะไรคือความท้าทาย (ที่เป็นไปได้) ที่เกี่ยวข้องกับการพิมพ์ในการเขียนคอมไพเลอร์สำหรับภาษาที่พิมพ์แบบไดนามิกเช่น Python?

2
อะไรคือเหตุผลสำหรับผู้ประกอบการผลิตพลังงานของงูใหญ่ที่เชื่อมโยงกับด้านขวา?
ฉันกำลังเขียนโค้ดเพื่อแยกสตริงการแสดงออกทางคณิตศาสตร์และสังเกตว่าลำดับที่ตัวดำเนินการพลังงานถูกล่ามโซ่ถูกประเมินใน Python แตกต่างจากลำดับใน Excel จากhttp://docs.python.org/reference/expressions.html : "ดังนั้นในลำดับพลังงานและตัวดำเนินการ unaryhesized ตัวดำเนินการจะถูกประเมินจากขวาไปซ้าย (สิ่งนี้ไม่ได้ จำกัด ลำดับการประเมินสำหรับตัวถูกดำเนินการ): -1 * 2 ผลลัพธ์เป็น -1" * ซึ่งหมายความว่าใน Python: 2**2**3ถูกประเมินเป็น2**(2**3) = 2**8 = 256 ใน Excel มันทำงานในลักษณะอื่น ๆ : 2^2^3ถูกประเมินเป็น(2^2)^3 = 4^3 = 64 ตอนนี้ฉันต้องเลือกการดำเนินการสำหรับตัวแยกวิเคราะห์ของฉันเอง คำสั่งซื้อของ Excel นั้นง่ายต่อการติดตั้งเพราะมันจะสะท้อนลำดับการประเมินผลของการคูณ ฉันถามผู้คนรอบ ๆ สำนักงานว่าพวกเขารู้สึกอย่างไรกับการประเมิน2^2^3และได้รับคำตอบที่หลากหลาย มีใครรู้บ้างเกี่ยวกับเหตุผลที่ดีหรือข้อเสนอแนะที่เป็นประโยชน์ต่อการใช้งาน Python หรือไม่? และถ้าคุณไม่มีคำตอบโปรดแสดงความคิดเห็นกับผลลัพธ์ที่คุณได้รับจากความรู้สึกลำไส้ - 64หรือ256?

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