728x90
반응형

프로그래밍 언어/Python 318

파이썬에서 __future__는 언제 어떻게 무엇에 사용해야 할까?

질문 : 파이썬에서 __future__는 무엇에 사용되며 어떻게 / 언제 사용되며 어떻게 작동하는지 __future__ 는 Python 모듈에 자주 나타납니다. 나는 무엇을 이해하지 __future__ 위한 방법 / 경우에도 읽은 후 그것을 사용하는 방법입니다 파이썬의 __future__ 문서를 . 누구든지 예를 들어 설명 할 수 있습니까? __future__ 의 기본 사용법에 대한 몇 가지 답변이 올바른 것 같습니다. __future__ 작동 방식에 대해 한 가지 더 이해해야합니다. 저에게 가장 혼란스러운 개념은 현재 python 릴리스에 향후 릴리스의 기능이 포함되는 방법과 향후 릴리스의 기능을 사용하는 프로그램이 현재 버전의 Python에서 성공적으로 컴파일되는 방법입니다. 현재 릴리스에는 미래를위..

파이썬에서 증감연산자를 사용하는 방법 (++/--)

질문 : ++로 증가하는 파이썬 정수 VB6 시절을 돌아보며 "이중 더하기 기호로 증가 할 수없는 현대 언어는 무엇입니까?"라고 생각했을 때 항상 웃었습니다. number++ 놀랍게도 Python 문서에서 이것에 대해 아무것도 찾을 수 없습니다. 나는 정말로 number = number + 1 복종해야합니까? 사람들이 ++/-- 표기법을 사용하지 않습니까? 답변 Python은 ++ 지원하지 않지만 다음과 같이 할 수 있습니다. number += 1 출처 : https://stackoverflow.com/questions/2632677/python-integer-incrementing-with

파이썬 "with"문을 활용하는 방법

질문 : 파이썬 "with"문은 무엇을 위해 설계 되었습니까? 나는 with 성명서를 접했다. 저는 파이썬을 몇 달 동안 가볍게 사용해 왔지만 그 존재조차 몰랐습니다! 다소 모호한 상태를 감안할 때 다음과 같이 물어볼 가치가 있다고 생각했습니다. Python "with" 문은 무엇에 사용되도록 설계되었는가? 어디에 쓰는 것인가? 제가 알아야 할 gotchas나 그 사용과 관련된 일반적인 안티패턴이 있나요? 더 나은 경우는 "try..finally" 가 아니라 'with'? 왜 더 널리 사용되지 않는 건가요? 어떤 표준 라이브러리가 호환되나요? 답변 이 문제는 이전에 다른 사용자가 이미 답변했다고 생각하므로 완전성을 위해서만 추가합니다. with 문은 소위 컨텍스트 관리자 에서 일반적인 준비 및 정리 작업..

Python을 사용하여 문자열에서 문자를 삭제하는 방법

질문 : Python을 사용하여 문자열에서 문자를 삭제하는 방법 예를 들어 문자열이 있습니다. EXAMPLE . 중간 문자, 즉 M 을 제거하려면 어떻게해야합니까? 코드가 필요하지 않습니다. 나는 알고 싶다: 파이썬의 문자열은 특수 문자로 끝나나요? 더 나은 방법은 중간 문자에서 시작하여 모든 것을 오른쪽에서 왼쪽으로 이동하거나 새 문자열을 만들고 중간 문자를 복사하지 않는 것입니까? 답변 파이썬에서 문자열은 불변이므로 새 문자열을 만들어야합니다. 새 문자열을 만드는 방법에 대한 몇 가지 옵션이 있습니다. 'M'이 나타날 때마다 제거하려면 : newstr = oldstr.replace("M", "") 중앙 문자를 제거하려면 다음을 수행하십시오. midlen = len(oldstr) // 2 newstr ..

파이썬에서 "assert" 사용법

