본문 바로가기

language3

Python 파이썬에서 ++와 -- 연산자가 없는 이유는 무엇인가요?, Why are there no ++ and --​ operators in Python? 질문 파이썬에는 왜 ++ 및 -- 연산자가 없는 것인가요? 답변 그것은 이해가 안 되는 것이 아니라 "x++"를 "x += 1로 정의하고, x의 이전 바인딩으로 평가한다"는 것이 완전히 이해됩니다. 원래 이유를 알고 싶다면 옛날 파이썬 메일링 리스트를 살펴보거나 그곳에 있던 사람(예: Guido)에게 물어봐야하지만, 사실 이후에는 충분히 정당화할 수 있습니다: 간단한 증가 및 감소는 다른 언어보다 그렇게 많이 필요하지 않습니다. 파이썬에서는 for(int i = 0; i < 10; ++i)과 같은 것을 많이 사용하지 않고, 대신 for i in range(0, 10)과 같은 것을 사용합니다. 거의 필요하지 않기 때문에 이를 위해 특별한 구문을 제공하는 것에 대한 이유가 훨씬 적습니다. 증가가 필요한 경우.. 2023. 10. 13.
Python 하위 목록 전체에 영향을 미치는 목록의 변경사항이 예기치 않게 반영됩니다., List of lists changes reflected across sublists unexpectedly 질문 나는 리스트의 리스트를 만들었다: >>> xs = [[1] * 4] * 3 >>> print(xs) [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] 그리고 나서, 내부 값 중 하나를 변경했다: >>> xs[0][0] = 5 >>> print(xs) [[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]] 왜 각 하위 리스트의 첫 번째 요소가 5로 변경되었을까? 또한 참조: 어떻게 할당 후 예상치 못한 변경이 발생하지 않도록 리스트를 복제할 수 있나요? 문제에 대한 해결책 각 반복에서 마지막 추가된 값만 저장하는 사전의 리스트에 대한 유사한 문제 Python에서 빈 리스트의 사전을 초기화하는 방법은 무엇인가요? 리스트의 사전에 대한 유사한 문제 답변 [.. 2023. 6. 9.
Python 파이썬에서 __init__과 self는 무엇을 하는가요? [중복], What do __init__ and self do in Python? [duplicate] 질문 저는 Python 프로그래밍 언어를 배우고 있고, 이해하지 못한 부분이 있어서 질문드립니다. 다음과 같은 메소드에서: def method(self, blah): def __init__(?): .... .... self는 무엇을 하는 것인가요? 어떤 의미를 가지고 있나요? 필수적인가요? __init__ 메소드는 무엇을 하는 건가요? 왜 필요한가요? (등등) 이것들이 OOP 구조일 것 같은데, 저는 많이 모르고 있습니다. 답변 이 코드에서: class A(object): def __init__(self): self.x = 'Hello' def method_a(self, foo): print self.x + ' ' + foo ... self 변수는 객체 자체의 인스턴스를 나타냅니다. 대부분의 객체 지향 .. 2023. 6. 6.