728x90
반응형

프로그래밍 언어/Python 318

파이썬의 순서 집합

질문 : 파이썬에 순서 집합이 있습니까? 파이썬에는 순서가 지정된 사전이 있습니다. 순서 집합은 있습니까? 답변 Python 2 문서 에서 참조하는이를위한 순서가 지정된 세트 ( 새 링크 가능) 레시피가 있습니다. 이것은 수정없이 Py2.6 이상 및 3.0 이상에서 실행됩니다. 인터페이스는 초기화가 목록으로 수행되어야한다는 점을 제외하고는 일반 세트와 거의 동일합니다. OrderedSet([1, 2, 3]) 이것은 MutableSet이므로 .union 의 시그니처는 set의 시그니처와 일치하지 않지만 __or__ 포함하므로 유사한 것을 쉽게 추가 할 수 있습니다. @staticmethod def union(*sets): union = OrderedSet() union.union(*sets) return ..

사람들이 파이썬 스크립트의 첫 번째 줄에 #! / usr / bin / env python을 쓰는 이유

질문 : 사람들이 파이썬 스크립트의 첫 번째 줄에 #! / usr / bin / env python을 쓰는 이유는 무엇입니까? 파일이 그 줄없이 똑같이 실행되는 것처럼 보입니다. 답변 여러 버전의 Python이 설치되어있는 경우 /usr/bin/env 는 사용 된 인터프리터가 환경의 $PATH 의 첫 번째 인터프리터인지 확인합니다. #!/usr/bin/python 과 같은 것을 하드 코딩하는 것입니다. 괜찮지 만 유연성이 떨어집니다. Unix에서 해석 할 실행 #! 를 사용하여 사용할 인터프리터를 나타낼 수 있습니다. 첫 번째 줄의 시작 부분에 인터프리터 (및 필요한 모든 플래그)가 이어집니다. 당신이 다른 플랫폼에 대해 얘기하는 경우, 물론,이 규칙이 적용되지 않습니다 (하지만 "오두막 라인은"아무런 ..

ISO 8601 datetime 문자열을 Python datetime 객체로 변환하는 방법

질문 : ISO 8601 datetime 문자열을 Python datetime 객체로 어떻게 변환합니까? "2009-05-28T16 : 15 : 00"과 같은 형식의 datetime 문자열을 받고 있습니다 (이것은 ISO 8601입니다). 한 가지 hackish 옵션은 time.strptime 사용하여 문자열을 구문 분석하고 튜플의 처음 6 개 요소를 datetime 생성자에 전달하는 것입니다. datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6]) 나는 이것을하는 "더 깨끗한"방법을 찾을 수 없었다. 하나있어? 답변 시간대 처리 및 일반적으로 견고한 날짜 구문 분석을 위해 dateutil 라이브러리를 사용하는 것..

Python 객체가 "subscriptable" 여부가 의미하는 것

질문 : Python 객체가 "subscriptable"여부는 무엇을 의미합니까? "subscriptable"도메인에 속하는 개체 유형은 무엇입니까? 답변 __getitem__() 메서드를 구현 함을 의미합니다. 즉, "컨테이너"인 개체를 설명합니다. 즉, 다른 개체를 포함합니다. 여기에는 문자열, 목록, 튜플 및 사전이 포함됩니다. 출처 : https://stackoverflow.com/questions/216972/what-does-it-mean-if-a-python-object-is-subscriptable-or-not

Python 함수가 예외를 발생시키는 지 테스트 하는 방법

질문 : Python 함수가 예외를 발생시키는 지 어떻게 테스트합니까? 함수가 예상되는 예외를 throw하지 않는 경우에만 실패하는 unittest를 어떻게 작성합니까? 답변 TestCase.assertRaises (또는 TestCase.failUnlessRaises )를 사용합니다. 예를 들면 다음과 같습니다. import mymod class MyTestCase(unittest.TestCase): def test1(self): self.assertRaises(SomeCoolException, mymod.myfunc) 출처 : https://stackoverflow.com/questions/129507/how-do-you-test-that-a-python-function-throws-an-exception

Python3의 StringIO

질문 : Python3의 StringIO Python 3.2.1을 사용하고 있는데 StringIO 모듈을 가져올 수 없습니다. io.StringIO 사용하고 작동하지만 다음과 같이 numpy 의 genfromtxt 와 함께 사용할 수 없습니다. x="1 3\n 4.5 8" numpy.genfromtxt(io.StringIO(x)) 다음과 같은 오류가 발생합니다. TypeError: Can't convert 'bytes' object to str implicitly import StringIO 작성하면 ImportError: No module named 'StringIO' 답변 import StringIO를 쓸 때 그러한 모듈이 없다고 말합니다. Python 3.0의 새로운 기능에서 : StringIO 및..

