728x90
반응형

Python 324

파이썬 return vs return None vs no return at all

질문 : 반환, 반환 없음 및 반환 없음? 세 가지 기능을 고려하십시오. def my_func1(): print "Hello World" return None def my_func2(): print "Hello World" return def my_func3(): print "Hello World" 그들은 모두 None을 반환하는 것처럼 보입니다. 이 함수의 반환 값이 작동하는 방식에 차이가 있습니까? 하나를 선호하는 이유가 있습니까? 답변 실제 행동에는 차이가 없습니다. 그들은 모두 None 반환하고 그게 다입니다. 그러나이 모든 것을위한 시간과 장소가 있습니다. 다음 지침은 기본적으로 다른 방법을 사용하는 방법 (또는 최소한 내가 배운 방법을 사용해야 함)이지만 절대적인 규칙은 아니므로 필요하다고 생..

함수 내부의 정적 변수에 해당하는 Python

질문 : 함수 내부의 정적 변수에 해당하는 Python은 무엇입니까? 이 C / C ++ 코드와 동등한 관용적 Python은 무엇입니까? void foo() { static int counter = 0; counter++; printf("counter is %d\n", counter); } 특히, 클래스 수준이 아닌 함수 수준에서 정적 멤버를 어떻게 구현합니까? 함수를 클래스에 배치하면 어떤 변화가 있습니까? 답변 약간 반전되었지만 작동합니다. def foo(): foo.counter += 1 print "Counter is %d" % foo.counter foo.counter = 0 카운터 초기화 코드를 하단 대신 상단에 배치하려면 데코레이터를 만들 수 있습니다. def static_vars(**kwa..

파이썬에서 시간 지연을 만드는 방법

질문 : 파이썬에서 시간 지연을 어떻게 만들 수 있습니까? 파이썬 스크립트에 시간 지연을 넣는 방법을 알고 싶습니다. 답변 import time time.sleep(5) # Delays for 5 seconds. You can also use a float value. 다음은 대략 1 분에 한 번 무언가가 실행되는 또 다른 예입니다. import time while True: print("This prints once a minute.") time.sleep(60) # Delay for 1 minute (60 seconds). 출처 : https://stackoverflow.com/questions/510348/how-can-i-make-a-time-delay-in-python

파이썬의 목록에서 고유 한 값 얻기

질문 : 파이썬의 목록에서 고유 한 값 얻기 다음 목록에서 고유 한 값을 얻고 싶습니다. ['nowplaying', 'PBS', 'PBS', 'nowplaying', 'job', 'debate', 'thenandnow'] 필요한 출력은 다음과 같습니다. ['nowplaying', 'PBS', 'job', 'debate', 'thenandnow'] 이 코드는 다음과 같이 작동합니다. output = [] for x in trends: if x not in output: output.append(x) print(output) 내가 사용해야 할 더 나은 솔루션이 있습니까? 답변 먼저 쉼표로 구분하여 목록을 올바르게 선언하십시오. 목록을 집합으로 변환하여 고유 한 값을 얻을 수 있습니다. mylist = ['n..

Python의 matplotlib 설치 문제

질문 : matplotlib Python의 설치 문제 matplotlib 패키지를 설치 한 후 matplotlib.pyplot을 plt 로 가져올 수없는 문제가 있습니다. 어떤 제안이라도 대단히 감사하겠습니다. >>> import matplotlib.pyplot as plt Traceback (most recent call last): File "", line 1, in File "//anaconda/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-macosx-10.5-x86_64.egg/matplotlib/pyplot.py", line 98, in _backend_mod, new_figure_manager, draw_if_interactive, _show = ..

파이썬 두 딕셔너리를 결합하는 방법

질문 : 두 딕셔너리를 결합하는 파이썬적인 방법이 있습니까 (둘 다에 나타나는 키에 대한 값 추가)? 예를 들어 두 가지 사전이 있습니다. Dict A: {'a': 1, 'b': 2, 'c': 3} Dict B: {'b': 3, 'c': 4, 'd': 5} 결과가 다음과 같이 두 가지 사전을 '결합'하는 파이썬 방식이 필요합니다. {'a': 1, 'b': 5, 'c': 7, 'd': 5} 즉, 키가 두 딕셔너리에 모두 나타나면 값을 추가하고 하나의 딕셔너리에만 나타나면 해당 값을 유지합니다. 답변 collections.Counter 사용하십시오. >>> from collections import Counter >>> A = Counter({'a':1, 'b':2, 'c':3}) >>> B = Counte..

파이썬에서 문자열 내부의 문자 위치를 얻는 방법

질문 : 파이썬에서 캐릭터의 위치를 얻는 방법? 파이썬에서 문자열 내부의 문자 위치를 어떻게 얻을 수 있습니까? 답변 이를위한 두 가지 문자열 메소드, find() 및 index() 있습니다. 둘 사이의 차이점은 검색 문자열을 찾을 수 없을 때 발생하는 것입니다. find() 는 -1 반환하고 index() ValueError 시킵니다. >>> myString = 'Position of a character' >>> myString.find('s') 2 >>> myString.find('x') -1 >>> myString = 'Position of a character' >>> myString.index('s') 2 >>> myString.index('x') Traceback (most recent ca..

Python 3에서“1000000000000000 in range (1000000000000001)”가 빠른 이유

질문 : Python 3에서“1000000000000000 in range (1000000000000001)”가 왜 그렇게 빠른가요? 실제로 Python 3의 객체 유형 인 range() 함수는 생성기와 유사하게 즉시 내용을 생성한다는 것을 이해합니다. 이 경우 1 천조가 범위 내에 있는지 확인하려면 1 천조 개의 값을 생성해야하므로 다음 줄에 과도한 시간이 걸릴 것으로 예상했을 것입니다. 1000000000000000 in range(1000000000000001) 게다가, 내가 얼마나 많은 0을 더 했든간에 계산은 거의 같은 시간 (기본적으로 순간적)이 걸리는 것 같습니다. 나는 또한 이와 같은 것을 시도했지만 계산은 여전히 거의 즉각적입니다. 1000000000000000000000 in range..

Python 3의 상대적 가져 오기

질문 : Python 3의 상대적 가져 오기 같은 디렉토리의 다른 파일에서 함수를 가져오고 싶습니다. from .mymodule import myfunction 과 함께 작동하지만 때로는 다음을 얻습니다. SystemError: Parent module '' not loaded, cannot perform relative import from mymodule import myfunction 과 함께 작동하지만 때로는 다음을 얻습니다. SystemError: Parent module '' not loaded, cannot perform relative import 나는 여기서 논리를 이해하지 못하고 설명을 찾을 수 없습니다. 이것은 완전히 무작위로 보입니다. 누군가가이 모든 것의 논리가 무엇인지 설명해 주..

파이썬 문자열 후행 개행을 제거하는 방법

질문 : 후행 개행을 제거하려면 어떻게해야합니까? 줄 바꿈 인 경우 문자열의 마지막 문자를 제거하는 chomp 함수에 해당하는 Python은 무엇입니까? 답변 rstrip() 메서드를 사용해보십시오 (Python 2 및 Python 3 문서 참조). >>> 'test string\n'.rstrip() 'test string' 파이썬의 rstrip() 메서드 는 기본적으로 모든 종류의 후행 공백을 제거합니다. chomp 것처럼 하나의 개행 문자 만 제거하지 않습니다. >>> 'test string \n \r\n\n\r \n\n'.rstrip() 'test string' 줄 바꿈 만 제거하려면 : >>> 'test string \n \r\n\n\r \n\n'.rstrip('\n') 'test string \..

파이썬에서 문자열을 문자 배열로 분할하는 방법

질문 : 파이썬에서 문자열을 문자 배열로 분할하는 방법은 무엇입니까? 문자열을 문자 배열로 분할하는 방법에 대한 답변을 웹에서 찾아 보려고했지만 간단한 방법을 찾을 수 없는 것 같습니다. str.split(//) 은 Ruby처럼 작동하지 않는 것 같습니다. 반복하지 않고이 작업을 수행하는 간단한 방법이 있습니까? 답변 >>> s = "foobar" >>> list(s) ['f', 'o', 'o', 'b', 'a', 'r'] list 가 필요합니다 출처 : https://stackoverflow.com/questions/4978787/how-to-split-a-string-into-an-array-of-characters-in-python

Python에서 경과 시간을 측정하는 방법

timeit 질문 : Python에서 경과 시간을 측정하는 방법은 무엇입니까? 내가 원하는 것은 내 코드의 어딘가에서 시간을 계산 한 다음 전달 된 시간을 가져와 몇 가지 기능을 실행하는 데 걸린 시간을 측정하는 것입니다. timeit 모듈을 잘못 사용하고 있다고 생각하지만 문서가 혼란 스럽습니다. import timeit start = timeit.timeit() print("hello") end = timeit.timeit() print(end - start) 답변 두 지점 사이의 경과 벽시계 시간을 측정하려면 time.time() 사용할 수 있습니다. import time start = time.time() print("hello") end = time.time() print(end - start)..

딕셔너리를 위한 파이썬 "extend"

질문 : 사전을위한 파이썬 "확장" for 루프를 사용하지 않고 사전을 다른 사전으로 확장하는 가장 좋은 방법은 무엇입니까? 예를 들면 : >>> a = { "a" : 1, "b" : 2 } >>> b = { "c" : 3, "d" : 4 } >>> a {'a': 1, 'b': 2} >>> b {'c': 3, 'd': 4} 결과: { "a" : 1, "b" : 2, "c" : 3, "d" : 4 } 다음과 같은 것 : a.extend(b) # This does not work 답변 a.update(b) 최신 Python 표준 라이브러리 문서 출처 : https://stackoverflow.com/questions/577234/python-extend-for-a-dictionary

여러 버전의 Python에서 pip 잘 사용할 수 있는 방법

질문 : 여러 Python 버전 및 PIP를 다루고 있습니까? 여러 버전의 Python에서 pip 잘 사용할 수있는 방법이 있습니까? 예를 들어, pip 를 사용하여 내 사이트 2.5 설치 또는 내 사이트 2.6 설치에 항목을 명시 적으로 설치하고 싶습니다. 예를 들어 easy_install 에서는 easy_install-2.{5,6} . 그리고, 그렇습니다. 저는 virtualenv에 대해 알고 있습니다. 그리고 아닙니다. 이것은이 특정 문제에 대한 해결책이 아닙니다. 답변 현재 권장 사항 은 python -m pip 를 사용하는 것입니다. 여기서 python 은 사용하려는 Python 버전입니다. 이것은 모든 버전의 Python과 모든 형태의 virtualenv에서 작동하기 때문에 권장 사항입니다. ..

대화 형 동안 Python에서 모듈 다시 가져 오기

질문 : 대화 형 동안 Python에서 모듈 다시 가져 오기 할 수 있다는 건 알지만 방법은 기억 나지 않습니다. 파이썬에서 모듈을 어떻게 다시 가져올 수 있습니까? 시나리오는 다음과 같습니다. 모듈을 대화식으로 가져 와서 수정했지만 오류가 발생합니다. .py 파일의 오류를 수정 한 다음 파이썬을 종료하지 않고 수정 된 모듈을 다시 가져오고 싶습니다. 내가 어떻게 해 ? 답변 이것은 작동합니다 ( Python

requests와 함께 파이썬으로 큰 파일 다운로드

질문 : 요청과 함께 파이썬으로 큰 파일 다운로드 Requests 는 정말 멋진 라이브러리입니다. 대용량 파일 (> 1GB)을 다운로드 할 때 사용하고 싶습니다. 문제는 전체 파일을 메모리에 보관할 수 없다는 것입니다. 나는 그것을 덩어리로 읽어야한다. 그리고 이것은 다음 코드의 문제입니다. import requests def DownloadFile(url) local_filename = url.split('/')[-1] r = requests.get(url) f = open(local_filename, 'wb') for chunk in r.iter_content(chunk_size=512 * 1024): if chunk: # filter out keep-alive new chunks f.write(ch..

Python에서 디렉토리의 zip 아카이브를 만드는 방법

질문 : Python에서 디렉토리의 zip 아카이브를 만드는 방법은 무엇입니까? 파이썬에서 디렉토리 구조의 zip 아카이브를 어떻게 만들 수 있습니까? 답변 다른 사람들이 지적했듯이 zipfile 을 사용해야합니다. 문서는 사용 가능한 기능을 알려 주지만 전체 디렉토리를 압축하는 데 사용할 수있는 방법을 실제로 설명하지는 않습니다. 몇 가지 예제 코드로 설명하는 것이 가장 쉽다고 생각합니다. import os import zipfile def zipdir(path, ziph): # ziph is zipfile handle for root, dirs, files in os.walk(path): for file in files: ziph.write(os.path.join(root, file), os.path..

파이썬에서 긴 줄을 여러 줄로 나누는 방법

질문 : 파이썬에서 긴 줄을 여러 줄로 나눌 수 있습니까? C와 마찬가지로 긴 줄을 여러 개의 짧은 줄로 나눌 수 있습니다. 하지만 파이썬 에서는 이렇게하면 들여 쓰기 오류가 발생합니다. 가능합니까? 답변 PEP 8에서-Python 코드 용 스타일 가이드 : 긴 줄을 감싸는 가장 좋은 방법은 괄호, 대괄호 및 중괄호 안에 Python의 암시 적 줄 연속을 사용하는 것입니다. 필요한 경우 표현식 주위에 추가 괄호 쌍을 추가 할 수 있지만 때로는 백 슬래시를 사용하는 것이 더 좋아 보입니다. 계속되는 줄을 적절하게 들여 쓰기하십시오. 암시 적 줄 연속의 예 : a = some_function( '1' + '2' + '3' - '4') 이항 연산자 주변의 줄 바꿈에 대해 다음과 같이 말합니다. 수십 년 동안 ..

pip install mysql-python 실패 EnvironmentError : mysql_config not found

질문 : pip install mysql-python 실패하며 EnvironmentError : mysql_config not found 이것은 내가 얻는 오류입니다. (mysite)zjm1126@zjm1126-G41MT-S2:~/zjm_test/mysite$ pip install mysql-python Downloading/unpacking mysql-python Downloading MySQL-python-1.2.3.tar.gz (70Kb): 70Kb downloaded Running setup.py egg_info for package mysql-python sh: mysql_config: not found Traceback (most recent call last): File "", line 14..

Python 모듈 소스의 위치를 찾는 방법

질문 : Python 모듈 소스의 위치를 어떻게 찾습니까? 주어진 Python 모듈의 소스 파일이 설치된 위치를 어떻게 알 수 있습니까? Windows와 Linux에서 방법이 다른가요? datetime 모듈의 소스를 찾으려고 노력하고 있지만 더 일반적인 대답에도 관심이 있습니다. 답변 themodule.__file__ 에서 소스를 찾을 수 있습니다. 그러나 datetime 모듈은 C로 작성되었으므로 datetime.__file__ 은 .so 파일을 가리 키 datetime.__file__ 이 없음) 소스를 볼 수 없습니다. 파이썬 소스 tarball을 다운로드하고 압축을 풀면 모듈의 코드는 Modules 하위 디렉토리에서 찾을 수 있습니다. 예를 들어 python 2.6의 datetime 코드를 찾으려면..

Python interactive 세션을 저장하는 방법

질문 : Python 대화 형 세션을 저장하는 방법은 무엇입니까? 저는 Python의 인터프리터를 자주 사용하여 데이터베이스, 파일 등으로 작업합니다. 기본적으로 반 구조화 된 데이터의 많은 수동 형식화를 사용합니다. 원하는만큼 자주 유용한 비트를 적절하게 저장하고 정리하지 않습니다. 내 입력을 쉘에 저장하는 방법이 있습니까 (db 연결, 변수 할당, 작은 for 루프 및 논리 비트)-대화 형 세션의 일부 기록? script 와 같은 것을 사용하면 너무 많은 stdout 노이즈가 발생합니다. 실제로 모든 개체를 피클 할 필요는 없습니다. 그렇게하는 솔루션이 있다면 괜찮을 것입니다. 이상적으로는 대화 형으로 만든 스크립트로 실행되는 스크립트 만 남게되며 필요하지 않은 비트 만 삭제할 수 있습니다. 이를 수..

파이썬에서 슈퍼 생성자를 호출하는 방법

질문 : 파이썬에서 슈퍼 생성자를 호출하는 방법은 무엇입니까? class A: def __init__(self): print("world") class B(A): def __init__(self): print("hello") B() # output: hello 다른 모든 언어에서 슈퍼 생성자로 작업 한 것은 암시 적으로 호출됩니다. 파이썬에서 어떻게 호출합니까? 나는 super(self) 기대하지만 이것은 작동하지 않습니다. 답변 다른 답변과 함께 슈퍼 클래스 메서드 (생성자 포함)를 호출하는 여러 방법이 있지만 Python-3.x에서는 프로세스가 단순화되었습니다. Python-2.x class A(object): def __init__(self): print "world" class B(A): def ..

유니 코드 문자열을 Python의 문자열로 변환 (추가 기호 포함)

질문 : 유니 코드 문자열을 Python의 문자열로 변환 (추가 기호 포함) 유니 코드 문자열 (£ $ 등과 같은 추가 문자 포함)을 Python 문자열로 어떻게 변환합니까? 답변 unicodedata.normalize 참조하십시오. title = u"Klüft skräms inför på fédéral électoral große" import unicodedata unicodedata.normalize('NFKD', title).encode('ascii', 'ignore') 'Kluft skrams infor pa federal electoral groe' 출처 : https://stackoverflow.com/questions/1207457/convert-a-unicode-string-to-a-st..

파이썬에서 “_” 변수의 목적

질문 : 파이썬에서 단일 밑줄“_”변수의 목적은 무엇입니까? 이 코드에서 for _ 의 의미는 무엇입니까? if tbh.bag: n = 0 for _ in tbh.bag.atom_set(): n += 1 답변 _ 는 Python에서 세 가지 주요 관습적인 용도를 가지고 있습니다. 대화 형 인터프리터 세션에서 마지막으로 실행 된 표현식의 결과를 보관합니다 ( docs 참조). 이 선례는 표준 CPython 통역사에 의해 설정되었으며 다른 통역사도 이에 따랐습니다. i18n에서 번역 조회 ( 예 : gettext 문서 참조)의 경우 다음과 같은 코드에서 raise forms.ValidationError(_("Please enter a correct username")) 범용 "일시적"변수 이름 : 다음과 같..

파이썬 객체에 어떤 메서드가 있는지 찾기

질문 : 파이썬 객체에 어떤 메서드가 있는지 찾기 모든 종류의 Python 객체가 주어지면이 객체가 가진 모든 메서드 목록을 쉽게 얻을 수있는 방법이 있습니까? 또는, 이것이 가능하지 않다면, 메서드가 호출 될 때 단순히 오류가 발생하는지 확인하는 것 외에 특정 메서드가 있는지 확인하는 쉬운 방법이 있습니까? 답변 많은 객체 에 대해이 코드를 사용하여 'object'를 관심있는 객체로 바꿀 수 있습니다. object_methods = [method_name for method_name in dir(object) if callable(getattr(object, method_name))] diveintopython.net 에서 발견했습니다 (현재 보관 됨). 더 자세한 정보가 제공되기를 바랍니다. Attr..

728x90
반응형