Pytania otagowane jako python-3.x

W przypadku pytań dotyczących programowania w języku Python, które są specyficzne dla wersji 3+ języka. Użyj bardziej ogólnego znacznika [python], jeśli twoje pytanie nie jest specyficzne dla wersji. Użyj tagów [python-2.x] dla pytań w Pythonie 2.

2
Dlaczego „x” w („x”,) jest szybsze niż „x” == „x”?
>>> timeit.timeit("'x' in ('x',)") 0.04869917374131205 >>> timeit.timeit("'x' == 'x'") 0.06144205736110564 Działa również dla krotek z wieloma elementami, obie wersje wydają się rosnąć liniowo: >>> timeit.timeit("'x' in ('x', 'y')") 0.04866674801541748 >>> timeit.timeit("'x' == 'x' or 'x' == 'y'") 0.06565782838087131 >>> timeit.timeit("'x' in ('y', 'x')") 0.08975995576448526 >>> timeit.timeit("'x' == 'y' or 'x' …

6
Dlaczego w Python3 nie ma funkcji Xrange?
Ostatnio zacząłem używać Python3 i brak jest xrange boli. Prosty przykład: 1) Python2: from time import time as t def count(): st = t() [x for x in xrange(10000000) if x%4 == 0] et = t() print et-st count() 2) Python3: from time import time as t def xrange(x): return …
273 python  python-3.x  pep  xrange 

8
TypeError: method () przyjmuje 1 argument pozycyjny, ale podano 2
Jeśli mam klasę ... class MyClass: def method(arg): print(arg) ... którego używam do stworzenia obiektu ... my_object = MyClass() ... na które tak nazywam method("foo")... >>> my_object.method("foo") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: method() takes exactly 1 positional argument (2 given) ... dlaczego Python …

10
Jak odczytać dane wejściowe jako liczby?
Odpowiedzi na to pytanie są dziełem społeczności . Edytuj istniejące odpowiedzi, aby poprawić ten post. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Dlaczego xi yciągi zamiast ints w poniższym kodzie? (Uwaga: w Pythonie 2.x użytku raw_input(). W Pythonie 3.x wykorzystanie input(). raw_input()Został przemianowany na input()w Pythonie 3.x) play = True …

6
Dlaczego potrzebuję „b”, aby zakodować ciąg za pomocą Base64?
Zgodnie z tym przykładem w języku Python koduję ciąg znaków jako Base64 za pomocą: >>> import base64 >>> encoded = base64.b64encode(b'data to be encoded') >>> encoded b'ZGF0YSB0byBiZSBlbmNvZGVk' Ale jeśli pominę wiodące b: >>> encoded = base64.b64encode('data to be encoded') Otrzymuję następujący błąd: Traceback (most recent call last): File "<stdin>", line …

3
Jak przekonwertować „ciąg binarny” na normalny ciąg w Python3?
Na przykład mam taki ciąg (zwracana wartość subprocess.check_output): >>> b'a string' b'a string' Cokolwiek zrobiłem, zawsze jest drukowane z irytującym b'przed ciągiem: >>> print(b'a string') b'a string' >>> print(str(b'a string')) b'a string' Czy ktoś ma jakieś pomysły na temat używania go jako normalnego ciągu lub konwersji go na normalny ciąg?

11
Używanie zarówno Python 2.x, jak i Python 3.x w IPython Notebook
Używam notesów IPython i chciałbym mieć możliwość utworzenia notesu python 2.x lub 3.x w IPython. Początkowo miałem Anacondę. W przypadku Anacondy globalna zmienna środowiskowa musiała zostać zmieniona, aby wybrać wersję Pythona, a następnie uruchomić IPython. Nie tego szukałem, więc odinstalowałem Anacondę i teraz skonfigurowałem własną instalację za pomocą MacPorts i …


3
Czy generator.next () jest widoczny w Pythonie 3?
Mam generator, który generuje serię, na przykład: def triangle_nums(): '''Generates a series of triangle numbers''' tn = 0 counter = 1 while True: tn += counter yield tn counter += + 1 W Pythonie 2 jestem w stanie wykonywać następujące połączenia: g = triangle_nums() # get the generator g.next() # …

2
Użycie pickle.dump - TypeError: musi być str, a nie bajtami
Używam python3.3 i mam tajemniczy błąd podczas próby marynowania prostego słownika. Oto kod: import os import pickle from pickle import * os.chdir('c:/Python26/progfiles/') def storvars(vdict): f = open('varstor.txt','w') pickle.dump(vdict,f,) f.close() return mydict = {'name':'john','gender':'male','age':'45'} storvars(mydict) i dostaję: Traceback (most recent call last): File "C:/Python26/test18.py", line 31, in <module> storvars(mydict) File "C:/Python26/test18.py", …

6
Naga gwiazdka w argumentach funkcji?
Do czego służy pusta gwiazdka w argumentach funkcji? Kiedy spojrzałem na moduł marynaty , widzę to: pickle.dump(obj, file, protocol=None, *, fix_imports=True) Wiem o pojedynczych i podwójnych gwiazdkach poprzedzających argumenty (dla zmiennej liczby argumentów), ale to nic nie poprzedza. I jestem prawie pewien, że to nie ma nic wspólnego z marynatą. …

29
Wymagany jest Microsoft Visual C ++ 14.0 (Nie można znaleźć pliku vcvarsall.bat)
Zainstalowałem Python 3.5 i podczas pracy pip install mysql-python daje mi następujący błąd error: Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat) Dodałem następujące wiersze do mojej ścieżki C:\Program Files\Python 3.5\Scripts\; C:\Program Files\Python 3.5\; C:\Windows\System32; C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC; C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC Mam …

3
Dodanie domyślnej wartości parametru z podpowiedzi typu w Pythonie
Jeśli mam taką funkcję: def foo(name, opts={}): pass I chcę dodać podpowiedzi do parametrów, jak to zrobić? Sposób, w jaki zakładałem, powoduje błąd składniowy: def foo(name: str, opts={}: dict) -> str: pass Następujące polecenie nie zgłasza błędu składniowego, ale nie wydaje się intuicyjnym sposobem obsługi tego przypadku: def foo(name: str, …



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.