본문 바로가기

Python52

속성 속성(attribute)을 만들 때는 __init__ 메서드 안에서 self.속성에 값을 할당합니다.class 클래스이름: def __init__(self): self.속성 = 값 class Person: def __init__(self): self.hello = '안녕하세요.' def greeting(self): print(self.hello) james = Person()james.greeting() # 안녕하세요. 안녕하세요. __init__ 메서드는 james = Person()처럼 클래스에 ( )(괄호)를 붙여서 인스턴스를 만들 때 호출되는 특별한 메서드입니다. 즉, initialize이라는 이름 그대로 인스턴스(객체)를 초기화합니다.. 2026. 1. 26.
클래스와 메서드 만들기 ​클래스는 객체를 표현하기 위한 문법입니다. 예를 들어 게임을 만든다고 하면 기사, 마법사, 궁수, 사제 등 직업별로 클래스를 만들어서 표현할 수 있습니다.특정한 개념이나 모양으로 존재하는 것을 객체(object)라고 부릅니다. 그리고 프로그래밍으로 객체를 만들 때 사용하는 것이 클래스입니다.그럼 게임의 기사 캐릭터를 클래스로 표현하려면 무엇이 필요할까요? 간단합니다. 일단 게임 캐릭터는 체력, 마나, 물리 공격력, 주문력 등이 필요합니다. 그리고 기사 캐릭터는 칼로 베기, 찌르기 등의 스킬이 있어야 합니다. ▼ 그림 34-3 클래스의 속성과 메서드이렇게 프로그래밍 방법을 객체지향(object oriented) 프로그래밍이라고 합니다. 객체지향 프로그래밍은 복잡한 문제를 잘게 나누어 객체로 만들고, 객체.. 2026. 1. 26.
클로저 1. 변수의 사용 범위 알아보기전역 변수(global variable)함수를 포함하여 스크립트 전체에서 접근할 수 있는 변수를 전역 변수(global variable)라고 부릅니다. 특히 전역 변수에 접근할 수 있는 범위를 전역 범위(global scope)라고 합니다. 지역 변수(local variable)변수 x는 함수 foo 안에서 만들었기 때문에 foo의 지역 변수(local variable)입니다. 따라서 지역 변수는 변수를 만든 함수 안에서만 접근할 수 있고, 함수 바깥에서는 접근할 수 없습니다. 특히 지역 변수를 접근할 수 있는 범위를 지역 범위(local scope)라고 합니다.x = 10 # 전역 변수def foo(): print(x) # 전역 변수 출력 foo.. 2026. 1. 25.
람다 표현식 1. 람다 표현식 사용하기람다 표현식은 함수를 간편하게 작성할 수 있어서 다른 함수의 인수로 넣을 때 주로 사용합니다. >>> def plus_ten(x):... return x + 10...>>> plus_ten(1)11 lambda 매개변수들: 식>>> lambda x: x + 10 at 0x02C27270> 실행을 해보면 함수 객체가 나오는데, 이 상태로는 함수를 호출할 수 없습니다.왜냐하면 람다 표현식은 이름이 없는 함수를 만들기 때문입니다.그래서 람다 표현식을 익명 함수(anonymous function)로 부르기도 합니다.lambda로 만든 익명 함수를 호출하려면 다음과 같이 람다 표현식을 변수에 할당해주면 됩니다.>>> plus_ten = lambda x: x + 10>>> plus_.. 2026. 1. 25.
재귀호출 1. 함수에서 재귀호출 사용하기def hello(): print('Hello, world!') hello() hello() Hello, world!Hello, world!Hello, world!...(생략)Traceback (most recent call last): File "C:\project\recursive_function_error.py", line 5, in hello() File "C:\project\recursive_function_error.py", line 3, in hello hello() File "C:\project\recursive_function_error.py", line 3, in hello hello() File "C:\project\r.. 2026. 1. 25.
함수 1. 빈 함수 만들기내용이 없는 빈 함수를 만들 때는 코드 부분에 pass를 넣어줍니다.def hello(): pass 2. 함수 독스트링 사용하기파이썬에서는 함수의 :(콜론) 바로 다음 줄에 """ """(큰따옴표 세 개)로 문자열을 입력하면 함수에 대한 설명을 넣을 수 있습니다. 이런 방식의 문자열을 독스트링(문서화 문자열, documentation strings, docstrings)이라고 합니다. 단, 독스트링의 윗줄에 다른 코드가 오면 안 됩니다.def 함수이름(매개변수): """독스트링""" 코드 def 함수이름(매개변수): """ 여러 줄로 된 독스트링 """ 코드 독스트링은 ' '(작은따옴표), " "(큰따옴표), ''' '''(작은따옴표 세 개.. 2026. 1. 25.
회문 판별과 N-gram 만들기 1. 회문( palindrome ) 판별하기회문(palindrome)은 순서를 거꾸로 읽어도 제대로 읽은 것과 같은 단어와 문장을 말합니다.예를 들면 "level", "SOS", "rotator", "nurses run"과 같은 단어와 문장이 있지요. 1) 반복문으로 문자 검사하기이제 반복문으로 문자열의 각 문자를 검사해보겠습니다.palindrome.pyword = input('단어를 입력하세요: ') is_palindrome = True # 회문 판별값을 저장할 변수, 초깃값은 Truefor i in range(len(word) // 2): # 0부터 문자열 길이의 절반만큼 반복 if word[i] != word[-1 - i]: # 왼쪽 문자와 오른쪽.. 2026. 1. 24.
파일 다루기 메서드설명read()파일에서 문자열을 읽음write('문자열')파일에 문자열을 씀readline()파일의 내용을 한 줄 읽음readlines()파일의 내용을 한 줄씩 리스트 형태로 가져옴writelines(문자열리스트)파일에 리스트의 문자열을 씀, 리스트의 각 문자열에는 \n을 붙여주어야 함pickle.load(파일객체)파일에서 파이썬 객체를 읽음pickle.dump(객체, 파일객체)파이썬 객체를 파일에 저장 1. 파일에 문자열 쓰기, 읽기이제부터 파일에 문자열을 써서 파일을 만든 뒤에 만든 파일을 읽는 순서로 진행하겠습니다.1) 파일에 문자열 쓰기파일객체 = open(파일이름, 파일모드)파일객체.write('문자열')파일객체.close()file_write_string.pyfile = open('he.. 2026. 1. 24.
SET 메서드집합 연산자설명set.union(세트1, 세트2)|두 세트의 합집합set.intersection(세트1, 세트2)&두 세트의 교집합set.difference(세트1, 세트2)-두 세트의 차집합set.symmetric_difference(세트1, 세트2)^두 세트의 대칭차집합update(다른세트)|=현재 세트에 다른 세트를 더함intersection_update(다른세트)&=현재 세트와 다른 세트 중에서 겹치는 요소만 현재 세트에 저장difference_update(다른세트)-=현재 세트에서 다른 세트를 뺌symmetric_difference_update(다른세트)^=현재 세트와 다른 세트 중에서 겹치지 않는 요소만 현재 세트에 저장issubset(다른세트)현재 세트가 다른 세트의 부분집합인지 확인 .. 2026. 1. 24.