728x90
반응형

프로그래밍 언어/Python 318

Python에서 유형을 확인하는 표준 방법

질문 : Python에서 유형을 확인하는 표준 방법은 무엇입니까? 주어진 객체가 주어진 유형인지 확인하는 가장 좋은 방법은 무엇입니까? 객체가 주어진 유형에서 상속되는지 확인하는 것은 어떻습니까? o 가 있다고 가정 해 봅시다. str 인지 어떻게 확인합니까? 답변 있는지 확인하려면 o 의 인스턴스 str 또는 서브 클래스 str , 사용 isinstance은 (이것은 "표준"방법이 될 것이다) if isinstance(o, str): o 의 유형이 정확히 str 인지 확인하려면 (서브 클래스 제외) : if type(o) is str: 다음도 작동하며 경우에 따라 유용 할 수 있습니다. if issubclass(type(o), str): 관련 정보는 Python 라이브러리 참조의 내장 함수를 참조하십시..

파이썬에서 배열에 항목을 선언하고 추가하는 방법

질문 : 파이썬에서 배열에 항목을 선언하고 추가하는 방법은 무엇입니까? 파이썬에서 배열에 항목을 추가하려고합니다. 난 달린다 array = {} 그런 다음 다음을 수행하여이 배열에 무언가를 추가하려고합니다. array.append(valueToBeInserted) .append 메소드가없는 것 같습니다. 배열에 항목을 추가하려면 어떻게합니까? 답변 {} 는 배열 / 목록이 아닌 빈 사전을 나타냅니다. 목록 또는 배열의 경우 [] 이 필요합니다. 빈 목록을 초기화하려면 다음을 수행하십시오. my_list = [] 또는 my_list = list() 목록에 요소를 추가하려면 append my_list.append(12) 하려면 extend 다른 목록 사용의 요소를 포함하는 목록을 extend my_list...

목록에서 del, remove 및 pop의 차이점

질문 : 목록에서 del, remove 및 pop의 차이점 >>> a=[1,2,3] >>> a.remove(2) >>> a [1, 3] >>> a=[1,2,3] >>> del a[1] >>> a [1, 3] >>> a= [1,2,3] >>> a.pop(1) 2 >>> a [1, 3] >>> 목록에서 요소를 제거하는 위의 세 가지 방법간에 차이점이 있습니까? 답변 목록에서 요소를 제거하는 세 가지 방법의 효과 : remove 는 특정 색인이 아닌 첫 번째 일치 값을 제거합니다. >>> a = [0, 2, 3, 2] >>> a.remove(2) >>> a [0, 3, 2] del 은 특정 인덱스에서 항목을 제거합니다. >>> a = [9, 8, 7, 6] >>> del a[1] >>> a [9, 7, 6] ..

json.dumps가있는 utf-8 텍스트를 \u 이스케이프 시퀀스가 아닌 UTF8로 저장하는 방법