질문 : 파이썬에서 "assert"의 사용은 무엇입니까? 나는 몇 가지 소스 코드를 읽고 여러 곳에서 assert 사용을 보았습니다. 정확히 무엇을 의미합니까? 그 사용법은 무엇입니까? 답변 assert 문은 거의 모든 프로그래밍 언어에 존재합니다. 나중에 다른 작업이 실패 할 때가 아니라 원인이 명확한 프로그램 초기에 문제를 감지하는 데 도움이됩니다. 당신이 할 때 ... assert condition ... 프로그램에 해당 조건을 테스트하도록 지시하고 조건이 거짓이면 즉시 오류를 트리거합니다. Python에서는 대략 다음과 같습니다. if not condition: raise AssertionError() Python 셸에서 시도해보세요. >>> assert True # nothing happens ..

파이썬의 super ()와 다중 상속

질문 : 파이썬의 super ()는 다중 상속과 어떻게 작동합니까? 저는 파이썬 객체 지향 프로그래밍에서 꽤 새로운 편이며 super() 함수 (새 스타일 클래스)를 이해하는 데 어려움이 있습니다. 예를 들어 다음과 같은 경우 : class First(object): def __init__(self): print "first" class Second(object): def __init__(self): print "second" class Third(First, Second): def __init__(self): super(Third, self).__init__() print "that's it" 내가 얻지 못하는 것은 : Third() 클래스가 두 생성자 메서드를 상속 할 것인가? 그렇다면 어떤 것이 s..

파이썬에서 list를 반대로 출력하는 방법

질문 : 파이썬에서 목록을 어떻게 되돌릴 수 있습니까? 파이썬에서 다음을 어떻게 할 수 있습니까? array = [0, 10, 20, 40] for (i = array.length() - 1; i >= 0; i--) 배열의 요소가 필요하지만 끝에서 시작까지. 답변 reversed 기능을 다음과 같이 사용할 수 있습니다. >>> array=[0,10,20,40] >>> for i in reversed(array): ... print(i) reversed(...) 는 목록을 반환하지 않습니다. list(reversed(array)) 사용하여 반전 된 목록을 얻을 수 있습니다. 출처 : https://stackoverflow.com/questions/3940128/how-can-i-reverse-a-list-..

pip의 캐시를 제거 하는 방법

질문 : pip의 캐시를 제거 하시겠습니까? 특별히 psycopg2 v2.4.1을 설치해야합니다. 실수로 다음과 같이했습니다. pip install psycopg2 대신에: pip install psycopg2==2.4.1 이전 버전 대신 2.4.4를 설치합니다. 이제 psycopg2를 제거하고 올바른 버전으로 다시 설치하려고 시도한 후에도 pip가 처음 다운로드 한 캐시를 재사용하는 것처럼 보입니다. pip가 다운로드 캐시를 지우고 명령에 포함 된 특정 버전을 사용하도록하려면 어떻게해야합니까? 답변 pip 6.0 이상을 사용하는 경우 --no-cache-dir 옵션 ( source )을 추가해보세요. pip 6.0보다 오래된 pip를 사용하는 경우 pip install -U pip 업그레이드하십시오. ..

Python의 mkdir -p 기능

질문 : Python의 mkdir -p 기능 Python 내에서 쉘에서 mkdir -p 와 유사한 기능을 얻을 수있는 방법이 있습니까? 시스템 호출 이외의 솔루션을 찾고 있습니다. 코드가 20 줄 미만이라고 확신하고 누군가 이미 작성했는지 궁금합니다. 답변 Python ≥ 3.5의 경우 pathlib.Path.mkdir 사용하십시오. import pathlib pathlib.Path("/tmp/path/to/desired/directory").mkdir(parents=True, exist_ok=True) exist_ok 매개 변수는 Python 3.5에서 추가되었습니다. Python ≥ 3.2의 경우 os.makedirs 에는선택적인 세 번째 인수 인 exist_ok 가 있습니다.이 True mkdir ..

Python의 문자열에서 특정 문자 제거

질문 : Python의 문자열에서 특정 문자 제거 Python을 사용하여 문자열에서 특정 문자를 제거하려고합니다. 이것이 제가 지금 사용하고있는 코드입니다. 불행히도 그것은 문자열에 아무것도하지 않는 것처럼 보입니다. for char in line: if char in " ?.!/;:": line.replace(char,'') 이 작업을 올바르게 수행하려면 어떻게해야합니까? 답변 Python의 문자열은 변경할 수 없습니다 (변경할 수 없음). line.replace(...) 의 효과는 이전 문자열을 변경하는 대신 새 문자열을 만드는 것입니다. 해당 문자가 제거 된 상태에서 해당 변수가 새 값을 갖도록 line 에 리 바인드 (할당)해야합니다. 또한, 당신이하는 방식은 상대적으로 느릴 것입니다. 또한 이중..

Python에서 현재 스크립트 이름 가져 오기

질문 : Python에서 현재 스크립트 이름 가져 오기 현재 실행중인 Python 스크립트의 이름을 얻으려고합니다. foo.py 라는 스크립트가 있는데 스크립트 이름을 얻기 위해 다음과 같이하고 싶습니다. print Scriptname 답변 __file__ 을 사용하여 현재 파일의 이름을 가져올 수 있습니다. 메인 모듈에서 사용될 때 이것은 원래 호출 된 스크립트의 이름입니다. 디렉토리 부분 (있을 수 있음)을 생략하려면 os.path.basename(__file__) 사용할 수 있습니다. 출처 : https://stackoverflow.com/questions/4152963/get-name-of-current-script-in-python

파이썬에서 존재하지 않을 수 있는 파일을 삭제하는 가장 좋은 방법

