728x90
반응형

Python 324

함수 호출에서 별표 및 이중 별표 연산자가 의미하는 것

질문 : 함수 호출에서 별표 및 이중 별표 연산자는 무엇을 의미합니까? * zip(*x) 또는 f(**k) 와 같은 코드에서와 같이 Python에서 무엇을 의미합니까? 답변 단일 별표 * 는 시퀀스 / 컬렉션을 위치 인수로 압축 해제하므로 다음과 같이 할 수 있습니다. def sum(a, b): return a + b values = (1, 2) s = sum(*values) 이것은 실제로 다음과 같이 실행되도록 튜플을 압축 해제합니다. s = sum(1, 2) 이중 별표 ** 는 딕셔너리와 명명 된 인수 만 사용하여 동일합니다. values = { 'a': 1, 'b': 2 } s = sum(**values) 다음을 결합 할 수도 있습니다. def sum(a, b, c, d): return a + b ..

Python의 easy_install로 설치된 패키지를 제거하는 방법

질문 : Python의 easy_install로 설치된 패키지를 제거하려면 어떻게해야합니까? Python의 easy_install 사용하면 새 패키지를 매우 편리하게 설치할 수 있습니다. 그러나 내가 말할 수있는 한, 설치된 패키지를 나열하고 제거하는 종속성 관리자의 다른 공통 기능을 구현하지 않습니다. 설치된 항목을 찾는 가장 좋은 방법은 무엇이며 설치된 패키지를 제거하는 가장 좋은 방법은 무엇입니까? 패키지를 수동으로 제거 할 경우 업데이트해야하는 파일이 있습니까 (예 : rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg 또는 유사)? 답변 setuptools / easy_install의 대안 인 pip 는 "uninstall"명령을 제공..

[Python] 다중 처리 vs 스레딩

질문 : 다중 처리 대 스레딩 Python 스레딩에 비해 다중 처리 의 장점을 이해하려고합니다. 다중 처리 가 Global Interpreter Lock을 우회한다는 것을 알고 있지만 다른 이점이 있으며 스레딩 이 똑같은 일을 할 수 없습니까? 답변 threading 모듈은 스레드를 사용하고 multiprocessing 모듈은 프로세스를 사용합니다. 차이점은 스레드는 동일한 메모리 공간에서 실행되는 반면 프로세스에는 별도의 메모리가 있다는 것입니다. 이로 인해 다중 처리를 사용하여 프로세스간에 개체를 공유하기가 조금 더 어려워집니다. 스레드는 동일한 메모리를 사용하기 때문에 예방 조치를 취해야합니다. 그렇지 않으면 두 개의 스레드가 동시에 동일한 메모리에 기록됩니다. 이것이 글로벌 인터프리터 잠금의 목적..

Python2에서 dict.items ()와 dict.iteritems ()의 차이점

질문 : Python2에서 dict.items ()와 dict.iteritems ()의 차이점은 무엇입니까? dict.items() 와 dict.iteritems() 사이에 적용 가능한 차이점이 있습니까? Python 문서에서 : dict.items() : 사전의 (키, 값) 쌍 목록 사본 을 반환합니다. dict.iteritems() : 사전의 (키, 값) 쌍에 대한 반복자 를 반환합니다. 아래 코드를 실행하면 각각 동일한 객체에 대한 참조를 반환하는 것 같습니다. 내가 놓친 미묘한 차이가 있습니까? #!/usr/bin/python d={1:'one',2:'two',3:'three'} print 'd.items():' for k,v in d.items(): if d[k] is v: print '\tth..

Python-입력한 두 값 사이의 값으로 배열 생성하기

질문 : Python-두 값 사이의 숫자로 목록을 만드시겠습니까? 입력 한 두 값 사이의 값으로 목록을 만들려면 어떻게해야합니까? 예를 들어 11에서 16 사이의 값에 대해 다음 목록이 생성됩니다. list = [11, 12, 13, 14, 15, 16] 답변 range 사용하십시오. Python 2.x에서는 목록을 반환하므로 필요한 것은 다음과 같습니다. >>> range(11, 17) [11, 12, 13, 14, 15, 16] Python 3.x에서 range 는 반복자입니다. 따라서 목록으로 변환해야합니다. >>> list(range(11, 17)) [11, 12, 13, 14, 15, 16] 참고 : 두 번째 숫자는 배타적입니다. 따라서 여기에서는 16+1 = 17 편집하다: 에 의해 증가에 대..

Pandas 데이터 프레임에서 여러 열 선택

