파이썬/개념 11

[알기쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH10. 객체 지향: 클래스와 객체

Section 01. 객체 지향의 개요 1. 객체지향의 개념 객체 지향(Object-oriented)이란 객체를 중심으로 모든 것을 기술한다는 의미이다. 컴퓨터가 개발된 초개의 프로그래밍 언어는 순서에 의해 수행되는 절차 지향 언어(procedure-oriented language)가 대부분이었다. 절차 지향 언언어들은 여러 단점 중에서 한 번 작성된 기능을 하나의 프로그램에서만 사용할 수밖에 없다는 치명적인 단점이 있었다. 그러한 단점은 소프트웨어의 생산성을 저하시키는 요인이 되었다. 객체 지향 프로그래밍에서는 모든 요소들을 객체로 모델링하며, 이러한 객체를 연결하여 프로그래밍이 이루어진다. 한 번 만들어진 객체는 다양한 프로그램에서 재사용될 수 있어 소프트웨어의 생산성을 높일 수 있다. 객체 지향 프..

파이썬/개념 2024.12.14

[알기 쉽게 해결된 파이썬 with 컴퓨팅 사고력] CH09. 함수와 모듈

Section 01. 프로그램과 함수 1. 프로그램과 함수의 관계  프로그램(program)은 일상생활의 문제를 컴퓨터로 해결하는 과정을 기술한 절차이다. 다양한 형태의 규모와 복잡성을 가지고 있다. 프로그램이 비교적 단순하고 간단하다면, 하나의 프로그램 내에서 작성하는 것이 가능하다. 하지만 프로그램의 논리가 복잡하고 대규모로 확장된 프로그램인 경우에 프로그램을 하나로 작성한다는 것은 매우 어려우며 이해하기 쉽지 않고 유지 보수도 매우 어렵다. 이와 같이 프로그램의 규모가 커질 경우, 경우 프로그램을 작은 단위로 나누어 여러 개의 프로그램으로 작성하는 것이 원칙이다. 이러한 작은 단위의 프로그램을 함수(function)나 서브 프로그램(sub program), 또는 프로시저(procedure)라고 부른..

파이썬/개념 2024.12.08

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] Chapter 06 연습 문제

01. 입력된 문자가 회문(앞뒤에서 읽어도 같은 문자)인지를 판별하는 프로그램을 작성하시오. 단 대소문자를 같은 문자로 취급하고, 문자열에 공백이 있을 경우 공백을 제고하고 판단하시오.문자열을 입력 : Madam회문입니다문자열을 입력 : Nurses Run회문입니다문자열을 입력 : cskim run회문이 아닙니다string = input("문자열을 입력 : ")stringList = ''.join(string.split()).lower()if stringList == stringList[::-1]: print("회문입니다")else: print("회문이 아닙니다")   02. 1부터 1000 사이의 소수를 구하여 리스트에 저장한 후, 소수와 소수의 개수를 출력하는 프로그램을 작성하시오.numL..

파이썬/개념 2024.11.19

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH08 파일 입출력

Section 01 입출력의 개요  프로그램에서 무엇인가 나가면 출력이고, 프로그램에 무엇인가 들어오면 입력이다. 즉 프로그램을 중심으로 입출력을 정의할 수 있다. 가장 많이 사용되는 입력장치인 키보드나 하드디스크에 있는 파일, 마켓에서 사용하는 바코드 리더기 등 많은 입력장치가 존재한다. 출력장치 역시 가장 많이 사용하는 모니터, 하드디스크에 저장되는 파일, 프린터 등 많은 출력장치가 존재한다. 이와 같이 모든 입력장치와 출력장치는 프로그램과의 입출력을 통해서 동작한다. 대부분의 프로그래밍 언어는 이러한 복잡한 입출력 과정을 지원하는 라이브러리 함수(전문가에 의해 개발되어 제공)를 제공하고 있다.          Section 02 표준 입출력  파이썬은 다양한 입출력 장치 중에서 키보드와 모니터를 표..

파이썬/개념 2024.11.18

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH07. 세트와 딕셔너리

Section 01 세트  파이썬에서 세트(set)는 수학에서의 집합의 개념과 같으며, 순서가 없으면서 중복을 허용하지 않는 자료구조를 의미한다. 세트는 주로 멤버 검사와 중복된 항목을 제거할 때 유용한 자료구조이다.세트는 순서가 없기 때문에 인덱스를 통한 접근이 허용되지 않는다. 시퀀스 자료형에서 허용되는 인덱싱, 슬라이싱, 연결, 반복 등의 기능이 세트에서는 제공되지 않는다. 대부분의 내장함수들은 세트에 적용 가능하다.   1. 세트의 생성 세트는 '{}'을 사용하여 생성할 수 있다. 또한 다른 자료형의 데이터를 set() 함수를 사용하여 세트를 생성할 수 있다. 세트는 중복을 허용하지 않기 때문에 생성 시 중복된 데이터가 입력되어도 하나의 데이터로 간주한다. 세트는 다른 자료형의 데이터를 변환하여 ..

