컴퓨터 공부/🐍 Python 16

What is "self" in Python?

파이썬 코드를 짤 때, 언제 self 를 써야하고, self의 적용범위가 어디까지인지 이런 개념을 완벽히 잘 모르고 그냥 감으로 self 를 짠 경우가 있을 것이다. 나도 디버깅을 하면서 self 를 붙일지 말지 찾아내곤 하는데, self 에 대해서 자세하고 정확한 예시 등으로 개념을 바로 잡아보자! Python 에서 클래스를 정의하고 객체지향 프로그래밍을 할 때, 'self' 는 클래스의 인스턴스를 가리키는 변수이다. 클래스의 메소드는 첫 번째 매개변수로 항상 "self"를 받아, 그 인스턴스의 속성과 다른 메소드에 접근할 수 있게 하는 것이다. ※ 'self'의 역할과 사용법 1. 인스턴스 참조 'self'는 클래스의 현재 인스턴스를 참조한다. 클래스 내부에서 'self'를 사용하면, 그 클래스의 다..

Remove Non-alphanumeric Characters in Python

알고리즘 문제를 풀다가 "Non-alphanumeric Characters" 와 관련한 문제에 직면했다. 비단, 알고리즘 문제 뿐만 아니라 사용자 입력을 정리하거나 데이터를 추출하는 데에도 이러한 "Non-alphanumeric Characters"를 삭제하는 방법을 알면 유용할 것 같은 생각이 들었다. https://leetcode.com/problems/valid-palindrome/description/?envType=study-plan-v2&envId=top-interview-150 Valid Palindrome - LeetCode Can you solve this real interview question? Valid Palindrome - A phrase is a palindrome if, a..

for문에 else문이 딸랑?

문득 알고리즘 문제를 풀다가 해당 코드가 실행돼서 찾아봤다. answer = 0 for w in words: for c in w: if w.count(c) > chars.count(c): break else: answer += len(w) return answer for문 2개로 구성되어 있는 이중 for 문이다. 안쪽 for 문에서 break를 만난다면 안쪽 for문을 다 순회하지 않고 else 문 지점으로 오게 될텐데, else 문이 딸랑 나와도 되는지 의문이었다. 평소에는 저렇게 코드를 작성하지 않고 flag 변수를 따로 설정해서 아래와 같이 코드를 짜주곤 했다. answer = 0 for w in words: flag = True for c in w: if w.count(c) > chars.cou..

list(map(int, input().strip().split())) 와 [map(int, input().strip().split())] 의 차이

문득 알고리즘 문제를 풀다가 list(map(int, input().strip().split())) 랑 [map(int, input().strip().split())] 의 차이 의 차이에 대해 궁금해서 찾아봤다. 정말 직관적으로 이해가 가능했다. 이들의 차이를 이해하려면 Python의 'map' 함수와 리스트 컴프리헨션에 대해 이해할 필요가 있다. 1. list(map(int,input().strip(),split())) input().strip(),split() 은 입력된 문자열을 공백을 기준으로 나누어 리스트로 만든다. map(int, ...) 는 이 리스트의 각 원소를 정수로 변환한다. 'map' 함수는 지정된 함수(여기서는 'int')를 리스트의 각 원소에 적용한다. list(...) 는 'map..

[PYTHON] TYPEERROR: ‘UNICODE’ OBJECT DOES NOT SUPPORT ITEM ASSIGNMENT

파이썬에서는 String과 List는 몇 가지 상황에서 비슷하게 작동할 수 있다. 예를 들어, 각 요소를 반복하는 것과 같은 경우이다. for i in string_s: # 무언가를 수행 for i in list_l: # 무언가를 수행 그러나, 요소를 수정하려고 할 때, 중요한 차이점이 나타난다. 리스트와 달리 파이썬의 문자열은 "변경할 수 없다". (immutable.) 문자열에서 문자를 아래와 같이 변경하려고 하면, string_s[i] = 'X' TypeError: ‘unicode’ object does not support item assignment"라는 오류가 발생한다. 문자열을 수정하려면 먼저 리스트로 변환한 후 변경하고 다시 문자열로 결합해야 한다. list_s = list(string_s..

반응형