[file access]f = open('mytextfile.txt', 'w', encoding='utf8') for x in range(2, 10): for y in range(2, 10): f.write("{:02d} x {:02d} = {:02d}".format(x, y, x*y) + '\n') f.write("\n"*2) f.close() 텍스트 파일 하나 열어서 구구단을 작성하는 예제이다. 마지막에 항상 close 해줘야 한다. 물론 현대 OS 들은 특정한 파일을 사용하던 핸들의 소유 프로세스가 종료되면 자동으로 해당 리소스를 회수할 수 있지만, 프로그램의 실행 수명이 긴 상황에서 파일 핸들을 닫지 않으면 다른 프로세스에서 해당 파일을 엑세스 하지 못하는 경우가 있다. [with] 파이썬의 파일..
[exception: 예외] 문장이나 표현식이 문법적으로 올바르다 할지라도, 실행하려고 하면 에러를 일으킬 수 있습니다. 실행 중에 감지되는 에러들을 예외 라고 부르고 무조건 치명적이지는 않습니다: 파이썬 프로그램에서 이것들을 어떻게 다루는지 곧 배우게 됩니다. 하지만 대부분의 예외는 프로그램이 처리하지 않아서, 여기에서 볼 수 있듯이 에러 메시지를 만듭니다: >>> 10 * (1/0) Traceback (most recent call last): File "", line 1, in ZeroDivisionError: division by zero >>> 4 + spam*3 Traceback (most recent call last): File "", line 1, in NameError: name 'sp..
[sort]ns = [5, 2, 3, 3, 4, 1] ns.sort(reverse=True) print(ns)reverse 에 true 면 내림차순 함수 매개변수에 아무것도 안써주거나 false 면 오름차순 [sorted]ns = [5, 2, 3, 3, 4, 1] ns = sorted(ns) print(ns)sorted 는 이터레이블 의 메소드가 아니라 기본 함수이다. 정렬된 객체를 반환한다. [len]ns = [5, 2, 3, 3, 4, 1] print(len(ns)) 이터레이블 타입의 길이를 반환한다. 클래스 매직함수 __len__ 에서 정의할 수 있다. [map]ns = [5, 2, 3, 3, 4, 1] print(list(map(str, ns)))요소를 지정된 함수의 리턴값으로 모두 변경한다. 여..
[compare] 값이나 변수들을 비교할 수 있는 연산자에 대해 알아보자 A > BA가 B 보다 크다A >= B A 가 B 크거나 같다A 0: print("+") elif n == 0: print("0") else: print("-") else if 를 쓰지 말고 elif 를 써서 조건을 바로 명시해 주자 양수가 아닌것중에 0과 동일한것 이라는 조건이 된다. 마지막 else 는 위에 모든 조건일 아닐때 라는 뜻이 된다 이 경우도 3개..
[type: 타입] 변수는 데이터를 담는 그릇이다. 그 내용물에 따라서 변수의 타입은 달라진다. 타입에는 크게 정수(int), 부동소수점(float), 문자열(str), 논리(bool) 가 있다. [정수] 정수는 말 그대로 소수가 없는 0, 1, 2, 3, 4, ... 같은 수를 의미 한다. 이것은 서로 사칙연산이 가능하다. 나눗셈을 한 결과는 부동소수점(float) 이 되고 나머지 3개 연산의 결과는 정수 그래도 유지된다. print(type(1), type(1+2), type(1-2), type(1*2), type(1/2)) 출력 [부동소수점] 1.23, 423.543 같은 실수 이다. 이것도 사칙연산이 가능하고 이것들의 결과도 부동소수점 그대로이다. print(type(1.0), type(1.0+2..
함수 호출 방식에서 call of value 는 함수에 값을 넘겨주는 것이고 call of reference 는 함수에 주소를 넘겨주는 것이다. 파이썬에서는 이것이 어떻게 동작하는 지 알아보자 함수에 인자 값을 넘겨 주고 그 함수에서 해당 인자를 수정해 보자def foo(a): a = 10 n = 1 foo(n) print(n) n 은 몇이 출력 될까? 1 이 출력된다. 이유는 a 변수에 값 1이 할당되고 a 을 10 으로 변경하였지만 foo 함수가 종료되는 시점에 foo 함수안에 a 이라는 변수는 해제된다. 그리고 함수밖에 n은 그대로 1 이다. [id] 이것을 실제로 확인해 보기 위해 id 라는 함수를 이용해보자 id 는 객체의 고유 주소값을 리턴하는 함수이다. 예를 들어 a, b 가 주소값이 서로 ..
파이썬에서 스레드를 사용하여 여러 기능을 동시에 실행하는 것처럼 보여줄 수 있습니다. 하지만 스레드를 사용하는 데는 크게 3가지 문제가 있습니다. 1. 스레드들이 서로 안전하게 동작하도록 조율하려면 특별한 도구가 필요합니다. 따라서 스레드를 사용하는 코드가 절차적인 싱글 스레드 보드보다 이해하기 어렵습니다. 또한 이런 복잡성 때문에 시잔이 지날수록 스레드 코드를 확장하거나 유지보수 하기 어렵습니다. 2. 스레드에는 메모리가 많이 필요합니다.(스레드당 약 8MB정도). 많은 컴퓨터에서 스레드를 수십 개 가량 실행할 때는 문제가 되지 않습니다. 하지만 프로그램이 함수 수천 개를 동시에 실행한다면 문제가 발생합니다. 이러한 함수는 사용자가 서버에 보내는 요청, 화면의 픽셀, 시뮬레이션의 입자에 대응할지도 모릅..
딕셔너리 타입의 자료형을 알아보자 mutable 로 수정 가능하고 key, value 을 하나의 요소로 갖는 자료형이다. 기본 형태는 다음과 같다.d = {"name": "bmw", "cost": 100000, "cc":"3000"} print(d) [추가]d["model"] = "520d" [삭제]del d["model"] d.pop("model") [keys, values, items] keys, values, key 와 value 를 하나의 item 으로 한 items 를 다음과 같이 접근할 수 있다.d = {"name": "bmw", "cost": 100000, "cc":"3000"} print(list(d.keys())) print(list(d.values())) print(list(d.item..
리스트를 완전히 알고 있다고 가정 하였을 때 리스트와의 차이점은 immutable 이냐 mutable 이냐 이다 리스트는 변경 가능하고 튜플은 변경 불가능하다. 나머지 slicing 이나 인덱스로 접근, iterable 한 객체가 갖는 기능들은 거의 동일하다. 그리고 새롭게 할당은 되지만 요소의 수정은 할 수 없다. 튜플은 immutable 이기 때문이다. t = (1, 2, 3)이렇게 초기화 할수 있다. t[0] = 99특정 인덱스로 접근해서 값을 수정할 수는 없다
- Total
- Today
- Yesterday
- 파이썬 강좌
- 파이썬 독학
- GIT
- wsgi
- 플러스친구 자동응답
- 문과 코딩
- 이미지 비교
- virtualenv
- 장고
- chatbot
- pycrypto
- gitlab
- gitignore
- django chatbot
- django
- 모바일 테마 적용
- Python
- 면접정답
- 문서 비교
- 파이썬 입문
- Tistory
- 장고 플러스친구 자동응답
- 엑셀 비교
- admin.py
- 모바일 스킨 적용
- PuTTYGen
- 면접답변
- 파이썬 프로그래밍
- 장고 카톡 자동응답
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |