컴퓨터 프로그래밍 : Computational thinking(문제를 분석, 해결책 찾는 과학적 사고법)을 통한 해결책을 컴퓨터 명령어로 작성하는 것print 함수
정수 int실수 float허수 complex산술연산자변수 = 값 (문자열은 '')변수1, 변수2 = 값1, 값2 파이썬은 None 자료형. 타 언어는 null주의: 할당연산자 사용시에는 값이 들어있는 변수 사용해야함input()변수 = input()
boolean : True, False비교, 논리 연산자의 판단결과로 사용정수, 실수, 문자열 등 다른 type 을 불리언으로 : bool() 함수 출처: https://wikidocs.net/1159==, !=는 값 자체를 비교하고, is, is not은 객
딕셔너리: 연관된 값을 묶어서 저장하는 용도 자료형딕셔너리 = {키1: 값1, 키2: 값2 }딕셔너리 = {}딕셔너리 = dict()키가 중복되지 않게 주의.함수로 만들기도 가능딕셔너리 = dict(키1=값1, 키2=값2)딕셔너리 = dict(zip(키1, 키2, 값1
for 변수 in range(횟수): (들여쓰기) 반복할 코드 for 변수 in range(시작, 끝, 증가폭):결과뒤집에서 출력reversed(시퀀스객체
break: 제어흐름 중단continue: 제어흐름 유지, 코드 실행만 건너뜀예for i in range(10000): print(i) if i == 100: break \`\`\`표준 입력으로 정수 두 개가 입력됩니다(
간단한 프로그래밍 문제1에서 100까지 출력3의 배수는 Fizz 출력5의 배수는 Buzz 출력3과 5의 공배수는 FizzBuzz 출력for i in range(1, 101): print('Fizz' (i % 3 == 0) + 'Buzz' (i % 5 == 0)
append: 요소 하나를 추가extend: 리스트를 연결하여 확장insert: 특정 인덱스에 요소 추가 insert(0, 요소): 리스트의 맨 처음에 요소를 추가 insert(len(리스트), 요소): 리스트 끝에 요소를 추가pop(인덱스): 마지막 요소 또는 특
만들기리스트 = \[값, 값, 값, 값, 값, 값]접근리스트세로인덱스리스트세로인덱스 = 값세로 크기만큼 반복하면서 안쪽 리스트로 사용할 빈 리스트 line을 만듭니다.그다음에 가로 크기만큼 반복하면서 line에 append로 0을 추가합니다. 바깥쪽 반복문에서는 다시
%s: 문자열%d: 정수%f: 실수language = 'Python'version = 3.6f'Hello, {language} {version}''Hello, Python 3.6''{인덱스:<길이}'.format(값)'%0개수d' % 숫자'{인덱스:0개수d'}'.
{키: 값 for 키, 값 in 딕셔너리}{키: 값 for 키, 값 in 딕셔너리 if 조건식}
파일객체 = open(파일이름, 파일모드) 파일객체.close() with open(파일이름, 파일모드) as 파일객체: 파일매서드활용예파일 한줄씩 읽기문자열이 저장된 words.txt 파일이 주어집니다(문자열
회문(palindrome): 순서를 거꾸로 읽어도 제대로 읽은 것과 같은 단어와 문장word = 'level'list(word) == list(reversed(word))True 문자열에서 N개의 연속된 요소를 추출하는 방법
def 함수이름(): (들여쓰기) 코드함수()def 함수이름(매개변수1, 매개변수2): 코드 예시) 함수만들기호출괄호 안에 변수를 매개변수(parameter)입력하는 값을 인수(argument)def 함수이름(매개변수): return 반환값 , 반환값2
재귀호출(recursive call): 함수 안에서 함수 자기자신을 호출하는 방식 hello 함수가 자기자신을 계속 호출하다가 최대 재귀 깊이를 초과하면 RecursionError가 발생 : 최대 재귀 깊이(maximum recursion depth)가 1,000으로
함수 간편하게 작성 가능 -> 타 함수 인수로 넣을 때 주로 사용lambda 매개변수들: 식아직 호출은 불가 -> 이름이 없는 함수 만들기 때문(익명함수 anonymous funtion)(lambda 매개변수들: 식)(인수들)\*\* 주의: 람다표현식 안에는 새 변수를
전역변수: 함수를 포함하여 스크립트 전체에서 접근할 수 있는 변수(global variable)전역 범위(global scope): 전역 변수에 접근할 수 있는 범위지역 변수(local variable): 변수를 만든 함수 안에서만 접근지역 범위(local scope
클래스: 객체를 표현하기 위한 문법(프로그래밍으로 객체 만들때 사용)객체: 특정한 개념이나 모양으로 존재하는 것객체지향 프로그래밍: 복잡한 문제를 잘게 나누어 객체로 만들고, 객체를 조합해서 문제를 해결파이썬에서 숫자, 문자, 리스트 등은 객체클래스 생성class 클래
물려받은 기능을 유지한채로 다른 기능을 추가할 때 사용하는 기능기반 클래스(base class): 기능을 물려주는 클래스, 부모 클래스(parent class), 슈퍼 클래스(superclass)파생 클래스(derived class): 상속을 받아 새롭게 만드는 클래스
클래스를 활용하여 2차원 평면에서 위치를 표현한 뒤 두 점 사이의 거리를 구하기 Point2D 클래스를 구현하고 x와 y를 속성으로이걸 활용해 점 두개 만들기 p1, p2점 사이의 거리를 하나씩 구해보면c1 = math.sqrt(( (p1.x - p0.x) 2)
코드를 실행하는 중에 발생한 에러예외처리: 예외 처리는 에러가 발생하더라도 스크립트의 실행을 중단하지 않고 계속 실행하고자 할 때 사용예) 숫자를 0으로 나눴을 때 발상하는 예외 처리결과: 나눌 숫자를 입력하세요: 0 (입력)예외가 발생했습니다.숫자를 0으로 나누면 Z
이터레이터(iterator) :값을 차례대로 꺼낼 수 있는 객체(object)for 반복문에서 0~99까지라고 하면 숫자 다 만드는게 아니고 차례로 꺼내는 이터레이터만 생성. 데이터 생성을 뒤로 미루는 것 - 지연 평가(lazy evaluation)반복 가능한 객체(i
제너레이터: 이터레이터를 생성해주는 함수이터레이터는 클래스에 iter, next 또는 getitem 메서드를 구현해야 하지만 제너레이터는 함수 안에서 yield라는 키워드만 사용하면 끝yield 값함수 안에서 yield를 사용하면 함수는 제너레이터가 되며 yield에는
src: https://dojang.io/mod/page/view.php?id=2418메인 루틴에서 서브 루틴을 호출하면 서브 루틴의 코드를 실행한 뒤 다시 메인 루틴으로 돌아옴- 서브 루틴이 끝나면 서브 루틴의 내용은 모두 사라짐. 진입점 entry poin
클래스에서 메서드를 만들 때 @staticmethod, @classmethod, @abstractmethod 등을 붙였는데, 이렇게 @로 시작하는 것들이 데코레이터. - 함수(메서드)를 장식함수를 수정하지 않은 상태에서 추가 기능을 구현할 때 사용예)결과:hello 함
일정한 규칙(패턴)을 가진 문자열을 표현하는 방법복잡한 문자열 속에서 특정한 규칙으로 된 문자열을 검색한 뒤 추출하거나 바꿀 때 사용문자열에 특정 문자열이 포함되어 있는지 판단 ( 'Hello, world!'.find('Hello')처럼 문자열 메서드로도 충분히 가능)
정규표현식 그룹은 해당 그룹과 일치하는 문자열을 얻어올 때 사용(정규표현식) (정규표현식)re.match('(정규표현식1)(표현식2)', '문자열')공백으로 구분된 숫자를 두 그룹으로 나누어서 찾은 뒤 각 그룹에 해당하는 문자열(숫자)을 가져오기매치객체.group(그룹
파이썬을 잘 활용 하려면 내장 함수 만으로는 부족함. 모듈(module) : 각종 변수, 함수, 클래스를 담고 있는 파일패키지(package) : 여러 모듈을 묶은 것참고모듈: 특정 기능을 .py 파일 단위로 작성한 것입니다.패키지: 특정 기능과 관련된 여러 모듈을 묶
스크립트를 작성할 때마다 매번 비슷한 클래스와 함수를 작성한다면 코드도 길어지고 중복되는 부분이 생깁니다. 이런 경우에는 공통되는 부분을 빼내서 모듈과 패키지로 만들면 됩니다. 이후에는 코드를 다시 만들지 않고 모듈과 패키지만 가져와서 사용하면 편리모듈(module):