질문 : json.dumps가있는 utf-8 텍스트를 \ u 이스케이프 시퀀스가 아닌 UTF8로 저장 샘플 코드 : >>> import json >>> json_string = json.dumps("ברי צקלה") >>> print(json_string) "\u05d1\u05e8\u05d9 \u05e6\u05e7\u05dc\u05d4" 문제는 사람이 읽을 수 없다는 것입니다. 내 (스마트 한) 사용자는 JSON 덤프로 텍스트 파일을 확인하거나 편집하기를 원합니다 (그리고 XML을 사용하지 않을 것입니다). 객체를 UTF-8 JSON 문자열로 직렬화하는 방법이 있습니까 ( \uXXXX 답변 ensure_ascii=False 스위치를 json.dumps() 로 사용하고 값을 수동으로 UTF-8로 인코딩합..

파이썬에서 두 목록을 비교하고 일치 항목을 반환하는 방법

질문 : 파이썬에서 두 목록을 비교하고 일치 항목을 반환하는 방법 두 개의 목록을 가져와 둘 다에 나타나는 값을 찾고 싶습니다. a = [1, 2, 3, 4, 5] b = [9, 8, 7, 6, 5] returnMatches(a, b) 예를 들어 [5] 반환합니다. 답변 가장 효율적인 방법은 아니지만 가장 확실한 방법은 다음과 같습니다. >>> a = [1, 2, 3, 4, 5] >>> b = [9, 8, 7, 6, 5] >>> set(a) & set(b) {5} 순서가 중요한 경우 다음과 같은 목록 이해를 사용하여 수행 할 수 있습니다. >>> [i for i, j in zip(a, b) if i == j] [5] (순서 중요성이 의미하는 동일한 크기의 목록에서만 작동합니다). 출처 : https://..

파이썬에서 두 배열을 연결하는 방법

질문 : 파이썬에서 두 목록을 어떻게 연결합니까? 파이썬에서 두 목록을 어떻게 연결합니까? 예: listone = [1, 2, 3] listtwo = [4, 5, 6] 예상되는 결과: >>> joinedlist [1, 2, 3, 4, 5, 6] 답변 + 연산자를 사용하여 결합 할 수 있습니다. listone = [1,2,3] listtwo = [4,5,6] joinedlist = listone + listtwo 산출: >>> joinedlist [1,2,3,4,5,6] 출처 : https://stackoverflow.com/questions/1720421/how-do-i-concatenate-two-lists-in-python

딕셔너리의 문자열 표현을 딕셔너리으로 변환하는 방법

질문 : 사전의 문자열 표현을 사전으로 변환 하시겠습니까? 어떻게 변환 할 수 str (A)의 표현을 dict 로, 예를 들면 다음과 같은 문자열로 dict ? s = "{'muffin' : 'lolz', 'foo' : 'kitty'}" eval 을 사용하지 않는 것을 선호합니다. 그 밖에 무엇을 사용할 수 있습니까? 그 주된 이유는 그가 작성한 동료 클래스 중 하나가 모든 입력을 문자열로 변환하기 때문입니다. 이 문제를 다루기 위해 그의 수업을 수정하고 싶지는 않습니다. 답변 ast.literal_eval 사용할 수 있습니다. >>> import ast >>> ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}") {'muffin': 'lolz', 'foo..

Python 오류 “ImportError : No module named”

질문 : Python 오류“ImportError : No module named” Python은 로컬 디렉토리에 설치됩니다. 내 디렉토리 트리는 다음과 같습니다. (local directory)/site-packages/toolkit/interface.py 내 코드는 다음과 같습니다. (local directory)/site-packages/toolkit/examples/mountain.py 예제를 실행하기 위해 python mountain.py 작성하고 코드에는 다음이 있습니다. from toolkit.interface import interface 그리고 오류가 발생합니다. Traceback (most recent call last): File "mountain.py", line 28, in ? fr..

Python에 ++ 및 - 연산자가 없는 이유

질문 : Python에 ++ 및-연산자가없는 이유는 무엇입니까? Python에 ++ 및 -- 연산자가없는 이유는 무엇입니까? 답변 말이되지 않아서가 아닙니다. "x ++"를 "x + = 1, x의 이전 바인딩으로 평가"로 정의하는 것이 완벽합니다. 원래 이유를 알고 싶다면 오래된 Python 메일 링리스트를 살펴 보거나 거기에 있었던 사람에게 물어봐야합니다 (예 : Guido).하지만 사실을 정당화하는 것은 쉽습니다. 간단한 증가 및 감소는 다른 언어만큼 많이 필요하지 않습니다. 파이썬에서 for(int i = 0; i < 10; ++i) 것을 자주 작성하지 않습니다. for i in range(0, 10) 와 같은 작업을 수행합니다. 거의 자주 필요하지 않기 때문에 고유 한 특수 구문을 제공 할 이유가..

파이썬에서 문자열 'contains' 메서드를 사용하는 방법

질문 : 파이썬에 문자열 '포함'하위 문자열 메서드가 있습니까? Python에서 string.contains 또는 string.indexof 메서드를 찾고 있습니다. 나하고 싶어: if not somestring.contains("blah"): continue 답변 in 연산자를 사용할 수 있습니다. if "blah" not in somestring: continue 출처 : https://stackoverflow.com/questions/3437059/does-python-have-a-string-contains-substring-method

Python의 re.compile가 필요한 이유