파이썬/개념 2024.11.17

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH06. 시퀀스 자료형

Section 01 시퀀스 자료형의 개요  배열(array)은 순서가 있는 동일한 자료들을 표현하는 자료구조이다. 파이썬에서는 기존 언어들에서 제공하는 배열의 기능을 포함하면서도 더 확장된 기능을 제공하는 시퀀스 자료형(Sequence data type)을 제공하고 있다. 시퀀스 자료형은 서로 다른 형의 데이터들을 하나의 자료구조로 표현할 수 있다.  파이썬에서 제공하는 시퀀스 자료형은 다음 3종류이다.문자열리스트튜플 세 가지는 표현 방법은 다르지만 모두 순서가 정해져 있는 자료형이라는 공통적인 특성을 가지고 있다. 이러한 자료형을 시퀀스(sequence) 자료형이라 한다.          Section 02 시퀀스 자료형의 연산  1. 인덱싱  인덱싱(Indexing)은 순차적인 자료구조에 인덱스(첨자..

파이썬/개념 2024.11.16

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH05. 반복문

이 글은 '알기 쉽게 해설한 파이썬 컴퓨팅 사고력'을 중심으로 작성되었습니다.알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력 | 김충석 - 교보문고 (kyobobook.co.kr)          Section 01 반복문의 개요 우리들의 실생활 문제들을 살펴보면 같은 내용을 반복하여 처리해야 하는 경우가 많이 있다. 같은 내용으로 반복되는 내용은 프로그램에서 제공하는 반복 논리를 이용하여 표현할 수 있다. 반복 논리의 핵심은 조건이다. 조건이 만족하는 경우에 반복을 수행한다. 주어진 문제를 프로그램으로 해결하기 위해서는 문제에 선택 논리가 있는지, 반복 논리가 있는지, 모두 다 존재하는지 잘 파악하여 논리에 적용할 조건을 추출하는 것이 핵심이다.          Section 02 반복문의 종류 1. ..

파이썬/개념 2024.10.15

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH04. 선택문

이 글은 '알기 쉽게 해설한 파이썬 컴퓨팅 사고력'을 중심으로 작성되었습니다.알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력 | 김충석 - 교보문고 (kyobobook.co.kr)          Section 01 선택문의 개요  프로그램의 3대 논리(순서, 선택, 반복) 중 하나인 선택 논리를 지원하기 위해 대부분의 언어들은 선택문을 제공한다. 여기서 조건에 따라 어떤 것을 선택할지 결정해야 한다. 이러한 논리가 선택 논리이다. 모든 선택 논리는 조건에 의해 제시된다. 프로그램으로 선택 문제를 해결하기 위해서는 선택에서 제시된 조건의 결과는 반드시 참(true) 또는 거짓(false)을 가져야 한다. 애매모호한 답은 처리할 수 없다. 선택 논리가 포함된 문제를 해결하기 위해서는 주어진 문제로부터 명확..

파이썬/개념 2024.10.15

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] CH03. 파이썬 기초 문법

이 글은 '알기 쉽게 해설한 파이썬 컴퓨팅 사고력'을 중심으로 작성되었습니다.알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력 | 김충석 - 교보문고 (kyobobook.co.kr)          Section 01 변수 1. 변수의 개념 프로그램에서 다양한 종류의 데이터를 표현하기 위해 사용하는 것이 변수(variable)는 데이터(data)를 보관하는 역할이다. 모든 프로그램이 실행되기 위해서는 컴퓨터의 주기억장치에 저장되어 실행되어야 한다. 순차적인 물리적 주소를 가지고 있는 주기억장치는 이러한 물리적 주소를 이용하여 프로그래밍을 할 수도 있다.  기억장치의 물리적 주소를 사용하여 프로그램을 작성하는 것은 거의 불가능하다. 프로그램이 실행될 때의 기억장치의 상세한 배치 구조를 알아내어 프로그램 한다..

파이썬/개념 2024.10.15

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] Ch02. 프로그래밍 논리와 파이썬

Section 01 알고리즘과 랩터 1. 알고리즘의 개념알고리즘은 어떠한 문제를 해결하기 위한 일련의 절차를 특정한 방법으로 표현한 것을 의미한다. 문제를 해결하기 위한 절차를 나타내는 알고리즘은 다음 5가지 조건을 만족해야 한다.입력: 외부에서 0개 이상의 입력을 받아야 한다.출력: 문제를 해결하여 1개 이상의 출력을 생성해야 한다.명확성: 각 단계는 명확하고 모호하지 않은 명령어로 구성되어야 한다.유한성: 한정된 수의 작업 후에는 반드시 끝나야 한다.효과성: 모든 단계의 명령들이 실행 가능해야 한다. 특정 문제에 대해 위와 같은 조건이 만족되면 그 문제는 해결 가능하다고 할 수 있다. 알고리즘을 표현하는 특정한 방법으로는 의사코드(pseudocode) 또는 순서도(flowchart)와 같은 방법들이 ..

파이썬/개념 2024.10.10