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

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

4
ปราบปราม / พิมพ์โดยไม่มี b 'นำหน้าสำหรับไบต์ใน Python 3
เพียงโพสต์สิ่งนี้เพื่อที่ฉันจะได้ค้นหาในภายหลังเพราะดูเหมือนว่าจะทำให้ฉันสะดุดอยู่เสมอ: $ python3.2 Python 3.2 (r32:88445, Oct 20 2012, 14:09:50) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import curses >>> print(curses.version) b'2.2' >>> print(str(curses.version)) b'2.2' >>> print(curses.version.encode('utf-8')) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'bytes' object has no …

5
Python: การนำเข้า urllib.quote
urllib.quote()ผมอยากจะใช้ แต่ python (python3) ไม่พบโมดูล สมมติว่าฉันมีรหัสบรรทัดนี้: print(urllib.quote("châteu", safe='')) ฉันจะนำเข้า urllib.quote ได้อย่างไร import urllibหรือ import urllib.quoteทั้งสองอย่างให้ AttributeError: 'module' object has no attribute 'quote' สิ่งที่ทำให้ฉันสับสนurllib.requestคือสามารถเข้าถึงได้ทางimport urllib.request

3
เหตุใด Python 3 จึงอนุญาตให้“ 00” เป็นลิเทอรัลสำหรับ 0 แต่ไม่อนุญาตให้“ 01” เป็นลิเทอรัลสำหรับ 1
เหตุใด Python 3 จึงอนุญาตให้ "00" เป็นลิเทอรัลสำหรับ 0 แต่ไม่อนุญาตให้ "01" เป็นลิเทอรัลสำหรับ 1 มีเหตุผลที่ดีหรือไม่? ความไม่ลงรอยกันนี้ทำให้ฉันงงงวย (และเรากำลังพูดถึง Python 3 ซึ่งตั้งใจที่จะทำลายความเข้ากันได้แบบย้อนหลังเพื่อให้บรรลุเป้าหมายเช่นความสม่ำเสมอ) ตัวอย่างเช่น: >>> from datetime import time >>> time(16, 00) datetime.time(16, 0) >>> time(16, 01) File "<stdin>", line 1 time(16, 01) ^ SyntaxError: invalid token >>>

3
อนาคอนด้าเกี่ยวข้องกับงูหลามอย่างไร?
ฉันเป็นมือใหม่และต้องการเรียนรู้การเขียนโปรแกรมคอมพิวเตอร์ ดังนั้นสำหรับตอนนี้ฉันได้เริ่มเรียนรู้ Python ด้วยตัวเองโดยมีความรู้เกี่ยวกับการเขียนโปรแกรมใน C และ Fortran ตอนนี้ฉันได้ติดตั้ง Python เวอร์ชัน 3.6.0 แล้วและฉันพยายามหาข้อความที่เหมาะสมสำหรับการเรียนรู้ Python ในเวอร์ชันนี้ แม้แต่ชุดการบรรยายออนไลน์ก็ขอเวอร์ชัน 2.7 และ 2.5 ตอนนี้ฉันมีหนังสือเล่มหนึ่งซึ่งสร้างรหัสในเวอร์ชัน 2 และพยายามทำให้ใกล้เคียงที่สุดในเวอร์ชัน 3 (อ้างอิงจากผู้เขียน) ผู้เขียนแนะนำให้ "ดาวน์โหลด Anaconda สำหรับ Windows" เพื่อติดตั้ง Python คำถามของฉันคือ'อนาคอนดา'คืออะไร? ฉันเห็นว่ามันเป็นแพลตฟอร์มข้อมูลวิทยาศาสตร์แบบเปิด หมายความว่าอย่างไร? มันเป็นตัวแก้ไขหรือบางอย่างเช่น Pycharm, IDLE หรืออะไร? นอกจากนี้ฉันดาวน์โหลด Python (อันที่ฉันใช้อยู่ตอนนี้) สำหรับ Windows จาก Python.org และฉันไม่จำเป็นต้องติดตั้ง "แพลตฟอร์มข้อมูลวิทยาศาสตร์แบบเปิด" ใด ๆ มันเกิดอะไรขึ้น? กรุณาอธิบายด้วยภาษาง่ายๆ …