질문 : Python의 re.compile을 사용할 가치가 있습니까? 파이썬에서 정규 표현식에 컴파일을 사용하면 어떤 이점이 있습니까? h = re.compile('hello') h.match('hello world') vs re.match('hello', 'hello world') 답변 나는 즉석에서 컴파일하는 것과 비교하여 컴파일 된 정규식을 1000 번 실행 한 경험이 많았으며 눈에 띄는 차이를 발견하지 못했습니다. 분명히, 이것은 일화이며, 확실히 컴파일에 대한 좋은 인수,하지만 난 무시할 수의 차이를 발견했습니다. 편집 : 실제 Python 2.5 라이브러리 코드를 한눈에 살펴본 후, 어쨌든 사용할 때마다 ( re.match() 호출 포함) Python이 내부적으로 정규식을 컴파일하고 캐시하므로..

파이썬에서 "private" 변수

질문 : 파이썬은 클래스에 "개인"변수를 가지고 있습니까? 저는 자바 세계에서 왔고 Bruce Eckels의 Python 3 Patterns, Recipes and Idioms를 읽고 있습니다. 클래스에 대해 읽는 동안 파이썬에서는 인스턴스 변수를 선언 할 필요가 없다고 계속해서 말합니다. 생성자에서 사용하기 만하면됩니다. 예를 들면 : class Simple: def __init__(self, s): print("inside the simple constructor") self.s = s def show(self): print(self.s) def showMsg(self, msg): print(msg + ':', self.show()) Simple 클래스의 모든 객체는 클래스 외부에서 s 의 값을 변경..

파이썬에서 "named tuples" 이란?

질문 : 파이썬에서 "명명 된 튜플"이란 무엇입니까? Python 3.1의 변경 사항을 읽으면서 예기치 않은 것을 발견했습니다. sys.version_info 튜플은 이제 명명 된 튜플입니다 . 명명 된 튜플에 대해 들어 본 적이 없었고 요소가 숫자 (튜플 및 목록과 같은) 또는 키 (사전과 같은)로 인덱싱 될 수 있다고 생각했습니다. 나는 그들이 두 가지 방법으로 색인화 될 수 있다고 결코 예상하지 못했습니다. 따라서 내 질문은 다음과 같습니다. 명명 된 튜플이란 무엇입니까? 어떻게 사용하나요? 왜 / 언제 일반 튜플 대신 명명 된 튜플을 사용해야합니까? 왜 / 언제 명명 된 튜플 대신 일반 튜플을 사용해야합니까? 어떤 종류의 "명명 된 목록"(명명 된 튜플의 변경 가능한 버전)이 있습니까? 답변 명명..

Python Interpreter에서 업데이트 된 패키지를 다시 가져 오는 방법

질문 : Python Interpreter에서 업데이트 된 패키지를 다시 가져 오는 방법은 무엇입니까? 나는 종종 Python Interpreter에서 내 모듈을 테스트하고 오류가 표시되면 .py 파일을 빠르게 업데이트합니다. 하지만 통역사에게 어떻게 반영해야합니까? 지금까지 파일을 다시 가져 오는 것이 작동하지 않기 때문에 통역사를 종료했다가 다시 입력했습니다. 답변 Python3 업데이트 : (마지막 편집 / 주석이 더 이상 사용되지 않는 방법을 제안했기 때문에 이미 답변 된 답변에서 인용) Python 3에서 reload imp 모듈로 이동되었습니다. 3.4에서 imp importlib 대신 사용되지 않으며 reload 는 후자에 추가되었습니다. 3 이상을 대상으로하는 경우 reload 호출 할 때..

파이썬 'for' 루프를 사용하여 딕셔너리 반복

질문 : 'for'루프를 사용하여 사전 반복 다음 코드에 약간 의아해합니다. d = {'x': 1, 'y': 2, 'z': 3} for key in d: print (key, 'corresponds to', d[key]) 내가 이해하지 못하는 것은 key 부분입니다. 파이썬은 사전에서 키를 읽기만하면된다는 것을 어떻게 인식합니까? key 은 파이썬에서 특별한 단어입니까? 아니면 단순히 변수입니까? 답변 key 는 변수 이름입니다. for key in d: 키와 값이 아니라 사전에있는 키를 단순히 반복합니다. 키와 값을 모두 반복하려면 다음을 사용할 수 있습니다. Python 3.x의 경우 : for key, value in d.items(): Python 2.x의 경우 : for key, value in..

