Python 9

파이썬 스터디 7장 - 파이썬 날아오르기 (1)

이번에 살펴볼 것은 파이썬의 고급 개념들이다. 클로저와 데코레이터 클로저 closure는 함수 안에 내부 함수를 inner function을 구현하고 그 내부 함수를 리턴하는 함수를 말한다. 이 때 외부 함수는 자신이 가진 변숫값 등을 내부 함수에 전달할 수 있다. class Mul: def __init__(self,m): self.m = m def __call__(self,n): return self.m * n if __name__== "__main__": mul3 = Mul(3) mul5 = Mul(5) print(mul3(10)) // 30 print(mul5(10)) // 50 Mul이라는 클래스를 만들고 m 값을 하나 할당해준다. __call__이라는 메서드는 클래스로 만든 객체에서 인수를 전달..

Python 2023.07.06

파이썬 스터디 6장 - 파이썬 프로그래밍, 어떻게 시작해야 할까?

지금까지 문법도 어느정도 공부했고 내장 함수들도 많이 공부했다. 그럼 이걸 바탕으로 도대체 어떤 프로그램을 만들 수 있을까? 극히 작은 몇줄의 코드도 프로그램이 될 수 있다. 구구단을 출력해주는 코드도 프로그램이다. 하지만 주제만 던져준 다음에 프로그램을 짜보라고 하면 겁먹는 경우가 대부분이다. 시작도 못하는 경우도 태반. 그럴 때 그 프로그램의 입력과 출력이 어떻게 될지 생각해보면 좋다. 구구단을 만든다고 해보자. 1. 입력으로 2를 넣으면 2단이 출력되어야 한다. 2. [2,4,6,...18]이 출력되면 된다. 이런 식으로 나열 형태의 데이터는 리스트 자료형이 적합해보인다. 3. 이름은 뭘로 할 것인가? gugu라고 해보자. 4. 결괏값을 담을 리스트를 생성해놓고 거기에 결괏값을 하나씩 넘어주면 되겠..

Python 2023.07.06

파이썬 스터디 5장 - 파이썬에 날개 달기 (2)

이번에는 파이썬에 이미 만들어진 것들, 특히 파이썬 배포본에 함께 들어 있는 파이썬 라이브러리를 살펴보자. 라이브러리를 살펴보기 전 파이썬 내장 함수를 먼저 살펴보자. abs abs(3) // 3 abs(-3) // 3 abs(-1.2) // 1.2 절댓값을 리턴하는 함수이다. abstract value라는 영단어를 알고 있으면 쉽게 와닿는다. all all([1,2,3]) // True all([0,1,2]) // False 반복 가능한 데이터 (리스트, 튜플, 문자열, 딕셔너리 등)을 입력값으로 받아 모든 요소가 참이면 True, 하나라도 거짓이 있으면 False이다. 두번째 예시 같은 경우 0이라는 값이 False로 인식되어 all 메서드는 False 값을 리턴한다. any any([1,2,3,0]..

Python 2023.07.05

Python 스터디 5장 - 파이썬 날개 달기 (1)

처음 살펴볼 개념은 클래스 class 이다. 클래스는 파이썬 뿐만 많은 언어들이 사용하고 있는 키워드이다. 먼저 전통의 프로그래밍 언어인 C언어에는 클래스가 없다. 이 말을 굳이 클래스가 없어도 프로그램을 충분히 만들 수 있다는 뜻이다. 파이썬으로 만든 프로그램도 클래스를 사용하지 않고 작성한 것이 매우 많다. 클래스는 프로그램 작성을 위해 꼭 필요한 요소는 아니지만 적재적소에 사용하면 얻을 수 있는 이익이 매우 많다. result = 0 def add(num): global result result+=num return result print(add(3)) print(add(4)) add라는 함수를 작성했고 result 값을 유지하기 위해 global을 사용했다. 만약 계산기가 2대 필요한 상황이 발..

Python 2023.06.30

Python 스터디 4장 - 파이썬의 입출력

지금까지 파이썬의 기본적인 자료형, 제어문 등에 대해서 살펴보았으니 이걸 바탕으로 함수, 입출력, 파일 처리 방법 등에 대해서 살펴보자. 먼저 함수이다. 함수는 어떤 프로그래밍 언어든지 간에 가장 많이 쓰이는 개념일 것이다. 함수가 없는 프로그램은 아마 없을 정도. 함수는 기본적으로 입력(없어도 됨) 그리고 출력(없어도 됨)으로 이루어진 코드 블록이다. 특히 반복적인 내용을 작성할 때 가장 주요하게 사용된다. 어떤 기능을 함수로 정의해준 다음 상황에 따라 입력값만 다르게 해주면 결국 기능은 똑같기 때문에 정의된 코드만 있다면 계속해서 반복적으로 사용이 가능하다. def add(a,b): return a + b 기본적으로 def로 함수를 선언해주고 이름 그리고 ()안에 매개변수를 입력해준다. 매개변수는 이..

