본문 바로가기
728x90

IT/파이썬 기초 (Python)43

#043 파이썬 기초 - 더 많은 것들 II Python기초강의강좌, 파이썬기초강의강좌, 리스트 축약(Comprehension), assert #043 파이썬 기초 - 더 많은 것들 II 지난 시간에 이어서 앞으로 파이썬을 사용하면서 추가로 알아두면 좋을 몇 가지를 다뤄 보겠습니다 리스트 축약(Comprehension) 리스트 축약은 이미 존재하는 하나의 리스트를 기반으로 또 다른 리스트를 생성할 때 사용됩니다. 예를 들어 숫자로 이루어진 리스트가 하나 있을 때 이 리스트의 모든 항목에 대해 각 항목이 2 보다 클 경우에만 2를 곱해준 리스트를 생성하고 싶다고 해 봅시다. 리스트 축약은 이러한 상황에 적절하게 사용될 수 있습니다. 예제 ( more_list_comprehension.py로 저장하세요): # Filename : more_list_co.. 2023. 3. 26.
#042 파이썬 기초 - 더 많은 것들 I Python기초강의강좌, 파이썬기초강의강좌, lambda #042 파이썬 기초 - 더 많은 것들 I 지금까지 앞으로 여러분이 사용하게 될 파이썬의 여러 주요한 기능들에 대해 다뤄 보았습니다. 이 챕터에서는, 여러분이 앞으로 파이썬을 사용하면서 추가로 알아두면 좋을 몇 가지를 다뤄 보겠습니다. 튜플 넘기기 >>> def get_error_details(): ... return(2, 'details') ... >>> errnum, errstr = get_error_details() >>> errnum 2 >>> errstr 'details' 위와 같이 a, b = 과 같이 해 주면 계산식의 결과로 넘어온 튜플이 자동으로 두 값에 알맞게 들어가게 됩니다. 이것을 이용하여 두 변수의 값을 바꾸어야 할 때 다음과.. 2023. 3. 25.
#041 파이썬 기초 - 표준 라이브러리 Python기초강의강좌, 파이썬기초강의강좌, 표준 라이브러리 #041 파이썬 기초 - 표준 라이브러리 파이썬 표준 라이브러리는 파이썬을 설치할 때 항상 함께 설치되는 많은 수의 유용한 모듈들을 말합니다. 파이썬 표준 라이브러리에 익숙해지면 이를 이용해 해결할 수 있는 많은 문제들을 좀 더 빠르고 쉽게 해결할 수 있습니다. 지금부터 표준 라이브러리에 포함된 많은 모듈 중에서 자주 사용되는 몇 가지 모듈에 대해 알아볼 것입니다. 파이썬 표준 라이브러리에 포함된 모든 모듈에 대한 자세한 설명은 파이썬과 함께 설치되는 설명서의 '라이브러리 레퍼런스' 섹션 https://docs.python.org/ko/3.9/library/index.html 파이썬 표준 라이브러리 — Python 3.9.16 문서 파이썬 표준.. 2023. 3. 24.
#040 파이썬 기초 - 예외 처리 III Python기초강의강좌, 파이썬기초강의강좌, try.. finally, with #040 파이썬 기초 - 예외 처리 III 지난 시간에 예외를 발생시키는 방법에 대해서 배웠습니다. 이번 시간에는 Try... Finally 문, with 문에 대해서 알아보겠습니다. Try... Finally 문 프로그램이 파일을 읽고 있는 상황을 가정해 봅시다. 이때 예외가 발생할 경우, 예외의 발생 여부와 상관없이 파일 객체를 항상 닫아 주도록 할 수는 없을까요? 이를 위해 finally 블록을 사용합니다. 예제 ( exceptions_finally.py로 저장하세요) # Filename : exceptions_finally.py # -*- coding:utf-8 -*- import sys import time f = .. 2023. 3. 23.
#039 파이썬 기초 - 예외 처리 II Python기초강의강좌, 파이썬기초강의강좌, 예외 발생시키기 #039 파이썬 기초 - 예외 처리 II 지난 시간에 try... except 문을 배웠습니다. 이번 시간에는 예외를 발생시키는 방법에 대해서 알아보겠습니다. 예외 발생시키기 이상하게 들리겠지만 프로그래밍을 하다 보면 종종 오류를 일부러 발생시켜야 할 경우도 생깁니다. 파이썬은 raise 문을 사용해 오류를 강제로 발생시킬 수 있습니다. raise 문에 오류/예외의 이름을 넘겨주는 것을 통해 예외를 직접 발생(raise) 시킬 수 있습니다. 그러면 예외 객체가 throw 됩니다. 이때 발생시킬 수 있는 오류나 예외는 반드시 직접적으로든 간접적으로든 Exception 클래스에서 파생된 클래스이어야 합니다. 예제 ( exceptions_raise1.. 2023. 3. 22.
#038 파이썬 기초 - 예외 처리 I Python기초강의강좌, 파이썬기초강의강좌, 예외처리 #038 파이썬 기초 - 예외 처리 I 예외란 말 그대로 프로그램에서 벌어지는 예외적인 상황을 뜻합니다. 예를 들자면 여러분이 파일을 읽고자 할 때 그 파일이 존재하지 않는 경우라던지, 또는 프로그램이 한참 실행 중인데 그 파일을 갑자기 지워버렸다던지 하는 경우 등입니다. 이러한 상황을 처리해 주는 것을 예외 처리 라고 합니다. 비슷하게 여러분의 프로그램에 존재하지 않는 명령문이 있을 경우 어떻게 될까요? 이런 경우 파이썬은 손을 들고(raise) 프로그램에 오류(error)가 있다고 알려 줍니다. 문법 에러 문법 에러는, 파싱 에러라고도 알려져 있습니다, 아마도 여러분이 파이썬을 배우고 있는 동안에는 가장 자주 만나는 종류의 에러일 것입니다: >>>.. 2023. 3. 21.
#037 파이썬 기초 - 입력과 출력 III Python기초강의강좌, 파이썬기초강의강좌, pickle #037 파이썬 기초 - 입력과 출력 III 지난 시간에 이어서 입력과 출력에 대한 내용을 더 알아보겠습니다. 이번 시간에는 pickle에 대해서 공부하겠습니다. Pickle 파이썬은 pickle이라고 불리는 기본 모듈을 제공하는데, 이것은 어떤 파이썬 객체이든지 파일로 저장해 두었다가 나중에 불러와서 사용할 수 있게 하는 모듈입니다. 이것을 객체를 영구히 저장해 둔다고 합니다. 예제를 통해 알아보겠습니다. 예제 ( io_pickle.py로 저장하세요 ) # Filename : io_pickle.py # -*- coding:utf-8 -*- import pickle # 개체를 저장할 파일의 이름 shoplistfile = 'shoplist.data.. 2023. 3. 20.
#036 파이썬 기초 - 입력과 출력 II Python기초강의강좌, 파이썬기초강의강좌, 파일입출력 #036 파이썬 기초 - 입력과 출력 II 지난 시간에 이어서 입력과 출력에 대한 내용을 더 알아보겠습니다. 이번 시간에는 파일의 입력과 출력에 대해서 공부하겠습니다. 파일 사용하기 입/출력을 위해 파일을 열고 사용하려면 file 클래스의 객체를 생성한 후 read , readline , write와 같은 메서드들을 적절히 활용하면 됩니다. 파일을 열 때 파일을 읽기 모드와 쓰기 모드를 따로 지정해 줄 수 있습니다. 마지막으로 파일을 읽거나 쓰는 일을 모두 마친 후에는, close 메서드를 호출하여 파이썬에게 그 파일을 다 사용했다는 것을 알려 주어야 합니다. 예제 ( io_using_file.py로 저장하세요 ) # Filename : io_usi.. 2023. 3. 19.
#035 파이썬 기초 - 입력과 출력 I Python기초강의강좌, 파이썬기초강의강좌, input #035 파이썬 기초 - 입력과 출력 I 프로그램을 만들다 보면 간혹 프로그램이 사용자와 상호 작용을 해야 할 때가 있을 것입니다. 예를 들어, 사용자로부터 뭔가를 입력받고 처리 결과를 출력해 주는 것 같은 일이 필요할 때입니다. 파이썬에서는 이를 위해 각각 input() 함수와 print 문을 사용합니다. 결과를 출력해 주기 위해서는 str (문자열) 클래스가 제공하는 여러 메서드를 사용할 수도 있습니다. 예를 들면, rjust 메서드를 사용하여 출력될 문자열이 특정 폭의 문자열 안에서 오른쪽 정렬되도록 할 수 있습니다. help(str)을 실행하여 이들에 대해 자세히 알아보시기 바랍니다. 또 다른 입/출력의 형식은 파일을 다루는 것입니다. 파일을.. 2023. 3. 18.
#034 파이썬 기초 - 객체지향 프로그래밍 III Python기초강의강좌, 파이썬기초강의강좌, 상속(inheritance) #034 파이썬 기초 - 객체지향 프로그래밍 III 객체지향 프로그래밍 세 번째 시간입니다. 지난 시간에는 클래스 변수와 객체 변수에 대해 공부했습니다. 이번 시간에는 상속(inheritance)에 대해서 배워보겠습니다. 상속(inheritance) 객체 지향 프로그래밍의 또 다른 큰 장점은 코드를 재사용할 수 있다는 것인데 이를 위한 한 가지 방법으로 상속 이 사용됩니다. 상속은 클래스 간의 형식과 세부 형식을 구현하는 것이라고 생각해 볼 수 있습니다. 여러분이 어떤 대학의 교수들과 학생들의 명부를 작성하는 프로그램을 작성한다고 해 봅시다. 이때 교수와 학생 모두 공통적으로 이름, 나이, 주소 등의 성질을 가지고 있을 것이며, 교.. 2023. 3. 17.
#033 파이썬 기초 - 객체지향 프로그래밍 II Python기초강의강좌, 파이썬기초강의강좌, Object-Oriented programming, class, method, init #033 파이썬 기초 - 객체지향 프로그래밍 II 지난 시간에는 클래스와 객체가 어떤 기능을 갖도록 하는 방법, 즉 메서드에 대해 공부했습니다. 객체지향 프로그래밍 두 번째 시간입니다. 이번 시간에는 데이터의 경우 어떻게 하는지 공부합니다. 클래스 변수와 객체 변수 데이터, 즉 필드는 일반적인 변수와 다를 것이 없으나 딱 한 가지, 그 클래스 혹은 객체의 네임스페이스에 묶여 있다는 점이 다릅니다. 이것은 필드의 이름은 그 클래스 혹은 객체 내부에서만 의미가 있음을 의미합니다. 그래서 이것을 이름이 통용되는 공간이라고 하여 네임스페이스라고 부릅니다. 필드 에는 두 종류가 있는.. 2023. 3. 16.
#032 파이썬 기초 - 객체지향 프로그래밍 I Python기초강의강좌, 파이썬기초강의강좌, Object-Oriented programming, class, method, init #032 파이썬 기초 - 객체지향 프로그래밍 I 객체 지향 프로그래밍에서는 클래스와 객체라는 두 가지 주인공이 있습니다. *클래스*는 새로운 형식을 정의하는 것이며, *객체*는 클래스의 *인스턴스*를 의미하는 것입니다. 이것을 다시 표현하면 여러분이 int라는 형식의 변수를 만들 수 있다는 것으로, 이것은 곧 정수형을 저장하는 변수는 int 클래스의 인스턴스(객체)를 변수에 할당하는 것이라고도 말할 수 있습니다. 파이썬에서는 정수형조차도 객체로 다루어집니다 ( int 클래스의 객체입니다). help(int)를 입력하여 정수형 클래스에 대해 좀 더 자세히 알아보시기 바랍니다... 2023. 3. 15.
#031 파이썬 기초 - 절차지향(Procedural) vs 객체지향(Object-Oriented) Python기초강의강좌, 파이썬기초강의강좌, 객체지향프로그래밍 #031 파이썬 기초 - 절차지향(Procedural) vs 객체지향(Object-Oriented) 지금까지 프로그램을 작성할 때, 우리는 데이터를 다루는 명령들의 블록인 함수들의 조합으로 프로그램을 구성하였습니다. 이러한 설계 방식을 절차 지향 프로그래밍 기법이라고 부릅니다. 이와 달리 데이터와 기능을 객체라고 불리는 것으로 묶어서 프로그램을 구성하는 또 다른 기법이 있습니다. 이것을 객체 지향 프로그래밍 기법이라고 부릅니다. 아마도 여러분의 대부분의 시간 동안 절차 지향 프로그래밍 기법을 통해 프로그램을 작성하게 되겠지만, 큰 프로그램을 작성할 때나 이 기법을 이용하는 것이 더 편리한 문제를 해결해야 할 경우 객체 지향 프로그래밍 기법을 .. 2023. 3. 14.
#030 파이썬 기초 - 문제 해결 Part 3 Python기초강의강좌, 파이썬기초강의강좌, Python백업프로그램 #030 파이썬 기초 - 문제 해결 Part 3 두 번째 프로그램도 잘 동작했지만, 좀 더 기능을 추가해 봅시다. 입 력 백업을 많이 하고 싶을 때, 많은 백업 파일이 생성되므로 어떤 파일이 어떤 것의 백업인지 구분하기가 너무 어려웠습니다! 예를 들어, 어떤 문서나 프로그램에 큰 변화를 주었을 때 그 내용을 zip 파일의 이름에 추가로 달아 주면 좋을 것 같습니다. 이 문제는 zip 파일을 생성할 때 뒤에 사용자 정의 꼬리말을 달아 주는 기능을 추가하면 쉽게 해결될 것입니다 backup_ver3.py로 저장하세요: # Filename : backup_ver3.py # -*- coding:utf-8 -*- import os import t.. 2023. 3. 13.
#029 파이썬 기초 - 문제 해결 Part 2 Python기초강의강좌, 파이썬기초강의강좌, Python백업프로그램 #029 파이썬 기초 - 문제 해결 Part 2 첫 번째로 만든 프로그램은 일단 잘 동작합니다. 그러나, 프로그램을 매일매일 잘 쓰기 위해 좀 더 개선의 여지가 있습니다. 이 단계를 소프트웨어의 유지보수(maintenance) 단계라고 합니다. 첫 번째 프로그램을 안 보신 분은 이전 포스팅을 먼저 보고 오세요. 2023.03.10 - [파이썬 기초 (Python)] - #028 파이썬 기초 - 문제 해결 Part 1 두 번째 프로그램 저번 시간에 만든 프로그램을 좀 더 개선해 보겠습니다. 주 백업 directory에 일자로 된 하위 directory를 만들고 시간으로 된 압축 파일들을 그 안에 넣는 방식으로 변경해 보겠습니다. 이렇게 해.. 2023. 3. 12.
#028 파이썬 기초 - 문제 해결 Part 1 Python기초강의강좌, 파이썬기초강의강좌, Python백업프로그램 #028 파이썬 기초 - 문제 해결 Part 1 지금까지 파이썬이라는 언어의 여러 가지 구성 요소에 대해 배워 보았습니다. 이제는 지금까지 배운 것들을 토대로, 뭔가 유용한 것을 하는 프로그램을 만들어 보도록 합시다. 이 챕터의 목표는 여러분이 직접 파이썬 스크립트를 만들고 사용하는 법을 배우는 것입니다. 문제 다음과 같은 문제를 해결해 봅시다: "내 중요한 파일들을 백업해 두는 프로그램을 만들고 싶어요" 이것은 간단한 문제이지만, 아직 어떻게 접근하면 좋을지 정보가 부족합니다. 따라서 약간 *분석*을 해 보도록 합시다. 예를 들어, 어떤 파일을 백업할지 어떻게 지정해 줄까요? 파일들은 어떻게 저장되어야 하며 또 어디에 저장되어야 할까요.. 2023. 3. 10.
#027 파이썬 기초 - 자료구조 4편 (Python Data Structure Part 4) Python기초강의강좌, 파이썬기초강의강좌, 참조(Reference), 문자열 메서드, Python String Methods #027 파이썬 기초 - 자료구조 4편 (Python Data Structure Part 4) 지난 시간에 이어서 자료구조 학습 계속합니다. 참조(Reference)에 대한 내용과 문자열의 메서드에 대해서 알아보겠습니다. 참조(Reference) 객체를 생성하고 변수에 할당해 줄 때, 사실 실제 객체가 변수에 할당되는 것은 아닙니다! 변수에는 객체의 참조 가 할당됩니다. 참조란, 그 변수의 이름이 여러분의 컴퓨터 메모리 어딘가에 저장되어 있는 실제 객체의 위치를 가리키는 것을 말합니다. 이를 객체에 이름을 바인딩한다고 말합니다. 파이썬을 객체지향 언어라고 하는 이유가 여기 있습니.. 2023. 3. 9.
#026 파이썬 기초 - 자료구조 3편 (Python Data Structure Part 3) Python기초강의강좌, 파이썬기초강의강좌, 열거형 인덱스(index), 집합(set) #026 파이썬 기초 - 자료구조 3편 (Python Data Structure Part 3) 지난 시간에 이어서 자료구조 학습 계속합니다. 열거형의 인덱스 사용과 집합에 대해서 학습합니다. 열거형 열거형들은 리스트, 튜플, 문자열 같은 것입니다. 그러면 열거형이란 무엇이고 열거형에서는 무엇이 중요할까요? 열거형의 주요한 두 가지 기능은 "멤버십 테스트"( in과 not in 연산)와 열거형의 특정 항목을 얻어올 수 있는 *인덱싱 연산*입니다. 또한 리스트, 튜플, 문자열의 세 가지 열거형은 슬라이스 연산 기능을 가지고 있는데, 이것은 열거형의 일부분을 잘라낸(slice) 것을 반환하는 연산, 즉 부분 집합을 반환해 .. 2023. 3. 8.
#025 파이썬 기초 - 자료구조 2편 (Python Data Structure Part 2) Python기초강의강좌, 파이썬기초강의강좌, 리스트(List). 튜플(Tuple) #025 파이썬 기초 - 자료구조 2편 (Python Data Structure Part 2) 지난 시간에 이어서 자료구조 학습 계속합니다. 리스트 자료구조를 사용하는 방법과 튜플 자료구조에 대해서 알아보겠습니다. 리스트(List) 자료구조 컨트롤 방법 테스트를 위해 주식 종목 10개를 담은 리스트를 정의합니다. 테스트는 Python Shell에서 해보세요. >>> kospi_10 = ['삼성전자', 'SK하이닉스', '현대차', '한국전력', '아모레퍼시픽', '제일모직', '삼성전자우', '삼성생명', 'NAVER', '현대모비스'] 리스트 인덱싱 여기서 5번째 종목을 출력해 보겠습니다. >>> print("5번째 종목.. 2023. 3. 7.
#024 파이썬 기초 - 자료구조 1편 (Python Data Structure Part 1) Python기초강의강좌, 파이썬기초강의강좌, 리스트(list) #024 파이썬 기초 - 자료구조 1편 (Python Data Structure Part 1) 자료 구조란 간단하게, 어떤 *자료*를 담는 *구조*를 말합니다. 다른 말로 하면, 서로 연관 있는 어떤 자료들의 집합을 저장하는 데 사용됩니다. 파이썬에는 네 종류의 자료 구조가 있는데, 각각 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 집합(Set)입니다. 리스트(List) : 가변적인 크기를 갖는 순서 있는 요소의 집합입니다. []를 사용하여 생성하며, 요소는 쉼표(,)로 구분합니다. 튜플(Tuple) : 리스트와 유사하지만, 한번 생성된 요소를 변경할 수 없습니다. ()를 사용하여 생성하며, 요소는 쉼표(,)로 구분.. 2023. 3. 6.
#023 파이썬 기초 - 모듈 3편 (Python Module Part 3) Python기초강의강좌, 파이썬기초강의강좌, dir 내장 함수, 패키지 #023 파이썬 기초 - 모듈 3편 (Python Module Part 3) 지난 시간에 이어 파이썬 모듈 학습 계속합니다. dir 내장 함수 dir 내장 함수를 이용하여 객체에 정의되어 있는 식별자들의 목록을 불러올 수 있습니다. 예를 들어, 모듈의 경우 함수와 클래스 및 변수들의 식별자 이름이 정의되어 있을 것입니다. dir() 함수에 모듈 이름을 넘겨주면, 모듈 안에 선언된 식별자 이름들의 목록을 반환해 줍니다. 아무것도 넘겨주지 않는 경우, 현재 모듈에 선언된 식별자 이름들의 목록이 반환됩니다. 예제: 아나콘다 프롬프트에서 python을 실행하여 쉘에서 테스트해 보세요. ▶ study_39 가상환경으로 변경하고 "import .. 2023. 3. 5.
#022 파이썬 기초 - 모듈 2편 (Python Module Part 2) Python기초강의강좌, 파이썬기초강의강좌, from ~ import, name 속성, module, 아나콘다 프롬프트 실행 디렉터리변경 #022 파이썬 기초 - 모듈 2편 (Python Module Part 2) 지난 시간에 이어 파이썬 모듈 공부 계속합니다. from … import 문 지난 시간에 import sys 하고 나서 sys.argv를 사용하였는데요. 매번 "sys." 를 입력하지 않고서도 "argv" 변수를 프로그램에서 곧바로 불러와서 사용할 수도 있습니다. 이런 경우, from sys import argv와 같은 구문을 이용합니다. 이렇게 하면 "sys."식별자를 생략하고 "argv" 단독으로 사용할 수 있습니다. 하지만 식별자 이름 간의 충돌을 피하고 프로그램을 좀 더 읽기 쉽게 작성.. 2023. 3. 4.
#021 파이썬 기초 - 모듈 1편 (Python Module Part 1) Python기초강의강좌, 파이썬기초강의강좌, import, py파일컴파일 #021 파이썬 기초 - 모듈 1편 (Python Module Part 1) 앞에서 함수를 통해 여러분의 프로그램 안에서 코드를 재사용하는 방법에 대해서 배워 보았습니다. 그러면 여러 함수들을 한꺼번에 불러들여 재사용하는 방법은 없을까요? 네, 이럴 때 모듈을 이용합니다. 모듈을 작성하는 데에는 여러 가지 방법이 있습니다만, 가장 간단한 방법은. py 확장자를 가진 파일을 하나 만들고 그 안에 함수들과 변수들을 정의해 두는 것입니다. 모듈을 작성하는 또 한 가지 방법은 여러분이 현재 사용 중인 파이썬 인터프리터를 만드는 데 사용되는 프로그래밍 언어로 모듈을 작성하는 것입니다. 예를 들어, 표준 파이썬 인터프리터를 사용 중인 경우 C.. 2023. 3. 3.
#020 파이썬 기초 - 함수 3편 (Python Function Part 3) Python기초강의강좌, 파이썬기초강의강좌, VarArgs 매개변수, return문, DocString #020 파이썬 기초 - 함수 3편 (Python Function Part 3) 지난 시간에 이어 함수 강의 3편 시작합니다. VarArgs 매개 변수 가끔 함수에 임의의 개수의 매개 변수를 지정해주고 싶을 때가 있습니다. 이때 VarArgs 매개 변수를 사용합니다. 아래 예제와 같이 별 기호를 사용하여 임의의(Variable) 개수의 인수(Arguments)를 표현합니다. 예제 ( function_varargs.py로 저장하세요) : # Filename : function_varargs.py def total(initial=5, *numbers, **keywords): print(initial) pr.. 2023. 3. 2.
#019 파이썬 기초 - 함수 2편 (Python Function Part 2) Python기초강의강좌, 파이썬기초강의강좌, 전역 변수, 기본 인수값, 키워드 인수 #019 파이썬 기초 - 함수 2편 (Python Function Part 2) 지난 시간에 이어 함수 강의 2편 시작합니다. 전역 변수 - global 문 함수나 클래스 내부에서 상위 블록에서 선언된 변수의 값을 변경하고 싶을 경우, 파이썬에게 이 변수를 앞으로 지역 변수가 아닌 전역(global) 변수로 사용할 것임을 알려 주어야 합니다. 이때 global 문을 이용합니다. global 문을 사용하지 않으면, 함수 외부에서 선언된 변수의 값을 함수 내부에서 변경할 수 없습니다. 함수 안에서 동일한 이름으로 선언된 변수가 없을 경우, 함수 밖의 변숫값을 함수 안에서 읽고 변경할 수도 있습니다. 그러나, 이것은 프로그램을.. 2023. 3. 1.
728x90