파이썬에서 스레딩을 사용하는 방법

질문 : 파이썬에서 스레딩을 어떻게 사용할 수 있습니까? 파이썬에서 스레딩을 이해하려고합니다. 문서와 예제를 살펴 봤지만 솔직히 많은 예제가 지나치게 정교하여 이해하는 데 어려움이 있습니다. 멀티 스레딩을 위해 분할되는 작업을 어떻게 명확하게 표시합니까? 답변 이 질문이 2010 년에 제기 된 이후로 map 및 pool을 사용 하여 Python으로 간단한 멀티 스레딩을 수행하는 방법이 실제로 단순화되었습니다. 아래 코드는 반드시 확인해야하는 기사 / 블로그 게시물에서 발췌 한 것입니다 (제휴 없음)- 한 줄의 병렬 처리 : A Better Model for Day to Day Threading Tasks . 아래에 요약하겠습니다. 코드 몇 줄로 끝납니다. from multiprocessing.dummy ..

Python 배열 마지막 항목 부터 탐색 하는 방법

질문 : Python에서 역순으로 목록 탐색 len(collection) 에서 시작 collection[0] 에서 끝낼 수 있습니다. 또한 루프 인덱스에 액세스 할 수 있기를 원합니다. 답변 reversed() 함수를 사용하십시오. >>> a = ["foo", "bar", "baz"] >>> for i in reversed(a): ... print(i) ... baz bar foo 원래 인덱스에도 액세스하려면 reversed() 전달하기 전에 목록에서 enumerate() 를 사용하십시오. >>> for i, e in reversed(list(enumerate(a))): ... print(i, e) ... 2 baz 1 bar 0 foo enumerate() 는 생성기를 반환하고 생성기는 되돌릴 수 없으..

Python으로 작성된 CSV 파일에 각 행 사이에 빈 줄이 있을 때

질문 : Python으로 작성된 CSV 파일에는 각 행 사이에 빈 줄이 있습니다. import csv with open('thefile.csv', 'rb') as f: data = list(csv.reader(f)) import collections counter = collections.defaultdict(int) for row in data: counter[row[10]] += 1 with open('/pythonwork/thefile_subset11.csv', 'w') as outfile: writer = csv.writer(outfile) for row in data: if counter[row[10]] >= 504: writer.writerow(row) 이 코드 thefile.csv 읽고 변경..

Python 스크립트를 독립 실행 형 실행 파일로 컴파일하는 방법

질문 : 종속성없이 실행되도록 Python 스크립트를 독립 실행 형으로 실행하려면 어떻게해야합니까? 저는 Python 애플리케이션을 구축 중이며 클라이언트가 Python 및 모듈을 설치하도록 강요하고 싶지 않습니다. 그렇다면 Python 스크립트를 독립 실행 형 실행 파일로 컴파일하는 방법이 있습니까? 답변 이미 답변 한대로 py2exe 를 사용하고 Cython 을 사용하여 .pyc .py 파일, Windows의 .dll 및 Linux의 .so 와 같은 C 컴파일 된 파일을 변환 할 수 있습니다. .pyo 및 .pyc 파일보다 되 돌리는 것이 훨씬 더 어렵습니다 (또한 성능도 향상됩니다!). 출처 : https://stackoverflow.com/questions/5458048/how-can-i-make..

파이썬 정수를 이진수로 변환하는 방법

질문 : 파이썬 정수를 이진 문자열로? Python에서 Integer (또는 Long)를 이진 문자열로 변환 할 수있는 미리 준비된 Python 메서드가 있습니까? Google에는 무수히 많은 dec2bin () 함수가 있습니다.하지만 내장 함수 / 라이브러리를 사용할 수 있기를 바랐습니다. 답변 Python의 문자열 형식 메서드는 형식 사양을 취할 수 있습니다. >>> "{0:b}".format(37) '100101' Python 2 용 형식 사양 문서 Python 3 용 형식 사양 문서 출처 : https://stackoverflow.com/questions/699866/python-int-to-binary-string

