คำถามติดแท็ก python-3.x

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรม Python ที่เฉพาะเจาะจงกับภาษารุ่น 3 ขึ้นไป ใช้แท็ก [หลาม] ทั่วไปมากขึ้นหากคำถามของคุณไม่เฉพาะรุ่น ใช้แท็ก [python-2.x] สำหรับคำถาม Python 2

1
วิธีระบุชนิดส่งคืน“ nullable” พร้อมคำแนะนำประเภท
สมมติว่าฉันมีฟังก์ชั่น: def get_some_date(some_argument: int=None) -> %datetime_or_None%: if some_argument is not None and some_argument == 1: return datetime.utcnow() else: return None ฉันจะระบุประเภทส่งคืนสำหรับสิ่งที่สามารถเป็นได้Noneอย่างไร

11
Python 3.x พฤติกรรมการปัดเศษ
ฉันเพิ่งอ่านใหม่มีอะไรใหม่ใน Python 3.0และระบุว่า: กลยุทธ์การปัดเศษฟังก์ชัน round () และประเภทส่งคืนได้เปลี่ยนไป กรณีครึ่งทางที่แน่นอนจะถูกปัดเศษเป็นผลลัพธ์คู่ที่ใกล้เคียงที่สุดแทนที่จะอยู่ห่างจากศูนย์ (ตัวอย่างเช่น round (2.5) ส่งคืน 2 แทน 3) และเอกสารสำหรับรอบ : สำหรับประเภทในตัวที่สนับสนุนรอบ () ค่าจะถูกปัดเศษเป็นพหุคูณที่ใกล้เคียงที่สุดของ 10 ถึงกำลังไฟฟ้าลบ n; หากสองทวีคูณใกล้กันเท่ากันการปัดเศษจะไปทางเลือกคู่ ดังนั้นภายใต้v2.7.3 : In [85]: round(2.5) Out[85]: 3.0 In [86]: round(3.5) Out[86]: 4.0 อย่างที่ฉันคาดไว้ อย่างไรก็ตามตอนนี้ภายใต้v3.2.3 : In [32]: round(2.5) Out[32]: 2 In [33]: round(3.5) Out[33]: 4 ดูเหมือนว่าจะเป็นสิ่งที่ตรงกันข้ามกับสิ่งที่ฉันเข้าใจเกี่ยวกับการปัดเศษ …

17
วิธีการส่งผ่านข้อโต้แย้งไปยังคำสั่งปุ่มใน Tkinter?
สมมติว่าฉันButtonทำต่อไปนี้กับ Tkinter ใน Python: import Tkinter as Tk win = Tk.Toplevel() frame = Tk.Frame(master=win).grid(row=1, column=1) button = Tk.Button(master=frame, text='press', command=action) วิธีการที่actionเรียกว่าเมื่อฉันกดปุ่ม แต่สิ่งที่ถ้าผมต้องการที่จะผ่านการขัดแย้งบางอย่างเพื่อให้วิธีการaction? ฉันได้ลองด้วยรหัสต่อไปนี้: button = Tk.Button(master=frame, text='press', command=action(someNumber)) นี่เป็นการเรียกใช้เมธอดทันทีและการกดปุ่มก็ไม่ทำอะไรเลย

