참조: https://wikidocs.net/17445) 클래스 변수와 인스턴스 변수6.4절에서는 클래스의 네임스페이스와 인스턴스의 네임스페이스, 그리고 그 둘 사이의 관계에 대해 배웠습니다. 이번 절에서는 초보자들이 많이 어려워하는 개념 중 하나인 클래스 변수(class variable)와 인스턴스 변수(instance variable)에 대해 살펴보겠습니다.다음은 은행 계좌를 클래스로 표현한 것입니다. Account 클래스에는 생성자와 소멸자가 있습니다. 생성자 (__init__)가 클래스의 인스턴스가 생성될 때 자동으로 호출되는 함수라면 소멸자 (__del__)는 클래스의 인스턴스가 소멸될 때 자동으로 호출되는 함수입니다.>>> class Account: num_accounts = 0 def __i..
참조: https://wikidocs.net/17434) 클래스 네임스페이스클래스와 인스턴스의 차이를 정확히 이해하는 것은 매우 중요합니다. 이를 위해서는 먼저 네임스페이스라는 개념을 알아야 합니다. 네임스페이스라는 것은 변수가 객체를 바인딩할 때 그 둘 사이의 관계를 저장하고 있는 공간을 의미합니다. 예를 들어, 'a = 2'라고 했을 때 a라는 변수가 2라는 객체가 저장된 주소를 가지고 있는데 그러한 연결 관계가 저장된 공간이 바로 네임스페이스입니다.파이썬의 클래스는 새로운 타입(객체)을 정의하기 위해 사용되며, 모듈과 마찬가지로 하나의 네임스페이스를 가집니다. 먼저 Stock 클래스를 정의해봅시다.>>> class Stock: market = "kospi" >>> 파이썬 IDLE에서 dir() 내장..
참조: https://wikidocs.net/33[스레드를 다루는 threading 모듈]컴퓨터에서 동작하고 있는 프로그램을 프로세스(Process)라고 한다. 보통 1개의 프로세스는 1가지 일만 하지만, 스레드를 이용하면 한 프로세스 내에서 2가지 또는 그 이상의 일을 동시에 수행하게 할 수 있다. 간단한 예제로 설명을 대신하겠다.import threading import time def say(msg): while True: time.sleep(1) print(msg) for msg in ['you', 'need', 'python']: t = threading.Thread(target=say, args=(msg,)) t.daemon = True t.start() for i in range(100): ..
참조: https://wikidocs.net/32 evaleval(expression)은 실행 가능한 문자열(1+2, 'hi' + 'a' 같은 것)을 입력으로 받아 문자열을 실행한 결과값을 리턴하는 함수이다.>>> eval('1+2') 3 >>> eval("'hi' + 'a'") 'hia' >>> eval('divmod(4, 3)') (1, 1) 보통 eval은 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶은 경우에 사용된다.filterfilter란 무엇인가를 걸러낸다는 뜻으로, filter 함수도 동일한 의미를 가진다. filter 함수는 첫 번째 인수로 함수 이름을, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다. 그리고 두 번째 인수인 반복 가능한 자료형 요소..
오류 만들기프로그램 수행 도중 특수한 경우에만 예외처리를 하기 위해서 종종 오류를 만들어서 사용하게 된다.직접 오류를 만들어 보자. 오류는 다음과 같이 파이썬 내장 클래스인 Exception클래스를 상속하여 만들 수 있다.class MyError(Exception): pass 그리고 별명을 출력해 주는 함수를 다음과 같이 작성해 보자.def say_nick(nick): if nick == '바보': raise MyError() print(nick) 그리고 다음과 같이 say_nick 함수를 호출 해 보자.say_nick("천사") say_nick("바보") 실행 해 보면 다음과 같이 "천사"가 한번 출력된 후 MyError가 발생하는 것을 알 수 있다.천사 Traceback (most recent cal..
참조: https://wikidocs.net/141805-3 패키지패키지(Packages)는 도트(.)를 이용하여 파이썬 모듈을 계층적(디렉터리 구조)으로 관리할 수 있게 해준다. 예를 들어 모듈명이 A.B인 경우 A는 패키지명이 되고 B는 A 패키지의 B 모듈이 된다.파이썬 패키지는 디렉터리와 파이썬 모듈로 이루어지며 구조는 다음과 같다.가상의 game 패키지 예game/ __init__.py sound/ __init__.py echo.py wav.py graphic/ __init__.py screen.py render.py play/ __init__.py run.py test.py game, sound, graphic, play는 디렉터리명이고 .py 확장자를 가지는 파일은 파이썬 모듈이다. game..
참조: https://wikidocs.net/29[모듈을 불러오는 또 다른 방법]우리는 지금껏 도스 창을 열고 모듈이 있는 디렉터리로 이동한 다음에나 모듈을 사용할 수 있었다. 이번에는 모듈을 저장한 디렉터리로 이동하지 않고 모듈을 불러와서 사용하는 방법에 대해서 알아보자.우선 이전에 만든 mod2.py 모듈을 C:\Python\Mymodules라는 디렉터리를 새로 생성해서 저장한 후 다음의 예를 따라 해보자.1. sys.path.append(모듈을 저장한 디렉터리) 사용하기먼저 sys 모듈을 불러온다.>>> import sys sys 모듈은 파이썬을 설치할 때 함께 설치되는 라이브러리 모듈이다. sys에 대해서는 뒤에서 다시 다룰 것이다. 이 sys 모듈을 이용해서 파이썬 라이브러리가 설치되어 있는 디..
참조: https://wikidocs.net/26[sys 모듈로 입력 인수 주기]도스(DOS)를 사용해 본 독자라면 다음과 같은 명령어를 사용해 봤을 것이다.C:\> type a.txt 위의 type 명령어는 바로 뒤에 적힌 파일 이름을 인수로 받아 그 내용을 출력해 주는 도스 명령어이다. 대부분의 도스 명령어들은 다음과 같이 명령행(도스 창)에서 입력 인수를 직접 주어 프로그램을 실행시키는 방식을 따른다. 이러한 기능을 파이썬 프로그램에도 적용시킬 수가 있다.도스 명령어 [인수1 인수2 ...]파이썬에서는 sys라는 모듈을 이용하여 입력 인수를 직접 줄수 있다. sys 모듈을 이용하려면 아래 예의 import sys처럼 import라는 명령어를 사용해야 한다.(※ 모듈을 이용하고 만드는 방법에 대해서는..
참조: https://wikidocs.net/18변수란?파이썬에서 사용하는 변수는 객체를 가리키는 것이라고도 말할 수 있다. 객체란 우리가 지금껏 보아 왔던 자료형을 포함해 "파이썬에서 사용되는 모든 것"을 뜻하는 말이다.>>> a = 3 만약 위의 코드처럼 a = 3이라고 하면 3이라는 값을 가지는 정수 자료형(객체)이 자동으로 메모리에 생성된다. a는 변수의 이름이며, 3이라는 정수형 객체가 저장된 메모리 위치를 가리키게 된다. 즉, 변수 a는 객체가 저장된 메모리의 위치를 가리키는 레퍼런스(Reference)라고도 할 수 있다.만약 메모리의 위치를 가리킨다는 말이 잘 이해되지 않는다면 다음처럼 생각해도 무방하다. 즉, a라는 변수는 3이라는 정수형 객체를 가리키고 있다.a --> 3[파이썬에서 "3..
참조: https://wikidocs.net/13[고급 문자열 포매팅]문자열의 format 함수를 이용하면 좀 더 발전된 스타일로 문자열 포맷을 지정할 수 있다. 앞에서 살펴본 문자열 포매팅 예제들을 format 함수를 이용해서 바꾸면 다음과 같다.숫자 바로 대입하기>>> "I eat {0} apples".format(3) 'I eat 3 apples'"I eat {0} apples" 문자열 중 {0} 부분이 숫자 3으로 바뀌었다.문자열 바로 대입하기>>> "I eat {0} apples".format("five") 'I eat five apples'문자열의 {0} 항목이 five라는 문자열로 바뀌었다.숫자 값을 가진 변수로 대입하기>>> number = 3 >>> "I eat {0} apples".fo..
- 중앙정보처리학원
- Java
- spark
- 모두의딥러닝
- spring
- API
- BigData
- AI
- Error
- Gradle
- 점프투파이썬
- 파이썬
- Maven
- ML
- 머신러닝
- executor
- javascript
- TDD
- NIO
- Configuration
- memory
- web
- AWS
- mysql
- 텐서플로우
- python
- Docker
- mybatis
- serverless
- tensorflow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |