str()을 이용하면 식제값과 다르게 변활될수 있지만,repr()을 사용하면 형식적으로 동일한 결과가 나온다.※ eval()는 string형식으로 받은 문자열을 그대로 실행해준다.>>> def test(): print("test") >>> eval("test()")test >>> eval(repr('test'))'test'>>> eval(str('test'))Traceback (most recent call last): File "", line 1, in eval(str('test')) File "", line 1, in NameError: name 'test' is not defined 또한 ascii()와 repr()은 아스키에 해당하는 문자열에 대해서 정확히 동일한 값을 반환한다.다만 아스키 이외의..
XML(eXtensible Markup language)은 W3C에서 1998년에 표준으로 채택한 다목적 마크업언어이다.XML은 수많은 종류의 데이터를 표현하기 위한 기술로 현재광범위하게 쓰이고 있다.인터넷, RSS, Open API는 물론이고 워드프로그램, 각종 어플리케이션의 데이터를 XML로 저장하고 여러 데이터베이스에서 정식으로 XML을 지원하고 있다. Python에서도 XML처리를 하기 위하여 DOM(Document Object Model), SAX(Simple API for XML)등을 지원한다.이번장에서는 XML자체에 대한 자세한 설명대신 도서관리프로그램을 만들며 파이썬에서 어떻게 XML을 처리하는지 알아보도록 하겠다. >> Python과 XML Fast XML parsing using Exp..
어떤 객체가 생성되면 메모리에 저장되고, 지정된 이름을 참조하여 접근한다. 메모리상의 동일한 객체에 대해서 여러 다른 이름으로 참조가 가능하고, 참조되는 이름이 증가할때마다 내부적으로 참조카운터가 하나씩 증가한다. 또한 이렇게 증가한 참조카운터는 더이상 그 변수가 사용하지 않게 되면, 내부적으로 참조카운터가 하나씩 감소한다. 참조카운터가 0보다 큰 경우, 즉 1개이상 변수가 이를 사용하고 있는 경우에는 가비지컬렉션(사용하지 않는 메모리반환)이 일어나지 않는다. weakref모듈은 객체에 대한 약한 참조(Weak reference)를 만드는데 사용한다.약한참조는 변수가 객체를 참조할때, 참조카운터를 증가시키지 않고 참조하는 객체를 얻을수 있다. 예를 들어 C와 연동하는 경우, 순환참조가 발생할수 있으며 이..
컴퓨터분야에서 널리 이용되는 자료구조로 스택(stack), queue)가 있다. 스택과 큐는 프로그래밍할때 기본이 되는 자료구조로 이를 이용하여 함수파라미터 전달, 메시지 큐 등으로 다양하게 확장할수 있다. 파이썬에서는 queue모듈에서 큐(Queue), 우선순위큐(PriorityQueue), 스택(LifoQueue)을 제공하고 있다. 특히 큐 모듈은 스레드환경을 고려하여 작성되었기에, 여러 스레드들을 동시에 큐객체(queue모듈에서 제공되는 3개의 클래스를 지칭)에 데이터를 입력하고, 데이터를 출력하여도 정상적으로 작동하는것을 보장한다. queue모듈에 정의되어 있는 클래스는 아래와 같다. 클래스 생성시 인자로 전달되는 maxsize는 해당클래스가 저장할두 있는 최대 아이템개수이다. 명시적으로 아이템의..
thread란 하나의 프로세스내에서 진행되는 하나의 실행단위를 뜻하며, 하나의 프로세스에서 여러 실행단위가 실행되는것을 멀티스레드라고 한다. 프로세스와 스레드는 모두 프로그램을 수행된다는 공통점을 가지고 있지만, 프로세스는 윈도우에서 여러 응용프로그램을 각각 실행시키는것처럼 독립적으로 실행되어 독립된 메모리공간을 사용하지만, 멀티스레드는 하나의 프로세스내에서 여러 스레드들이 프로세스공간의 메모리를 공유하여 사용할수 있다.파이썬에서는 threading이라는 멀티스레드 기능을 지원하는 모듈을 제공한다.threading모듈에서 자주 사용되는 객체를 살펴보고, 간단한 예제를 통해 threading모듈을 알아보자 >> 스레드 객체 Thread.run()스레드의 주요 동작을 정의함 >Thread.join([time..
Gerhard Haring은 C기반의 SQLite3를 이용하여 DB-API2.0스펙을 따르는 인터페이스를 제공하는 pysqlite모듈을 작성하였다. 이 모듈은 파이썬 배포판에 기본적으로 포함되어 있으므로 별도의 모듈을 설치하지 않고도 바로 사용이 가능하다. pysqlite모듈에 정의된 함수와 클래스는 다음과 같다. -. 모듈 함수pysqlite모듈에는 데이터베이스 연결(connect)과 가팅 전역적으로 사용되는 함수들이 정의되어 있다.>sqlite3.connect(database[, timeout, isolation_level, detect_types, factory])SQLite3 DB에 연결하고 연결된 Connection객체를 반환 >sqlite3.complete_statement(sql)세미콜론으로..
파이썬에서는 임의의 정수, 실수를 생성하거나, 시퀸스 객체중 임의의 값을 선택하는 등의 연산을 위하여 랜덤 모듈을 내장하고 있다. 임의의 숫자를 생성함에도 정규분포를 따르거나, 로그분포를 따르는 드으이 다양한 방법이 존재하지만, 일반적인 개발 작업에서는 이러한 부분이 자주 사용되지는 않는다.>random.seed([x])임의 숫자 생성기의 초기화작업을 한다.만약 인자가 생략되거나 None인 경우, 현재시스템의 시간값을 사용함 >random.random()'0.0
십진법(decimal)모듈은 실수를 표현하기 위하여 float자료형보다 정확한 Decimal클래스를 제공한다. >> 부동소수점 표현 방식 >> 0.10.10000000000000001>>> 1/30.3333333333333333또한 부동소수점 연산의 결과도 항상 동일한 결과를 반환하지 않는다.아래의 예제를 통해 덧셈연산의 결합법칙이 성립되지 않는것을 알수 있다.>>> (1234.567 + 45.67844) + 0.00041280.2458399999998>>> 1234.567 + (45.67844 + 0.0004)1280.24584이러한 부동소수점 연산의 본질적인 문제를 해결하고자 파이썬에서는 십진법(decimal)모듈을 지원한다.십진법모듈은 float와 다르게 실수를 정확하게 표현할수 있으며, 양의 무한..
파이썬에서 유리수와 관련된 연산을 효율적으로 처리하고자 2.6버전부터 분수(fractions)모듈이 추가되었다. 분수모듈에는 유리수를 나타내는 Fraction클래스와 최대공약수(GCD:Greatest Common Divisor)를 구하는 모듈 함수가 있다.※ 유리수는 두 정수의 분수형태로 나타낼수 있는 실수를 말한다. 2, 4/8, 1/3 = 0.333... 이 모두 유리수이다.반면에 두 정수의 분수 형태로 나타낼수 없는 실수를 무리수라고 한다. π(파이_, √2 는 대표적인 무리수이다. 유리수 자체가 분수형태, 소수형태로 나타낼수 있기 때문에, Fraction객체 역시 다양한 방법으로 생성할수 있다. 생성된 결과는 분수형태로 저장되며, 두 정수 사이에 공약수가 존재하면 약분하여 기약분수형태를 만든후 F..
대부분의 수학관련 함수들이 math모듈에 존재하지만, 자주사용되는 아래의 함수에 대해서는 특별한 모듈 임포트없이 사용할수 있도록 내장함수로 제공한다.-. 내장형으로 제공되는 수학관련 함수들>sum(iterable[, start])순회가능한(iterable)객체의 총 합계를 반환, 총 합계의 시작값(start)이 주어지면 그 값부터 누적되며, 그렇지 않은 경우 0이 기본값이 된다.>>> sum([1,2,3]) #1 + 2 + 3 = 66>>> sum([1,2,3],4) #4 + 1 + 2 + 3 = 1010 >max(iterable)순회가능한 객체의 최댓값을 반환>>> max([1,2,3])3 >min(iterable)순회가능한 객체의 최솟값을 반환>>> min([1,2,3])1 >abx(x)인자 x의 절..
- Total
- Today
- Yesterday
- activebackground
- command
- indicatoron
- Module
- ManyToOne
- Composite Key
- Java
- fetch join
- highlightthickness
- highlightbackground
- activeforeground
- disabledforeground
- checkbutton
- apache
- JPA
- 리눅스
- borderwidth
- Python
- 상수
- Linux
- tkinter
- vba
- FetchType
- 파이썬
- Excel
- onetomany
- IdClass
- tkinter command & bind [명령어묶기와 사건묶기] Python
- 폼
- Private
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |