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.
>>> 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' …
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 …
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 …
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 …
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 …
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?
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 …
Jedną z najczęściej omawianych funkcji w Pythonie 3.5 są wskazówki dotyczące typów . Przykładem podpowiedzi typu jest mowa w tym artykule , a ten jeden , a jednocześnie z podaniem użyć podpowiedzi typu odpowiedzialnie. Czy ktoś może wyjaśnić więcej na ich temat oraz kiedy należy ich używać, a kiedy nie?
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() # …
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", …
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ą. …
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 …
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, …
Jaki jest prawidłowy sposób konwersji bajtów na ciąg szesnastkowy w Pythonie 3? Widzę roszczenia do bytes.hexmetody, bytes.decodekodeków i wypróbowałem inne możliwe funkcje najmniejszego zdziwienia bezskutecznie. Chcę tylko moje bajty jako hex!
Chciałbym skorzystać z variablewnętrza regex, jak mogę to zrobić Python? TEXTO = sys.argv[1] if re.search(r"\b(?=\w)TEXTO\b(?!\w)", subject, re.IGNORECASE): # Successful match else: # Match attempt failed
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.