macOS 또는 OS X에 pip를 설치하는 방법

질문 : macOS 또는 OS X에 pip를 어떻게 설치합니까? pip (Python 용 패키지 관리자) 설치에 대한 명확한 답을 찾기 위해 보냈습니다. 좋은 해결책을 찾을 수 없습니다. 어떻게 설치합니까? 답변 업데이트 (2019 년 1 월) : easy_install 은 더 이상 사용되지 않습니다 . get-pip.py 사용하십시오. 이전 답변 : easy_install pip 이것을 실행하기 위해 관리자 권한이 필요한 경우 다음을 시도하십시오. sudo easy_install pip 출처 : https://stackoverflow.com/questions/17271319/how-do-i-install-pip-on-macos-or-os-x

Python 객체를 올바르게 정리하는 방법

질문 : Python 객체를 올바르게 정리하려면 어떻게해야합니까? class Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self) 는 AttributeError 예외로 실패합니다. __del__() 이 호출 될 때 파이썬이 "전역 변수"(이 컨텍스트의 멤버 데이터?)의 존재를 보장하지 않는다는 것을 이해합니다. 이 경우이고 이것이 예외의 이유 인 경우 객체가 제대로 파괴되는지 어떻게 확인합니까? 답변 정리해야하는 리소스를 관리하기 위해 with 문을 사용하는 것이 좋습니다. 명시 적 close() 문을 사용할 때의 문제는 예외가 발생할 때..

파이썬의 삼항 조건 연산자

질문 : 파이썬에 삼항 조건 연산자가 있습니까? 파이썬에 삼항 조건 연산자가없는 경우 다른 언어 구조를 사용하여 하나를 시뮬레이션 할 수 있습니까? 답변 예, 버전 2.5에서 추가되었습니다. 표현식 구문은 다음과 같습니다. a if condition else b 첫 번째 condition 이 평가 된 다음 a 또는 b condition 의 부울 값을 기반으로 평가되고 반환됩니다. condition 이 True 평가되면 a 가 평가되고 반환되지만 b 는 무시됩니다. 그렇지 않으면 b 가 평가되고 반환되지만 a 는 무시됩니다. 때 때문 단락을 허용 condition 단지 사실 a 평가와 b 전혀 평가되지 않습니다,하지만 때 condition 거짓 만 b 평가하고 a 전혀 평가되지 않습니다. 예를 들면 : >..

표준 파이썬 문서 문자열 형식에 대해서

질문 : 표준 Python 독 스트링 형식은 무엇입니까? 파이썬으로 독 스트링을 작성하는 몇 가지 다른 스타일을 보았습니다. 공식적인 또는 "합의 된"스타일이 있습니까? 답변 형식 파이썬 독 스트링은 다른 포스트에서 보여준 것처럼 여러 형식으로 작성할 수 있습니다. 그러나 기본 Sphinx 독 스트링 형식은 언급되지 않았으며 reStructuredText (reST)를 기반으로합니다. 이 블로그 게시물 에서 주요 형식에 대한 정보를 얻을 수 있습니다. reST는 PEP 287에서 권장합니다. 독 스트링에 사용되는 주요 형식은 다음과 같습니다. - 서사시 역사적으로 javadoc 과 같은 스타일이 널리 퍼져 있었기 때문에 Epydoc Epytext 형식이라고 함)의 기반으로 문서를 생성했습니다. 예: ""..

Python의 ISO 시간 (ISO 8601)

질문 : Python의 ISO 시간 (ISO 8601) 파일이 있습니다. Python에서는 생성 시간을 가져 와서 ET ( Eastern Time Zone) 에서 생성되었다는 사실을 유지하면서 ISO 시간 (ISO 8601) 문자열 로 변환하고 싶습니다. 파일의 ctime을 가져 와서 동부 표준 시간대를 나타내는 ISO 시간 문자열로 변환하려면 어떻게해야합니까 (필요한 경우 일광 절약 시간을 고려함)? 답변 ISO 8601 로컬 : import datetime datetime.datetime.now().isoformat() >>> 2020-03-20T14:28:23.382748 UTC-ISO 8601 : import datetime datetime.datetime.utcnow().isoformat() >..

728x90
반응형