파이썬에서 16 진수 문자열을 int로 변환

질문 : 파이썬에서 16 진수 문자열을 int로 변환파이썬에서 16 진수 문자열을 정수로 어떻게 변환합니까?0xffff "또는 " ffff "로 가질 수 있습니다.답변0x 접두사가 없으면 기본을 명시 적으로 지정해야합니다. 그렇지 않으면 알 수있는 방법이 없습니다.x = int("deadbeef", 16) 0x 접두사를 사용 하면 Python은 16 진수와 10 진수를 자동으로 구분할 수 있습니다.>>> print(int("0xdeadbeef", 0)) 3735928559 >>> print(int("10", 0)) 10 (이 접두사 추측 동작을 호출하려면 기본으로 0 을 지정 해야합니다 int() 는 기본 10으로 간주합니다.)출처 : https://stackoverflow.com/questions/20..

Python에서 환경 변수를 설정하는 방법

질문 : Python에서 환경 변수를 설정하는 방법은 무엇입니까? Python 스크립트에서 일부 환경 변수를 설정해야하며 Python에서 호출되는 다른 모든 스크립트에서 환경 변수 집합을 확인하고 싶습니다. 만약 내가한다면, os.environ["DEBUSSY"] = 1 1 이 문자열이어야한다고 불평합니다. 또한 내가 설정 한 후 Python에서 환경 변수를 읽는 방법 (스크립트의 후반부)을 알고 싶습니다. 답변 환경 변수는 문자열이어야하므로 os.environ["DEBUSSY"] = "1" DEBUSSY 변수를 문자열 1 로 설정합니다. 나중에이 변수에 액세스하려면 다음을 사용하십시오. print(os.environ["DEBUSSY"]) 하위 프로세스는 상위 프로세스의 환경 변수를 자동으로 상속하므로 ..

파이썬에서 추상 클래스와 인터페이스의 차이점

질문 : 파이썬에서 추상 클래스와 인터페이스의 차이점파이썬에서 추상 클래스와 인터페이스의 차이점은 무엇입니까?답변때때로 보게되는 것은 다음과 같습니다.class Abstract1: """Some description that tells you it's abstract, often listing the methods you're expected to supply.""" def aMethod(self): raise NotImplementedError("Should have implemented this") Python에는 공식적인 인터페이스 계약이 없으며 필요하지 않기 때문에 추상화와 인터페이스 사이의 Java 스타일 구분이 존재하지 않습니다. 누군가가 공식 인터페이스를 정의하려는 노력을한다면 그것은 또한 ..

Python 사전 검색 목록

질문 : Python 사전 검색 목록내가 이것을 가지고 있다고 가정합니다.[ {"name": "Tom", "age": 10}, {"name": "Mark", "age": 5}, {"name": "Pam", "age": 7} ] 이름으로 "Pam"을 검색하여 관련 사전을 검색하고 싶습니다 : {name: "Pam", age: 7}이것을 달성하는 방법?답변생성기 표현식을 사용할 수 있습니다.>>> dicts = [ ... { "name": "Tom", "age": 10 }, ... { "name": "Mark", "age": 5 }, ... { "name": "Pam", "age": 7 }, ... { "name": "Dick", "age": 12 } ... ] >>> next(item for item in..

"JSON 직렬화 가능하지 않은 datetime.datetime"을 극복하는 방법

질문 : "JSON 직렬화 가능하지 않은 datetime.datetime"을 극복하는 방법은 무엇입니까? 다음과 같은 기본 사전이 있습니다. sample = {} sample['title'] = "String" sample['somedate'] = somedatetimehere jsonify(sample) 시도하면 다음과 같은 결과가 나타납니다. TypeError: datetime.datetime(2012, 8, 8, 21, 46, 24, 862000) is not JSON serializable 사전 샘플이 위의 오류를 극복 할 수 있도록 어떻게해야합니까? 참고 : 관련성이 없을 수도 있지만 사전은 mongodb 에서 str(sample['somedate']) 를 출력하면 출력은 2012-08-08 2..

파이썬의 자식 클래스에서 부모 클래스의 메서드를 호출하는 방법

질문 : 파이썬의 자식 클래스에서 부모 클래스의 메서드를 어떻게 호출합니까? Python에서 간단한 개체 계층을 만들 때 파생 클래스에서 부모 클래스의 메서드를 호출 할 수 있기를 원합니다. Perl과 Java에는 이에 대한 키워드가 있습니다 ( super ). Perl에서는 다음과 같이 할 수 있습니다. package Foo; sub frotz { return "Bamf"; } package Bar; @ISA = qw(Foo); sub frotz { my $str = SUPER::frotz(); return uc($str); } Python에서는 자식에서 명시 적으로 부모 클래스의 이름을 지정해야하는 것으로 보입니다. Foo::frotz() 와 같은 작업을 수행해야합니다. 이 동작은 깊은 계층 구조를 ..

pickle을 사용하여 dict을 저장하는 방법

질문 : pickle을 사용하여 사전을 저장하려면 어떻게해야합니까? 파이썬 문서가 제공하는 정보를 살펴 보았지만 여전히 약간 혼란 스럽습니다. 누군가 새 파일을 작성하는 샘플 코드를 게시 한 다음 피클을 사용하여 사전을 덤프 할 수 있습니까? 답변 이 시도: import pickle a = {'hello': 'world'} with open('filename.pickle', 'wb') as handle: pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL) with open('filename.pickle', 'rb') as handle: b = pickle.load(handle) print a == b 출처 : https://stackoverflow.com..

