«cpython» 태그된 질문

Python 프로그래밍 언어의 참조 구현입니다. 이 구현과 관련된 질문에이 태그를 사용하십시오. 일반적인 Python 질문에는 "python"태그 만 지정해야합니다.

3
함수에서 파이썬 코드가 더 빨리 실행되는 이유는 무엇입니까?
def main(): for i in xrange(10**8): pass main() 이 Python 코드는 다음에서 실행됩니다 (참고 : 타이밍은 Linux의 BASH에서 시간 함수로 수행됩니다). real 0m1.841s user 0m1.828s sys 0m0.012s 그러나 for 루프가 함수 내에 배치되지 않으면 for i in xrange(10**8): pass 훨씬 오랜 시간 동안 실행됩니다. real 0m4.543s user 0m4.524s sys 0m0.012s …

12
PyPy가 6.3 배 더 빠르면 CPython보다 PyPy를 사용해야하는 이유는 무엇입니까?
PyPy 프로젝트 에 대해 많이 들었습니다 . 그들은 사이트 의 CPython 인터프리터 보다 6.3 배 빠르다고 주장했다 . 파이썬과 같은 동적 언어에 대해 이야기 할 때마다 속도가 가장 큰 문제 중 하나입니다. 이를 해결하기 위해 PyPy가 6.3 배 빠릅니다. 두 번째 문제는 악명 높은 GIL ( Global Interpreter Lock) 이라는 …

9
파이썬 대 파이썬
파이썬과 CPython (Jython, IronPython) 에 대한 소란이 무엇입니까 , 나는 그것을 얻지 못했습니다. python.org 는 CPython이 다음과 같다고 언급합니다. "전통적인"파이썬 구현 (닉네임 CPython) 또 다른 스택 오버플로 질문 은 다음과 같이 언급합니다. CPython은 C로 작성된 Python의 기본 바이트 코드 인터프리터입니다. 솔직히 나는 그 두 설명이 실제로 의미하는 것을 얻지 못했지만 …
447 python  cpython 

2
어떤 float <integer 비교가 다른 것들보다 4 배 느린 이유는 무엇입니까?
float를 정수와 비교할 때 일부 값 쌍은 비슷한 크기의 다른 값보다 평가하는 데 훨씬 오래 걸립니다. 예를 들면 다음과 같습니다. &gt;&gt;&gt; import timeit &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953421000") # run 1 million times 0.5387085462592742 그러나 float 또는 integer가 특정 양만큼 작거나 커지면 비교가 훨씬 빠르게 수행됩니다. &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953422000") # …

5
set ()은 어떻게 구현됩니까?
사람들은 set파이썬의 객체에 O (1) 멤버쉽 검사가 있다고 말합니다 . 이것을 허용하기 위해 내부적으로 어떻게 구현됩니까? 어떤 종류의 데이터 구조를 사용합니까? 그 구현에 어떤 다른 의미가 있습니까? 여기에있는 모든 대답은 실제로 깨달았지만 하나만 받아 들일 수 있으므로 원래 질문에 가장 가까운 대답으로 갈 것입니다. 정보 주셔서 감사합니다!

3
[* a]의 전반적인 원인은 무엇입니까?
분명히 전체적으로 분류list(a) 하지 않고 [x for x in a]어떤 시점에서 전체적으로[*a] 할당하고 항상 전체적으로 할당 합니까? 다음은 크기가 n에서 0부터 12까지이며 세 가지 방법에 대한 결과 크기는 바이트입니다. 0 56 56 56 1 64 88 88 2 72 88 96 3 80 88 104 4 88 88 112 5 …

3
작은 목록보다 작은 문자열을 반복하는 것이 왜 느린가요?
나는 timeit을 가지고 놀고 있었고 작은 문자열에 대한 간단한 목록 이해가 작은 단일 문자열 목록에서 동일한 작업을 수행하는 것보다 오래 걸린다는 것을 알았습니다. 어떤 설명? 거의 1.35 배나 많은 시간입니다. &gt;&gt;&gt; from timeit import timeit &gt;&gt;&gt; timeit("[x for x in 'abc']") 2.0691067844831528 &gt;&gt;&gt; timeit("[x for x in ['a', 'b', 'c']]") …

1
tuple (set ([1, "a", "b", "c", "z", "f"])) == tuple (set ([ "a", "b", "c", "z", "f", 1])) 해시 무작위 화가 활성화 된 시간의 85 %?
다른 질문에 대한 제로 피레 우스 '대답을 감안할 때 , 우리는이 x = tuple(set([1, "a", "b", "c", "z", "f"])) y = tuple(set(["a", "b", "c", "z", "f", 1])) print(x == y) 해시 무작위 화가 활성화 된 상태 True에서 약 85 %의 시간을 인쇄 합니다. 왜 85 %입니까?

10
IronPython 대 Python .NET
Python 코드에서 C #으로 작성된 일부 .NET 어셈블리에 액세스하고 싶습니다. 약간의 조사에 따르면 두 가지 선택이 있습니다. .NET 인터페이스 기능 / 지원이 내장 된 IronPython Python .NET 패키지 가있는 Python 두 솔루션 간의 장단점은 무엇입니까?

2
list ()는 list comprehension보다 약간 더 많은 메모리를 사용합니다.
그래서 나는 list물건 을 가지고 놀고 있었고 그것 list으로 만들어 지면 list()목록 이해보다 더 많은 메모리를 사용 한다는 이상한 점을 발견 했습니까? Python 3.5.2를 사용하고 있습니다. In [1]: import sys In [2]: a = list(range(100)) In [3]: sys.getsizeof(a) Out[3]: 1008 In [4]: b = [i for i in range(100)] In …


4
목록 슬라이싱이 아닌 튜플 슬라이싱이 새 객체를 반환하지 않음
파이썬 (2와 3). 리스트 슬라이싱을 사용할 때마다 새로운 객체를 반환합니다. l1 = [1,2,3,4] print(id(l1)) l2 = l1[:] print(id(l2)) 산출 &gt;&gt;&gt; 140344378384464 &gt;&gt;&gt; 140344378387272 같은 것을 tuple로 반복하면 같은 객체가 반환됩니다. 예 : t1 = (1,2,3,4) t2 = t1[:] print(id(t1)) print(id(t2)) 산출 &gt;&gt;&gt; 140344379214896 &gt;&gt;&gt; 140344379214896 누군가가 왜 이런 일이 일어나고 …
12 python  list  tuples  slice  cpython 

2
클래스에서 디스크립터를 설정하면 디스크립터를 덮어 쓰는 이유는 무엇입니까?
간단한 재현 : class VocalDescriptor(object): def __get__(self, obj, objtype): print('__get__, obj={}, objtype={}'.format(obj, objtype)) def __set__(self, obj, val): print('__set__') class B(object): v = VocalDescriptor() B.v # prints "__get__, obj=None, objtype=&lt;class '__main__.B'&gt;" B.v = 3 # does not print "__set__", evidently does not trigger descriptor B.v # does not print anything, we …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.