Python 2023.06.27

Python 스터디 3장 - 프로그램의 구조를 쌓는다! 제어문

제어문은 크게 if 문, while 문, for 문 3가지가 있다. 다른 프로그램이 언어와 다르지 않다. 문법은 오히려 다른 언어들부터 더 간단하다는 느낌이였다. (괄호를 안 쓴다던지, 실행문도 괄호로 안 감싸고 그냥 들여쓰기로 나타내던지) money = True if money: print("택시를 타고 가라") else: print("걸어간다") money = 2000 card = True if not money >= 3000: print("택시타") else: print("걸어가") if 문의 사용은 간단하다. if (조건) : (실행문) else : (실행문) 조건의 참 거짓 유무에 따라 어떤 실행문을 실행할 지 결정한다. 첫번쨰 예시의 경우 money가 True이므로 "택시를 타고 가라"가 출력..

Python 2023.06.26

Python 스터디 2장 - 파이썬 프로그래밍의 기초, 자료형 (2)

저번 글에서 살펴봤던 숫자형, 문자열 자료형에 이어 이번에는 리스트 자료형부터 한 번 살펴보자. 숫자와 문자열은 유감스럽지만 전부 하나의 내용만을 담고 있다. 여러개의 내용을 개별적으로 담아주기에는 무리가 있는 자료형들이다. 그래서 등장한 것이 바로 리스트 자료형이다. odd = [1,3,5,7,9] a= [1, 2, "Life", 4] e= ["kim", "lee", "park"] 이런 식으로 대괄호 안에 숫자든 문자열이든 다른 리스트든 상관없이 다 들어올 수 있다. 리스트도 역시 인덱스를 사용하는데 문자열과 인덱스의 구조가 똑같으니 이전 글을 참고하자. 슬라이싱도 마찬가지다. 리스트의 연산도 마찬가지다. 더하기로 두 개의 리스트의 원소들을 합칠 수도 있고, 곱하기로 리스트의 원소들을 반복할 수도 있다..

Python 2023.06.25

Python 스터디 2장 - 파이썬 프로그래밍의 기초, 자료형 (1)

언어를 배울 때 기본적인 품사를 배우는 것과 마찬가지로 기본적인 자료형에 대해서 배우고 가보자. 파이썬은 총 7개의 자료형이 있다. - 숫자형 - 문자열 자료형 - 리스트 자료형 - 튜플 자료형 - 딕셔너리 자료형 - 집합 자료형 - 불 자료형 1. 숫자형 별 거 없다. 말 그대로 그냥 숫자들을 나타내는 것이다. 정수, 실수 모두 아우르고 있고 8진수와 16진수까지 포함한다. // 8진수 a = 0o177 // 16진수 a = 0x8ff 이런 애들도 모두 파이썬에서 사용 가능한 숫자 자료형이다. 숫자형 데이터를 활용해서 사칙연산은 물론 몫 (//), 나머지(%), 제곱(**)을 나타내는 계산도 가능하다. 2. 문자열 자료형 아마 모든 프로그래밍 언어에서 가장 많이 다루는 자료형일 것 같다. 따옴표를 활용..

Python 2023.06.25

Python 스터디 1장 - 파이썬이란 무엇인가?

파이썬은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어이다. ※ 인터프리터 언어란 무엇인가? 프로그래밍 언어는 크게 두 가지 분류로 나눌 수 있다. 인터프리터 언어 vs 컴파일러 언어 Python, JAVA, Javascript 등등 많은 언어는 인간이 프로그래밍을 할 수 있도록 문법이 구성되어있다. 하지만 컴퓨터가 읽을 수 있는 언어는 인간이 사용하는 영어나 한국어가 아니라 0과 1뿐이다. 즉, 영어(고급 언어)로 코드를 작성했다면 컴퓨터가 이를 이해할 수 있도록 0과 1(저급 언어)로 번환하는 과정이 필요하다. 컴파일러 언어는 컴파일러를 통해 컴파일 타임에 전체 소스 코드를 한 번에 기계어로 변환 후 실행파일을 만든다. 실행할 때는 컴파일 과정을 추가로 거치지 않고 실행만 하면 되므..

Python 2023.06.21
728x90