파이썬에서 한 문자열을 다른 문자열에 추가하는 방법

질문 : 파이썬에서 한 문자열을 다른 문자열에 어떻게 추가합니까? 다음과는 달리 Python에서 한 문자열을 다른 문자열에 추가하는 효율적인 방법을 원합니다. var1 = "foo" var2 = "bar" var3 = var1 + var2 사용할 좋은 기본 제공 방법이 있습니까? 답변 문자열에 대한 참조가 하나만 있고 다른 문자열을 끝에 연결하는 경우 CPython은 이제 특수한 경우에 해당 문자열을 제자리에서 확장하려고합니다. 최종 결과는 작업이 O (n)으로 분할되는 것입니다. 예 : s = "" for i in range(n): s+=str(i) 예전에는 O (n ^ 2) 였지만 지금은 O (n)입니다. 소스 (bytesobject.c)에서 : void PyBytes_ConcatAndDel(regi..

Ubuntu에서 pip를 통해 python3 버전의 패키지를 설치하는 방법

질문 : Ubuntu에서 pip를 통해 python3 버전의 패키지를 설치하는 방법은 무엇입니까? 나는 모두가 python2.7 및 python3.2 에 설치된 Ubuntu 12.04 . 심볼릭 링크 python python2.7 연결합니다. 내가 입력 할 때 : sudo pip install package-name 기본적 package-name python2 버전을 설치합니다. 일부 패키지는 python2 및 python3 모두 지원합니다. pip 를 통해 package-name 의 python3 버전을 설치하는 방법은 무엇입니까? 답변 virtualenv 를 빌드 한 다음 virtualenv를 활성화 한 후 python3의 패키지를 설치할 수 있습니다. 따라서 시스템이 엉망이되지 않습니다. :) 다음..

Python에서 모든 객체 속성을 가져오는 방법

질문 : Python에서 모든 객체 속성을 가져 오시겠습니까? 모든 속성 / 메서드 / 필드 / 등을 얻을 수있는 방법이 있습니까? 파이썬에서 객체의? vars() 가까운 내가 원하는 무엇이지만, 객체가하지 않는 한이 작동하지 않습니다 __dict__ 항상 사실이 아니다, (A에 대한 예를 들어, 그것은 사실이 아니에요 list 하는 dict 등). 답변 내장 함수 dir() 사용하십시오. 출처 : https://stackoverflow.com/questions/6886493/get-all-object-attributes-in-python

파이썬을 사용하여 CPU 수를 찾는 방법

질문 : 파이썬을 사용하여 CPU 수를 찾는 방법Python을 사용하는 로컬 머신의 CPU 수를 알고 싶습니다. 결과는 최적의 확장 사용자 공간 전용 프로그램으로 호출 할 때 time(1) 의해 출력 된 user/real답변버전이 2.6 이상인 파이썬이 있다면 간단히 사용할 수 있습니다.import multiprocessing multiprocessing.cpu_count() http://docs.python.org/library/multiprocessing.html#multiprocessing.cpu_count출처 : https://stackoverflow.com/questions/1006289/how-to-find-out-the-number-of-cpus-using-python

Python에서 datetime.time에 N 초를 추가하는 표준 방법

질문 : Python에서 datetime.time에 N 초를 추가하는 표준 방법은 무엇입니까? datetime.time 값이 주어지면 정수 초를 추가하는 표준 방법이 있습니까? 예를 들어 11:34:59 + 3 = 11:35:02 이러한 명백한 아이디어는 작동하지 않습니다. >>> datetime.time(11, 34, 59) + 3 TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int' >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3) TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timed..

728x90
반응형