3
enum - รับค่า enum จากการแปลงสตริง
ฉันได้กำหนด enum ดังต่อไปนี้ from enum import Enum class D(Enum): x = 1 y = 2 print(D.x) ตอนนี้ค่าที่พิมพ์คือ D.x ฉันต้องการให้พิมพ์ค่า enum แทน 1 จะทำอย่างไรเพื่อให้บรรลุฟังก์ชันนี้?

3
"module" ไม่มีแอตทริบิวต์ "urlencode"
เมื่อฉันพยายามทำตามตัวอย่างของ Python Wikiที่เกี่ยวข้องกับการเข้ารหัส URL: >>> import urllib >>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) >>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params) >>> print f.read() ข้อผิดพลาดเกิดขึ้นในบรรทัดที่สอง: Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'urlencode' ฉันขาดอะไรไป?

14
วิธีที่สะอาดที่สุดในการรับรายการสุดท้ายจาก Python iterator
วิธีที่ดีที่สุดในการรับรายการสุดท้ายจากตัววนซ้ำใน Python 2.6 คืออะไร? ตัวอย่างเช่นพูดว่า my_iter = iter(range(5)) เป็นระยะเวลาที่สั้นรหัส / วิธีที่สะอาดในการได้รับอะไร4จากmy_iter? ฉันทำได้ แต่ดูเหมือนไม่ค่อยมีประสิทธิภาพ: [x for x in my_iter][-1]

11
คำสั่ง Conda ไม่รู้จักใน Windows 10
ผมติดตั้งงู 4.4.0 (Python 3.6 เวอร์ชั่น) บน Windows 10 โดยทำตามคำแนะนำที่นี่: https://www.continuum.io/downloads อย่างไรก็ตามเมื่อฉันเปิดหน้าต่างพรอมต์คำสั่งและพยายามเขียน conda list ฉันได้รับ ไม่รู้จักคำสั่ง "conda" ... ข้อผิดพลาด ผมพยายามวิ่ง set PATH=%PATH%;C:\Users\Alex\Anaconda3 แต่มันไม่ได้ช่วยอะไร ฉันยังอ่านว่าฉันอาจต้องแก้ไข.bashrcไฟล์ของฉันแต่ฉันไม่รู้ว่าจะเข้าถึงไฟล์นี้ได้อย่างไรและควรแก้ไขอย่างไร

1
เหตุใด f '{{{74}}}' จึงเหมือนกับ f '{{74}}' ด้วย f-Strings
f-Stringsพร้อมใช้งานจาก Python 3.6 และมีประโยชน์มากสำหรับการจัดรูปแบบสตริง: >>> n='you' >>> f'hello {n}, how are you?' 'hello you, how are you?' อ่านเพิ่มเติมเกี่ยวกับพวกเขาในหลาม 3 F-Strings: ดีขึ้น String การจัดรูปแบบไวยากรณ์ (คู่มือ) ฉันพบรูปแบบที่น่าสนใจ: โปรดทราบว่าการใช้การจัดฟันแบบสามครั้งจะส่งผลให้มีการจัดฟันเพียงครั้งเดียวในสตริงของคุณ: >>> f"{{{74}}}" '{74}' อย่างไรก็ตามคุณสามารถรับเครื่องมือจัดฟันเพิ่มเติมเพื่อแสดงถ้าคุณใช้เครื่องมือจัดฟันมากกว่าสามรายการ: >>> f"{{{{74}}}}" '{{74}}' และนี่คือกรณีที่: >>> f'{74}' '74' >>> f'{{74}}' '{74}' ตอนนี้ถ้าเราผ่านสอง{ถึงสามผลลัพธ์ก็จะเหมือนกัน: >>> f'{{{74}}}' '{74}' # same as f'{{74}}' ! ดังนั้นเราต้องการมากถึง …

6
แสดงคอลัมน์ dataframe ทั้งหมดใน Jupyter Python Notebook
ฉันต้องการแสดงคอลัมน์ทั้งหมดในดาต้าเฟรมใน Jupyter Notebook Jupyter แสดงคอลัมน์บางคอลัมน์และเพิ่มจุดในคอลัมน์สุดท้ายดังภาพต่อไปนี้: ฉันจะแสดงคอลัมน์ทั้งหมดได้อย่างไร

2
Python 3 Online Interpreter / Shell [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา มีล่ามออนไลน์เช่นhttp://codepad.org/หรือhttp://www.trypython.org/ซึ่งใช้ Python 3 หรือไม่ ตอบ เนื่องจากคำถามถูกปิดฉันจึงให้คำตอบอื่นที่นี่ WandboxมีREPLออนไลน์สำหรับหลายภาษารวมถึง Python 2.x และ 3.x, C ++ และ Java

2
TypeError: ไม่สามารถใช้รูปแบบสตริงบนวัตถุคล้ายไบต์ใน re.findall ()
ฉันกำลังพยายามเรียนรู้วิธีดึง URL จากเพจโดยอัตโนมัติ ในรหัสต่อไปนี้ฉันกำลังพยายามหาชื่อของหน้าเว็บ: import urllib.request import re url = "http://www.google.com" regex = r'<title>(,+?)</title>' pattern = re.compile(regex) with urllib.request.urlopen(url) as response: html = response.read() title = re.findall(pattern, html) print(title) และฉันได้รับข้อผิดพลาดที่ไม่คาดคิดนี้: Traceback (most recent call last): File "path\to\file\Crawler.py", line 11, in <module> title = re.findall(pattern, html) File "C:\Python33\lib\re.py", line 201, in …

2
คำนำหน้า ab ก่อนสตริง python หมายถึงอะไร?
ในซอร์สโค้ด python ฉันสะดุดเมื่อฉันเห็นb ตัวเล็กก่อนสตริงเช่นใน: b"abcdef" ฉันรู้เกี่ยวกับuคำนำหน้าแสดงถึงสตริงยูนิโคดและrคำนำหน้าสำหรับลิเทอรัลสตริงดิบ สิ่งที่ไม่bยืนและที่ชนิดของรหัสที่มาก็จะเป็นประโยชน์ในขณะที่มันน่าจะเป็นเหมือนกับสตริงธรรมดาโดยไม่ต้องคำนำหน้าใด ๆ

3
การเปิดออกการขยายการเปิดออกและการขยายแบบซ้อนกัน
พิจารณานิพจน์ต่อไปนี้ โปรดทราบว่าบางนิพจน์ซ้ำเพื่อนำเสนอ "บริบท" (นี่คือรายการยาว) a, b = 1, 2 # simple sequence assignment a, b = ['green', 'blue'] # list asqignment a, b = 'XY' # string assignment a, b = range(1,5,2) # any iterable will do # nested sequence assignment (a,b), c = "XY", "Z" # a = 'X', …

6
จะใช้ฟังก์ชันเปรียบเทียบแบบกำหนดเองใน Python 3 ได้อย่างไร?
ในPython 2.xฉันสามารถส่งฟังก์ชันที่กำหนดเองไปยังฟังก์ชันการเรียงลำดับและ. เรียงลำดับได้ >>> x=['kar','htar','har','ar'] >>> >>> sorted(x) ['ar', 'har', 'htar', 'kar'] >>> >>> sorted(x,cmp=customsort) ['kar', 'htar', 'har', 'ar'] เพราะในภาษาของฉันพยัญชนะมาพร้อมกับคำสั่งนี้ "k","kh",....,"ht",..."h",...,"a" แต่ในPython 3.xดูเหมือนว่าจะไม่สามารถส่งผ่านcmpkeyword ได้ >>> sorted(x,cmp=customsort) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'cmp' is an invalid keyword argument for this function มีทางเลือกอื่นหรือไม่หรือฉันควรเขียนฟังก์ชันเรียงลำดับของตัวเองด้วย? หมายเหตุ: ฉันทำให้ง่ายขึ้นโดยใช้ …

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