5
การเข้าถึงตัวแปรคลาสจากรายการความเข้าใจในการกำหนดคลาส
คุณเข้าถึงตัวแปรคลาสอื่น ๆ ได้อย่างไรจากรายการความเข้าใจภายในนิยามคลาส? การทำงานต่อไปนี้ใน Python 2 แต่ล้มเหลวใน Python 3: class Foo: x = 5 y = [x for i in range(1)] Python 3.2 ให้ข้อผิดพลาด: NameError: global name 'x' is not defined การพยายามFoo.xไม่ทำงานเช่นกัน ความคิดเห็นเกี่ยวกับวิธีการทำเช่นนี้ใน Python 3 ตัวอย่างแรงจูงใจที่ซับซ้อนกว่าเล็กน้อย: from collections import namedtuple class StateDatabase: State = namedtuple('State', ['name', 'capital']) db = [State(*args) …

19
ไม่สามารถตั้งค่าเวอร์ชัน python เริ่มต้นเป็น python3 ใน ubuntu
ผมพยายามที่จะชุดรุ่นหลามเริ่มต้นในpython3 Ubuntu 16.04โดยค่าเริ่มต้นจะเป็นpython2(2.7) ฉันทำตามขั้นตอนด้านล่าง: update-alternatives --remove python /usr/bin/python2 update-alternatives --install /usr/bin/python python /usr/bin/python3 แต่ฉันได้รับข้อผิดพลาดต่อไปนี้สำหรับคำสั่งที่สอง rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3 update-alternatives: --install needs <link> <name> <path> <priority> Use 'update-alternatives --help' for program usage information. ฉันเพิ่งเริ่มใช้ Ubuntu และไม่รู้ว่าฉันทำอะไรผิด

5
TypeError: ต้องการวัตถุที่มีลักษณะเหมือนไบต์ไม่ใช่ 'str' ใน python และ CSV
TypeError: จำเป็นต้องมีวัตถุคล้ายไบต์ไม่ใช่ 'str' รับข้อผิดพลาดดังกล่าวในขณะที่การดำเนินการด้านล่างรหัสหลามเพื่อบันทึกข้อมูลตาราง HTML ในไฟล์ Csv ไม่ทราบวิธีรับ rideup กรุณาช่วยฉันด้วย import csv import requests from bs4 import BeautifulSoup url='http://www.mapsofindia.com/districts-india/' response=requests.get(url) html=response.content soup=BeautifulSoup(html,'html.parser') table=soup.find('table', attrs={'class':'tableizer-table'}) list_of_rows=[] for row in table.findAll('tr')[1:]: list_of_cells=[] for cell in row.findAll('td'): list_of_cells.append(cell.text) list_of_rows.append(list_of_cells) outfile=open('./immates.csv','wb') writer=csv.writer(outfile) writer.writerow(["SNo", "States", "Dist", "Population"]) writer.writerows(list_of_rows) บนเหนือบรรทัดสุดท้าย

3
สัญลักษณ์ '@ =' สำหรับใน Python คืออะไร
ฉันรู้ว่า@สำหรับนักตกแต่ง แต่@=สำหรับ Python มีอะไรบ้าง? มันเป็นเพียงการจองสำหรับแนวคิดในอนาคตบางอย่าง? นี่เป็นเพียงหนึ่งในหลาย ๆ tokenizer.pyคำถามของฉันในขณะที่อ่าน

10
วิธีการตรวจสอบว่าตัวแปรเป็นสตริงที่มีความเข้ากันได้หลาม 2 และ 3
ฉันรู้ว่าฉันสามารถใช้: isinstance(x, str)ใน python-3.x แต่ฉันต้องตรวจสอบว่ามีสตริงใน python-2.x หรือไม่ จะisinstance(x, str)ทำงานได้ตามที่คาดหวังใน python-2.x หรือไม่ หรือฉันจะต้องตรวจสอบเวอร์ชั่นและใช้isinstance(x, basestr)? โดยเฉพาะใน python-2.x: >>>isinstance(u"test", str) False และ python-3.x ไม่มี u"foo"

15
วิธีการใช้งาน Python หลายรุ่นบน Windows
ฉันติดตั้ง Python สองเวอร์ชันในเครื่องของฉัน (เวอร์ชัน 2.6 และ 2.5) ฉันต้องการรัน 2.6 สำหรับโครงการหนึ่งและอีก 2.5 โครงการ ฉันจะระบุสิ่งที่ฉันต้องการใช้ได้อย่างไร ฉันกำลังทำงานบน Windows XP SP2

15
การติดตั้ง Windows Scipy: ไม่พบทรัพยากร Lapack / Blas
ฉันพยายามติดตั้งไพ ธ อนและชุดของแพ็กเกจลงบนเดสก์ท็อป 64 บิต windows 7 ฉันได้ติดตั้ง Python 3.4, ติดตั้ง Microsoft Visual Studio C ++ และติดตั้งเรียบร้อยแล้ว, หมีแพนด้าและอื่น ๆ ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามติดตั้ง scipy; numpy.distutils.system_info.NotFoundError: no lapack/blas resources found ฉันใช้ pip ติดตั้งออฟไลน์คำสั่งติดตั้งที่ฉันใช้อยู่คือ; pip install --no-index --find-links="S:\python\scipy 0.15.0" scipy ฉันได้อ่านโพสต์ที่นี่เกี่ยวกับการต้องการคอมไพเลอร์ซึ่งถ้าฉันเข้าใจถูกต้องคือคอมไพเลอร์ VS C ++ ฉันใช้รุ่น 2010 เพราะฉันใช้ Python 3.4 สิ่งนี้ใช้ได้กับแพ็คเกจอื่น ๆ ฉันต้องใช้ไบนารี่ของหน้าต่างหรือมีวิธีที่ฉันสามารถติดตั้ง pip เพื่อทำงานได้หรือไม่? ขอบคุณมากสำหรับความช่วยเหลือ

3
pandas: ผสาน (เข้าร่วม) สองเฟรมข้อมูลในหลายคอลัมน์
ฉันพยายามเข้าร่วมสองเฟรมข้อมูลแพนด้าโดยใช้สองคอลัมน์: new_df = pd.merge(A_df, B_df, how='left', left_on='[A_c1,c2]', right_on = '[B_c1,c2]') แต่ได้รับข้อผิดพลาดต่อไปนี้: pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4164)() pandas/index.pyx in pandas.index.IndexEngine.get_loc (pandas/index.c:4028)() pandas/src/hashtable_class_helper.pxi in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13166)() pandas/src/hashtable_class_helper.pxi in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13120)() KeyError: '[B_1, c2]' ความคิดใดที่ควรเป็นวิธีที่ถูกต้องในการทำเช่นนี้? ขอบคุณ!


9
ImportError: ไม่มีโมดูลชื่อ 'django.core.urlresolvers'
ฉันทำงานเกี่ยวกับโครงการ Django ที่ฉันต้องการสร้างแบบฟอร์มสำหรับอินพุต ผมพยายามที่จะนำเข้าจากreverse django.core.urlresolversฉันพบข้อผิดพลาด: line 2, in from django.core.urlresolvers import reverse ImportError: No module named 'django.core.urlresolvers' ฉันใช้ Python 3.5.2, Django 2.0 และ MySQL

12
โครงการ Python3 ลบ __pycache__ โฟลเดอร์และไฟล์ .pyc
เป็นวิธีที่ดีที่สุดในการล้าง__pycache__ โฟลเดอร์และ.pyc/.pyoไฟล์ทั้งหมดจากโครงการ python3 ฉันเคยเห็นผู้ใช้หลายคนแนะนำpycleanสคริปต์ที่มาพร้อมกับ Debian แต่นี่ไม่ได้ลบโฟลเดอร์ ฉันต้องการวิธีง่ายๆในการทำความสะอาดโครงการก่อนที่จะส่งไฟล์ไปยัง DVS ของฉัน

5
เตือนเกี่ยวกับตัวเลขที่เปิดกว้างเกินไป
ในสคริปต์ที่ฉันสร้างตัวเลขจำนวนมากfix, ax = plt.subplots(...)ฉันได้รับคำเตือนRuntimeWarning: เปิดตัวเลขมากกว่า 20 ตัว ตัวเลขที่สร้างผ่านส่วนต่อประสาน pyplot ( matplotlib.pyplot.figure) จะถูกเก็บไว้จนกว่าจะปิดอย่างชัดเจนและอาจใช้หน่วยความจำมากเกินไป แต่ผมไม่เข้าใจว่าทำไมฉันจะได้รับการแจ้งเตือนนี้เพราะหลังจากบันทึกภาพกับฉันลบมันด้วยfig.savefig(...) fig.clear(); del figที่จุดในรหัสของฉันไม่มีฉันเปิดมากกว่าหนึ่งรูปในเวลา ยังฉันได้รับคำเตือนเกี่ยวกับตัวเลขที่เปิดกว้างเกินไป นั่นหมายความว่าฉันจะหลีกเลี่ยงการรับคำเตือนได้อย่างไร

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