질문 : Pandas 데이터 프레임에서 여러 열 선택 다른 열에 데이터가 있지만 다른 변수에 저장하기 위해 추출하는 방법을 모르겠습니다. index a b c 1 2 3 4 2 3 4 5 'a' , 'b' 하고 df1에 저장하려면 어떻게해야합니까? 나는 시도했다 df1 = df['a':'b'] df1 = df.ix[:, 'a':'b'] 아무것도 작동하지 않는 것 같습니다. 답변 열 이름 (문자열)은 시도한 방식으로 분할 할 수 없습니다. 여기에 몇 가지 옵션이 있습니다. 어떤 변수를 잘라 내고 싶은지 컨텍스트에서 알고 있다면 목록을 __getitem__ 구문 ([] 's)에 전달하여 해당 열만보기를 반환 할 수 있습니다. df1 = df[['a', 'b']] 또는 이름이 아닌 숫자로 인덱싱하는 것이 중요..

Python 요청으로 JSON 데이터를 게시하는 방법

질문 : Python 요청으로 JSON 데이터를 게시하는 방법은 무엇입니까? 클라이언트에서 서버로 JSON을 게시해야합니다. 저는 Python 2.7.1과 simplejson을 사용하고 있습니다. 클라이언트가 요청을 사용하고 있습니다. 서버는 CherryPy입니다. 서버에서 하드 코딩 된 JSON을 가져올 수 있지만 (코드는 표시되지 않음) JSON을 서버에 POST하려고하면 "400 Bad Request"가 표시됩니다. 내 클라이언트 코드는 다음과 같습니다. data = {'sender': 'Alice', 'receiver': 'Bob', 'message': 'We did it!'} data_json = simplejson.dumps(data) payload = {'json_payload': data_..

브라우저에서 Jupyter / ipython 노트북의 셀 너비를 늘리는 방법

질문 : 브라우저에서 Jupyter / ipython 노트북의 셀 너비를 늘리려면 어떻게해야합니까? 브라우저에서 ipython 노트북의 너비를 늘리고 싶습니다. 고해상도 화면이 있는데이 추가 공간을 활용하기 위해 셀 너비 / 크기를 확장하고 싶습니다. 감사! 편집 : 5/2017 이제 jupyterthemes를 사용합니다 : https://github.com/dunovank/jupyter-themes 그리고이 명령 : jt -t oceans16 -f roboto -fs 12 -cellw 100% 멋진 테마로 너비를 100 %로 설정합니다. 답변 기본 설정을 변경하지 않고 작업중인 현재 노트북의 너비 만 변경하려는 경우 셀에 다음을 입력 할 수 있습니다. from IPython.core.display im..

Python 진행 경로-견습생에서 전문가로

질문 : Python 진행 경로-견습생에서 전문가로 저는 지금 1 년 반 동안 파이썬을 배우고, 일하고, 놀고 있습니다. 생물 학자로서 천천히 생물 정보학으로 전환하는이 언어는 제가 연구실에서 만든 모든 주요 공헌의 핵심이었습니다. 저는 파이썬이 제가 아름다운 솔루션을 표현할 수 있도록 허용하는 방식과 생각에서 실행 가능한 코드로의 자연스러운 흐름을 허용하는 언어의 의미에 어느 정도 사랑에 빠졌습니다. 제가 알고 싶은 것은이 포럼이나 다른 포럼에서 거의 볼 수 없었던 일종의 질문에 대한 귀하의 답변입니다. 이 질문은 Python 개선의 길에 있지만 그의 다음 단계가 무엇인지 궁금해하는 모든 사람에게 핵심적인 것처럼 보입니다. 내가 먼저 묻고 싶지 않은 것을 요약하겠습니다.) Python을 빠르게 배우는 ..

파이썬에서 상수를 생성하는 방법

질문 : 파이썬에서 상수를 어떻게 생성합니까? 파이썬에서 상수를 선언하는 방법이 있습니까? Java에서는 다음과 같은 방식으로 상수 값을 만들 수 있습니다. public static final String CONST_NAME = "Name"; Python에서 위의 Java 상수 선언에 해당하는 것은 무엇입니까? 답변 아니 없어. Python에서는 변수 나 값을 상수로 선언 할 수 없습니다. 변경하지 마십시오. 수업에 있다면 다음과 같습니다. class Foo(object): CONST_NAME = "Name" 그렇지 않다면 그것은 단지 CONST_NAME = "Name" 하지만 Alex Martelli가 작성한 Python의 Constants 코드 스 니펫을보고 싶을 수도 있습니다. Python 3.8부..

Python의 목록 메소드 추가 및 확장의 차이점

질문 : Python의 목록 메소드 추가 및 확장의 차이점은 무엇입니까? append() 와 extend() 의 차이점은 무엇입니까? 답변 append : 끝에 객체를 추가합니다. x = [1, 2, 3] x.append([4, 5]) print(x) 다음을 제공합니다. [1, 2, 3, [4, 5]] extend : 이터 러블에서 요소를 추가하여 목록을 확장합니다. x = [1, 2, 3] x.extend([4, 5]) print(x) 다음을 제공합니다. [1, 2, 3, 4, 5] 출처 : https://stackoverflow.com/questions/252703/what-is-the-difference-between-pythons-list-methods-append-and-extend

파이썬 배열 맨 앞에 값을 삽입하는 일반적인 방법

질문 : 짧은 파이썬 목록 앞에 붙는 관용적 구문은 무엇입니까? list.append() 는 목록 끝에 추가하기위한 확실한 선택입니다. 누락 된 list.prepend() 대한 합리적인 설명 은 다음과 같습니다. 내 목록이 짧고 성능 문제가 무시할 만하다고 가정하면 list.insert(0, x) 또는 list[0:0] = [x] 관용적? 답변 s.insert(0, x) 형식이 가장 일반적입니다. 그래도 볼 때마다 목록 대신 collections.deque 를 사용하는 것이 좋습니다. 출처 : https://stackoverflow.com/questions/8537916/whats-the-idiomatic-syntax-for-prepending-to-a-short-python-list

Python에서 현재 시간을 밀리 초 단위로 가져 오는 방법

질문 : Python에서 현재 시간을 밀리 초 단위로 가져 오나요? 파이썬에서 현재 시간을 밀리 초 단위로 어떻게 얻을 수 있습니까? 답변 time.time() : import time def current_milli_time(): return round(time.time() * 1000) 그때: >>> current_milli_time() 1378761833768 출처 : https://stackoverflow.com/questions/5998245/get-current-time-in-milliseconds-in-python

Python Flask보기에서 JSON 응답 반환

질문 : Flask보기에서 JSON 응답 반환 Pandas로 CSV 파일을 분석하고 요약 정보가 포함 된 dict를 생성하는 기능이 있습니다. Flask보기에서 결과를 응답으로 반환하고 싶습니다. JSON 응답을 어떻게 반환합니까? @app.route("/summary") def summary(): d = make_summary() # send it back as json 답변 Flask 1.1.0부터 뷰는 Python dict를 직접 반환 할 수 있으며 Flask는 자동으로 jsonify @app.route("/summary") def summary(): d = make_summary() return d 다른 JSON 직렬화 가능 객체를 반환하려면 jsonify 가져 와서 사용하십시오. from fla..

pip로 모든 Python 패키지를 업그레이드하는 방법

질문 : pip로 모든 Python 패키지를 업그레이드하는 방법 pip 로 한 번에 모든 Python 패키지를 업그레이드 할 수 있습니까? 참고 : 공식 이슈 트래커에 이에 대한 기능 요청이 있습니다. 답변 아직 기본 제공 플래그가 없지만 사용할 수 있습니다. pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U 참고 : 이에 대한 무한한 잠재적 인 변형이 있습니다. 이 답변을 짧고 간단하게 유지하려고 노력하고 있지만 의견에 변형을 제안하십시오! 이전 버전의 pip 에서는 대신 다음을 사용할 수 있습니다. pip freeze --local | grep -v '^\-e' | cut -d =..

.whl 파일이있는 Python 패키지를 설치하는 법

질문 : .whl 파일이있는 Python 패키지를 어떻게 설치합니까? Windows 컴퓨터에 Python 패키지를 설치하는 데 문제가 있으며 Christoph Gohlke의 Window 바이너리와 함께 설치하고 싶습니다. (내 경험에 비추어 볼 때, 다른 많은 패키지 설치에 대한 많은 소란을 덜어주었습니다.) 그러나 .whl 파일 만 사용할 수 있습니다. http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype 하지만 .whl 파일을 어떻게 설치합니까? wheel에서 문서를 찾았지만 .whl 파일을 설치하는 방법을 설명하는 데 그다지 정직하지 않은 것 같습니다. 이 질문은 직접 답변되지 않은 이 질문 과 중복 된 질문입니다. 답변 나는 아주 간단한 다음을 사용했습니다. 먼저..

Python에서 프로그램을 중지 / 종료하지 않고 전체 예외 추적을 포착하고 출력하는 방법

질문 : 프로그램을 중지 / 종료하지 않고 전체 예외 추적을 포착하고 출력하는 방법은 무엇입니까? 종료하지 않고 예외를 포착하고 기록하고 싶습니다. try: do_stuff() except Exception, err: print(Exception, err) # I want to print the entire traceback here, # not just the exception name and details 나는 예외가 예외를 인터셉트 try..except없이 발생할 때 내용을 출력하려면, 나는 내 프로그램을 종료하지 않습니다. 어떻게해야합니까? 답변 다른 답변은 이미 traceback 모듈을 지적했습니다. print_exc 하면 일부 모퉁이의 경우 예상 한 것을 얻지 못할 수 있습니다. Python ..

Python에 디렉토리가 있는지 확인하는 방법

질문 : Python에 디렉토리가 있는지 확인하는 방법Python의 os 모듈에는 다음과 같은 디렉터리가 있는지 확인하는 방법이 있습니다.>>> os.direxists(os.path.join(os.getcwd()), 'new_folder')) # in pseudocode True/False 답변os.path.isdir 찾고 있거나 파일이든 디렉토리이든 상관하지 않으면 os.path.exists>>> import os >>> os.path.isdir('new_folder') True >>> os.path.exists(os.path.join(os.getcwd(), 'new_folder', 'file.txt')) False pathlib 를 사용할 수 있습니다. >>> from pathlib import Pa..