질문 : 존재하지 않을 수있는 파일을 삭제하는 가장 비단뱀적인 방법 filename 경우 삭제하고 싶습니다. 말하는 것이 적절합니까? if os.path.exists(filename): os.remove(filename) 더 좋은 방법이 있습니까? 한 줄로? 답변 더 비단뱀적인 방법은 다음과 같습니다. try: os.remove(filename) except OSError: pass 이것은 더 많은 라인을 필요로하고 매우 추하게 보이지만 os.path.exists() 대한 불필요한 호출을 피하고 예외를 남용하는 파이썬 규칙을 따릅니다. 이 작업을 수행하는 함수를 작성하는 것이 좋습니다. import os, errno def silentremove(filename): try: os.remove(filena..

파이썬에서 숫자를 반올림하는 방법

질문 : 파이썬에서 어떻게 숫자를 반올림합니까? 이 문제는 나를 죽이고 있습니다. 파이썬에서 어떻게 숫자를 올림합니까? 나는 round (number)를 시도했지만 숫자를 반올림했습니다. 예: round(2.3) = 2.0 and not 3, what I would like 나는 int (number + .5)를 시도했지만 숫자를 다시 반올림합니다! 예: int(2.3 + .5) = 2 그런 다음 round (number + .5)를 시도했지만 가장자리의 경우에는 작동하지 않습니다. 예: WAIT! THIS WORKED! 조언하십시오. 답변 ceil (천장) 기능 : import math print(int(math.ceil(4.2))) 출처 : https://stackoverflow.com/questio..

Python 2.X에서 범위와 xrange 함수의 차이점

질문 : Python 2.X에서 범위와 xrange 함수의 차이점은 엇입니까? 분명히 xrange가 더 빠르지 만 왜 더 빠른지 (지금까지 더 빠르다는 증거 외에는 증거가 없음) 또는 그 외에 다른 점이 무엇인지 모르겠습니다. for i in range(0, 20): for i in xrange(0, 20): 답변 Python 2.x에서 : range 는 목록을 생성하므로 range(1, 10000000) 9999999 요소가있는 목록이 메모리에 생성됩니다. xrange 는 느리게 평가하는 시퀀스 객체입니다. Python 3 : range 는 Python 2의 xrange 와 동일합니다. 목록을 얻으려면 명시 적으로 list(range(...)) 사용해야합니다. xrange 는 더 이상 존재하지 않습니다..

Suppress InsecureRequestWarning: Unverified HTTPS request is being made in Python2.6

질문 : InsecureRequestWarning 억제 : Python2.6에서 확인되지 않은 HTTPS 요청이 이루어집니다. pyVmomi 를 사용하고 연결 방법 중 하나를 사용하는 동안 Python2.6에서 스크립트를 작성하고 있습니다. service_instance = connect.SmartConnect(host=args.ip, user=args.user, pwd=args.password) 다음 경고가 표시됩니다. /usr/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py:734: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certifi..

getter와 setter를 사용하는 파이썬적인 방법

질문 : getter와 setter를 사용하는 파이썬적인 방법은 무엇입니까? 나는 그것을 다음과 같이하고있다 : def set_property(property,value): def get_property(property): 또는 object.property = value value = object.property 저는 Python을 처음 사용하므로 여전히 구문을 탐색 중이며이 작업에 대한 조언이 필요합니다. 답변 이것을 시도하십시오 : Python 속성 샘플 코드는 다음과 같습니다. class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" print("getter of x cal..

Python에서 이전 스타일과 새 스타일 클래스의 차이점

질문 : Python에서 이전 스타일과 새 스타일 클래스의 차이점은 무엇입니까? Python에서 이전 스타일과 새 스타일 클래스의 차이점은 무엇입니까? 둘 중 하나를 언제 사용해야합니까? 답변 새로운 스타일 및 클래식 클래스에서 : Python 2.1까지 구식 클래스는 사용자가 사용할 수있는 유일한 버전이었습니다. (구식) 클래스의 개념은 유형의 개념과 관련이 없습니다. x 가 구식 클래스의 인스턴스 인 경우 x.__class__ x 의 클래스를 지정하지만 type(x) 는 항상 . 이는 클래스와 관계없이 모든 구식 인스턴스가 인스턴스라고하는 단일 내장 유형으로 구현된다는 사실을 반영합니다. 클래스와 유형의 개념을 통합하기 위해 Python 2.2에서 새로운 스타일의 클래스가 도입되었습니다 . 새로운 스..

파이썬 딕셔너리 'has_key ()' vs'in'

질문 : 파이썬 사전에 'has_key ()'또는 'in'을 사용해야합니까? 무엇을하는 것이 더 나은지 궁금합니다. d = {'a': 1, 'b': 2} 'a' in d True 또는: d = {'a': 1, 'b': 2} d.has_key('a') True 답변 in 은 확실히 더 비단뱀 적입니다. 사실 has_key() 는 Python 3.x에서 제거되었습니다 . 출처 : https://stackoverflow.com/questions/1323410/should-i-use-has-key-or-in-on-python-dicts

클래스 JSON을 직렬화 가능하게 만드는 방법

질문 : 클래스 JSON을 직렬화 가능하게 만드는 방법 파이썬 클래스를 직렬화하는 방법은 무엇입니까? 간단한 수업 : class FileItem: def __init__(self, fname): self.fname = fname 다음과 같은 결과를 얻으려면 어떻게해야합니까? >>> import json >>> my_file = FileItem('/foo/bar') >>> json.dumps(my_file) TypeError: Object of type 'FileItem' is not JSON serializable 오류없이 답변 예상되는 출력에 대한 아이디어가 있습니까? 예를 들어, 그렇게할까요? >>> f = FileItem("/foo/bar") >>> magic(f) '{"fname": "/foo/b..

파이썬에서 배열을 선언하는 방법

질문 : 파이썬에서 배열을 선언하는 방법은 무엇입니까? 파이썬 에서 배열을 어떻게 선언합니까? 설명서에서 배열에 대한 참조를 찾을 수 없습니다. 답변 variable = [] 이제 variable 는 빈 목록 *을 참조 합니다. 물론 이것은 선언이 아니라 할당입니다. 파이썬은 동적으로 타이핑되기 때문에 파이썬에서 "이 변수는 목록 이외의 다른 것을 참조해서는 안된다"라고 말할 방법이 없습니다. * 기본 내장 Python 유형은 배열이 아닌 목록이라고합니다. 이기종 개체 컬렉션을 보유 할 수있는 임의 길이의 정렬 된 컨테이너입니다 (유형은 중요하지 않으며 자유롭게 혼합 할 수 있음). array 유형에 더 가까운 유형을 제공하는 array 모듈 과 혼동해서는 안됩니다. 내용은 동종 (모두 동일한 유형)이어..

Python에서 파일 압축 해제 하는 방법

질문 : Python에서 파일 압축 해제 zipfile 문서를 읽었 지만 파일 압축 을 푸는 방법을 이해할 수 없었고 파일을 압축하는 방법 만 이해할 수있었습니다. zip 파일의 모든 내용을 동일한 디렉토리에 어떻게 압축 해제합니까? 답변 import zipfile with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref: zip_ref.extractall(directory_to_extract_to) 그게 다야! 출처 : https://stackoverflow.com/questions/3451111/unzipping-files-in-python

파이썬 "if x is not None" or "if not x is None"

질문 : 파이썬`x가 None이 아니면`아니면`x가 None`이 아니면? if not x is None 버전이 아니라면 항상 더 명확하다고 생각했지만 Google의 스타일 가이드 와 PEP-8은 모두 if x is not None 사용합니다. 사소한 성능 차이가 있습니까 (그렇지 않다고 가정합니다), 하나가 실제로 맞지 않는 경우가 있습니까 (다른 하나가 내 컨벤션에서 확실한 승자로 만드는 경우)? * None 아닌 모든 싱글 톤을 언급하고 있습니다. ... 없음과 같은 싱글 톤을 비교합니다. 사용 여부입니다. 답변 동일한 바이트 코드로 컴파일되므로 성능 차이가 없습니다. >>> import dis >>> dis.dis("not x is None") 1 0 LOAD_NAME 0 (x) 2 LOAD_CON..

파이썬에서 두 개의 datetime 객체 간의 시간 차이 확인

질문 : 파이썬에서 두 개의 datetime 객체 간의 시간 차이를 어떻게 찾습니까? datetime 객체 간의 시간 차이를 분 단위로 어떻게 알 수 있습니까? 답변 >>> import datetime >>> first_time = datetime.datetime.now() >>> later_time = datetime.datetime.now() >>> difference = later_time - first_time datetime.timedelta(0, 8, 562000) >>> seconds_in_day = 24 * 60 * 60 >>> divmod(difference.days * seconds_in_day + difference.seconds, 60) (0, 8) # 0 minutes, 8 sec..

Python에서 파일 크기를 확인하는 방법

질문 : Python에서 파일 크기를 어떻게 확인할 수 있습니까? Windows에서 Python 스크립트를 작성 중입니다. 파일 크기에 따라 뭔가를하고 싶습니다. 예를 들어, 크기가 0보다 크면 누군가에게 이메일을 보내고 그렇지 않으면 다른 일을 계속합니다. 파일 크기는 어떻게 확인합니까? 답변 os.stat 의해 반환 된 객체 st_size 속성이 필요합니다. pathlib (Python 3.4+)를 사용하여 가져올 수 있습니다. >>> from pathlib import Path >>> Path('somefile.txt').stat() os.stat_result(st_mode=33188, st_ino=6419862, st_dev=16777220, st_nlink=1, st_uid=501, st_gid..

728x90
반응형