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

Python เป็นภาษาการเขียนโปรแกรมแบบหลายกระบวนทัศน์แบบไดนามิกพิมพ์อเนกประสงค์ มันถูกออกแบบมาให้เรียนรู้เข้าใจและใช้งานได้อย่างรวดเร็วและบังคับใช้ไวยากรณ์ที่สะอาดและสม่ำเสมอ โปรดทราบว่า Python 2 สนับสนุนอย่างเป็นทางการตั้งแต่วันที่ 01-01-2020 สำหรับคำถาม Python เฉพาะรุ่นให้เพิ่มแท็ก [python-2.7] หรือ [python-3.x] เมื่อใช้ตัวแปรหรือไลบรารี Python (เช่น Jython, PyPy, Pandas, Numpy) โปรดรวมไว้ในแท็ก

4
คลาสข้อมูลคืออะไรและแตกต่างจากคลาสทั่วไปอย่างไร
ด้วยคลาสข้อมูลPEP 557จะถูกนำมาใช้ในไลบรารีมาตรฐาน python พวกเขาใช้ประโยชน์จาก@dataclassมัณฑนากรและควรจะเป็น "mutable namedtuples with default" แต่ฉันไม่แน่ใจจริงๆว่าฉันเข้าใจว่าสิ่งนี้หมายถึงอะไรและแตกต่างจากคลาสทั่วไปอย่างไร คลาสข้อมูล python คืออะไรและควรใช้เมื่อใด

3
การทำความเข้าใจวิธี __getitem__
ฉันได้อ่านเอกสารส่วนใหญ่__getitem__ใน Python docs แล้ว แต่ฉันยังไม่สามารถเข้าใจความหมายของมันได้ ดังนั้นสิ่งที่ฉันเข้าใจก็__getitem__คือใช้เพื่อใช้การโทรเช่นself[key]. แต่การใช้งานมันคืออะไร? สมมติว่าฉันมีคลาส python ที่กำหนดด้วยวิธีนี้: class Person: def __init__(self,name,age): self.name = name self.age = age def __getitem__(self,key): print ("Inside `__getitem__` method!") return getattr(self,key) p = Person("Subhayan",32) print (p["age"]) ส่งคืนผลลัพธ์ตามที่คาดไว้ แต่ทำไมต้องใช้__getitem__ตั้งแต่แรก? ฉันยังเคยได้ยินว่า Python เรียก__getitem__ภายใน แต่ทำไมมันถึงทำ? ใครช่วยอธิบายรายละเอียดเพิ่มเติมได้ไหม
143 python 

4
nosetests กำลังจับเอาท์พุทของคำสั่งการพิมพ์ของฉัน วิธีหลีกเลี่ยงสิ่งนี้
เมื่อฉันพิมพ์ $ nosetests -v mytest.py ผลงานพิมพ์ทั้งหมดของฉันจะถูกบันทึกเมื่อการทดสอบทั้งหมดผ่าน ฉันต้องการเห็นผลงานพิมพ์แม้ทุกอย่างจะผ่านไป ดังนั้นสิ่งที่ฉันทำคือการบังคับให้เกิดข้อผิดพลาดในการยืนยันเพื่อดูผลลัพธ์เช่นนี้ class MyTest(TestCase): def setUp(self): self.debug = False def test_0(self): a = .... # construct an instance of something # ... some tests statements print a.dump() if self.debug: eq_(0,1) มันรู้สึกแฮ็คมากต้องมีวิธีที่ดีกว่า โปรดบอกฉันที
142 python  nosetests 

4
ฉันจะทำให้ setuptools ติดตั้งแพ็คเกจที่ไม่ได้อยู่ใน PyPI ได้อย่างไร
ฉันเพิ่งเริ่มทำงานกับ setuptools และ virtualenv แพ็คเกจของฉันต้องการ python-gearman ล่าสุดที่พร้อมใช้งานจาก GitHub เท่านั้น รุ่น python-gearman ที่อยู่ใน PyPI นั้นเป็นรุ่นเก่า แหล่งที่มาของ Github นั้นรองรับการใช้งาน setuptools เช่นมี setup.py เป็นต้นมีวิธีที่จะทำให้ setuptools ทำการดาวน์โหลดและติดตั้งเวอร์ชั่นใหม่แทนที่จะมองหาบน PyPI และติดตั้งเก่าหรือไม่? FYI, python-gearman ใหม่คือhttp://github.com/mtai/python-gearman

7
การเข้าถึงรายการในคอลเลกชันสั่งทำตามดัชนี
ให้บอกว่าฉันมีรหัสต่อไปนี้: import collections d = collections.OrderedDict() d['foo'] = 'python' d['bar'] = 'spam' มีวิธีที่ฉันสามารถเข้าถึงรายการในลักษณะหมายเลขเช่น: d(0) #foo's Output d(1) #bar's Output

12
คำขอแบบอะซิงโครนัสกับคำขอ Python
ฉันลองตัวอย่างที่ให้ไว้ในเอกสารประกอบของไลบรารีคำขอสำหรับหลาม ด้วยasync.map(rs)ฉันได้รับรหัสตอบกลับ แต่ฉันต้องการรับเนื้อหาของแต่ละหน้าที่ร้องขอ เช่นนี้ไม่ทำงาน: out = async.map(rs) print out[0].content

10
สตริง Python พิมพ์เป็น [u'String ']
Наэтотвопросестьответына กองมากเกินнарусском : покодировкам UTF-8 выдаетрезультатпо-разномуприпечатистрокпоотдельностиисписка целиком สิ่งนี้จะเป็นสิ่งที่ง่าย แต่ก็เป็นสิ่งที่หลอกลวงฉันจริงๆ ฉันมีสคริปต์ที่อ่านในหน้าเว็บและใช้Beautiful Soupเพื่อแยกวิเคราะห์ จากซุปฉันแยกลิงค์ทั้งหมดเป็นเป้าหมายสุดท้ายของฉันคือพิมพ์ลิงค์เนื้อหา ข้อความทั้งหมดที่ฉันกำลังวิเคราะห์คือ ASCII ฉันรู้ว่า Python ปฏิบัติกับสตริงเป็นยูนิโค้ดและฉันมั่นใจว่านี่เป็นประโยชน์อย่างมากโดยไม่ต้องใช้ในสคริปต์ของฉัน ทุกครั้งที่ฉันไปพิมพ์ตัวแปรที่มี 'String' ฉันจะ[u'String']พิมพ์ไปที่หน้าจอ มีวิธีง่ายๆในการทำให้มันกลับมาเป็นเพียง ascii หรือฉันควรเขียน regex เพื่อดึงมัน?
142 python  unicode  ascii 

9
ข้อความที่ชัดเจนจาก textarea ด้วยซีลีเนียม
ฉันได้รับการทดสอบบางอย่างที่ฉันกำลังตรวจสอบว่าข้อความแสดงข้อผิดพลาดที่เหมาะสมปรากฏขึ้นเมื่อข้อความในบางฟิลด์ไม่ถูกต้อง หนึ่งการตรวจสอบความถูกต้องคือองค์ประกอบ textarea บางอย่างไม่ว่างเปล่า หากข้อความนี้มีข้อความอยู่แล้วฉันจะบอกซีลีเนียมให้ล้างฟิลด์ได้อย่างไร สิ่งที่ต้องการ: driver.get_element_by_id('foo').clear_field()

7
วิธีการตรวจสอบว่าเส้นทางเป็นเส้นทางที่แน่นอนหรือเส้นทางสัมพัทธ์ในทางข้ามแพลตฟอร์มด้วย Python?
พา ธ สัมบูรณ์ UNIX เริ่มต้นด้วย '/' ในขณะที่ Windows เริ่มต้นด้วยตัวอักษร 'C:' หรือ '\' ไพ ธ อนมีฟังก์ชั่นมาตรฐานเพื่อตรวจสอบว่าพา ธ นั้นเป็นแบบสัมบูรณ์หรือสัมพัทธ์หรือไม่?
142 python  path 

7
ค้นหารหัสต้นฉบับสำหรับฟังก์ชั่น Python ในตัวหรือไม่
มีวิธีดูว่าฟังก์ชั่นบิวด์อินทำงานอย่างไรในไพ ธ อน? ฉันไม่ได้หมายถึงวิธีการใช้พวกเขา แต่พวกเขาสร้างอย่างไรรหัสที่อยู่เบื้องหลังการเรียงลำดับหรือการแจกแจงฯลฯ คืออะไร?

8
'และ' (boolean) vs '&' (bitwise) - ทำไมความแตกต่างของพฤติกรรมกับรายการเทียบกับ numpy arrays?
อะไรอธิบายความแตกต่างในพฤติกรรมของการดำเนินการบูลีนและระดับบิตในรายการเทียบกับ NumPy อาร์เรย์? ฉันสับสนเกี่ยวกับการใช้&vs andใน Python ที่เหมาะสมแสดงในตัวอย่างต่อไปนี้ mylist1 = [True, True, True, False, True] mylist2 = [False, True, False, True, False] >>> len(mylist1) == len(mylist2) True # ---- Example 1 ---- >>> mylist1 and mylist2 [False, True, False, True, False] # I would have expected [False, True, False, False, False] …

22
วิธีที่มีประสิทธิภาพมากที่สุดในการค้นหาปัจจัยทั้งหมดของตัวเลขใน Python คืออะไร?
บางคนสามารถอธิบายวิธีที่มีประสิทธิภาพในการค้นหาปัจจัยทั้งหมดของตัวเลขใน Python (2.7) ให้ฉันได้ไหม ฉันสามารถสร้างอัลกอริทึมเพื่อทำสิ่งนี้ แต่ฉันคิดว่ามันเป็นรหัสที่ไม่ดีและใช้เวลานานเกินไปในการสร้างผลลัพธ์สำหรับจำนวนมาก

9
กำลังเพิ่มข้อมูลลงในข้อยกเว้นหรือไม่
ฉันต้องการบรรลุสิ่งนี้: def foo(): try: raise IOError('Stuff ') except: raise def bar(arg1): try: foo() except Exception as e: e.message = e.message + 'happens at %s' % arg1 raise bar('arg1') Traceback... IOError('Stuff Happens at arg1') แต่สิ่งที่ฉันได้คือ: Traceback.. IOError('Stuff') เบาะแสใด ๆ เกี่ยวกับวิธีการบรรลุสิ่งนี้? วิธีทำทั้งใน Python 2 และ 3
142 python  exception 

2
ความแตกต่างระหว่าง pyenv, virtualenv, anaconda คืออะไร?
ฉันเป็นโปรแกรมเมอร์ทับทิมที่พยายามเรียนรู้หลาม ฉันเป็นครอบครัวที่สวยด้วย pyenv เพราะมันเป็นเหมือนสำเนาและวางจาก rbenv Pyenv ช่วยให้มีงูหลามมากกว่าหนึ่งรุ่นในระบบและยังสามารถแยกงูหลามได้โดยไม่ต้องสัมผัสส่วนที่บอบบางของระบบ ฉันคิดว่าทุกการติดตั้งหลามมาพร้อมกับแพ็คเกจ pip สิ่งที่ฉันยังไม่เข้าใจคือมีไพ ธ อนจำนวนมากที่แนะนำให้ใช้ virtualenv และแอนนาคอนดานี้ ฉันยังสามารถค้นหา virtualenv plugin สำหรับ pyenv ได้ ตอนนี้ฉันสับสนกับวัตถุประสงค์ของ pyenv และ virtualenv สองตัวนี้ ที่แย่กว่านั้นใน pyenv นั่นคือ virtualenv plugin คำถามของฉันคือ: ความแตกต่างระหว่าง pyenv และ virtualenv คืออะไร? มีความแตกต่างในการใช้คำสั่ง pip ภายใน pyenv และ virtualenv หรือไม่? pyenv virutalenv นี้ทำอะไร คำอธิบายของคุณด้วยตัวอย่างจะได้รับการชื่นชมอย่างมาก

6
วิธีลบองค์ประกอบเฉพาะออกจากอาร์เรย์โดยใช้ python
ฉันต้องการเขียนสิ่งที่ลบองค์ประกอบเฉพาะออกจากอาร์เรย์ ฉันรู้ว่าฉันต้องforวนรอบอาร์เรย์เพื่อค้นหาองค์ประกอบที่ตรงกับเนื้อหา สมมติว่าฉันมีอีเมลจำนวนมากและต้องการกำจัดองค์ประกอบที่ตรงกับสตริงอีเมลบางส่วน ฉันต้องการใช้โครงสร้างสำหรับลูปเพราะฉันต้องใช้ดัชนีเดียวกันสำหรับอาร์เรย์อื่นด้วย นี่คือรหัสที่ฉันมี: for index, item in emails: if emails[index] == 'something@something.com': emails.pop(index) otherarray.pop(index)
142 python  arrays 

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