__name__ == “__main__”: 하면 어떻게 될까?

질문 : __name__ ==“__main__”:하면 어떻게됩니까? 다음 코드가 주어지면 if __name__ == "__main__": do? # Threading example import time, thread def myfunction(string, sleeptime, lock, *args): while True: lock.acquire() time.sleep(sleeptime) lock.release() time.sleep(sleeptime) if __name__ == "__main__": lock = thread.allocate_lock() thread.start_new_thread(myfunction, ("Thread #: 1", 2, lock)) thread.start_new_thread(..

Python으로 단위 테스트 작성하는 방법

질문 : Python으로 단위 테스트 작성 : 어떻게 시작합니까? 나는 파이썬으로 첫 번째 적절한 프로젝트를 완료했고 이제 내 임무는 그것에 대한 테스트를 작성하는 것입니다. 프로젝트를 처음 수행 한 것이기 때문에 테스트를 작성하는 것은 이번이 처음입니다. 문제는 어떻게 시작합니까? 나는 전혀 모른다. 누구든지 테스트 작성을 시작하는 데 사용할 수있는 문서 / 튜토리얼 / 링크 / 책을 알려줄 수 있습니까? (특히 단위 테스트를 추측합니다) 이 주제에 대한 모든 조언을 환영합니다. 답변 단위 테스트를 처음 사용하는 경우 가장 간단한 학습 방법이 가장 좋습니다. 이를 바탕으로 기본 unittest 모듈 대신 py.test 사용하는 것이 좋습니다. 동일한 작업을 수행하는 다음 두 가지 예를 고려하십시오. 예..

arr .__ len __ ()은 파이썬에서 배열의 길이를 얻는 데 선호되는 방법

질문 : arr .__ len __ ()은 파이썬에서 배열의 길이를 얻는 데 선호되는 방법입니까? 파이썬 에서 다음은 요소 수를 얻는 유일한 방법입니까? arr.__len__() 그렇다면 왜 이상한 구문입니까? 답변 my_list = [1,2,3,4,5] len(my_list) # 5 튜플에서도 동일하게 작동합니다. my_tuple = (1,2,3,4,5) len(my_tuple) # 5 그리고 실제로는 문자 배열 인 문자열 : my_string = 'hello world' len(my_string) # 11 목록, 튜플 및 기타 컨테이너 유형 또는 .length() 메서드를 명시 적으로 구현할 필요가 없도록 의도적으로 이러한 방식으로 수행 되었습니다. 대신 '마법'을 구현하는 모든 항목 len() 만 ..

파이썬에서 객체의 크기를 확인하는 방법

질문 : 파이썬에서 객체의 크기를 어떻게 결정합니까? 파이썬에서 문자열, 정수 등과 같은 객체의 크기를 얻는 방법을 알고 싶습니다. 관련 질문 : Python 목록 (튜플)에는 요소 당 몇 바이트가 있습니까? 값의 크기를 지정하는 크기 필드가 포함 된 XML 파일을 사용하고 있습니다. 이 XML을 구문 분석하고 코딩을해야합니다. 특정 필드의 값을 변경하고 싶을 때 해당 값의 크기 필드를 확인합니다. 여기서 입력하려는 새 값이 XML과 동일한 크기인지 비교하고 싶습니다. 새로운 가치의 크기를 확인해야합니다. 문자열의 경우 길이라고 말할 수 있습니다. 그러나 int, float 등의 경우 혼란 스럽습니다. 답변 sys 모듈에 정의 된 sys.getsizeof 함수를 사용하십시오. sys.getsizeof(o..

728x90
반응형