< id="tt-body-category">
본문 바로가기 메뉴 바로가기

burningrizen

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

burningrizen

검색하기 폼
  • 분류 전체보기 (254)
    • development (14)
      • python (5)
      • django (4)
      • git (3)
      • ubuntu (1)
      • aws (1)
    • common (3)
      • tistory (2)
      • document (0)
    • python lecture (233)
      • basic (96)
      • concurrency (11)
      • functional programming (1)
      • cleancode (1)
      • common (6)
      • algorism (31)
      • programmers (65)
      • project (22)
  • 방명록

python lecture/basic (96)
[edu] packing, unpacking (*args)

- 일반적으로 리스트를 출력하면 다음과 같다 ns = [n for n in range(3)] print(ns) 이것의 결과는 [0, 1, 2] 이것은 리스트라는 형태로 packing 된 상태이다 - 언패킹하여서 요소를 콤마(,) 로 구분지어서 풀어서 나열하는 것을 unpacking 이라고 한다 ns = [n for n in range(3)] print(ns[0], ns[1], ns[2]) print(*ns) 요소를 각각 나누어서 출력하는것을 언패킹하여 출력하는 것은 동일한 값을 갖는다 0 1 2 0 1 2 - 언패킹을 할때는 리스트, 튜플, 딕셔너리 등 앞에 *을 붙여주면 된다. a, b, *c, d = 1, 2, 3, 4, 5, 6 print(a, b, c, d)이렇게 대입하면 1 2 [3, 4, 5] 6

python lecture/basic 2019. 1. 22. 12:56
[edu] 스택 (리스트, 클래스)

- append, del, remove pop 사용하지 않고 구현 - push: 리턴값이 없고 매개변수는 정수하나만 받는다. - pop: 매개변수는 없고 리턴값은 스택안에 가장 마지막에 들어온 값을 리턴 - 스택의 사이즈는 10개로 한정 class Stack: def __init__(self, size): self.size = size self.data = [0] * self.size self.cur = 0 def is_contain(self): return bool(self.cur) def push(self, n): if self.cur < self.size: self.data[self.cur] = n self.cur += 1 def pop(self): if self.is_contain(): self...

python lecture/basic 2019. 1. 22. 10:31
[edu] 큐 (리스트, 클래스)

- append, del, remove pop 사용하지 않고 구현 - enqueue : 리턴값이 없고 매개변수는 정수하나만 받는다. - dequeue: 매개변수는 없고 리턴값은 큐안에 가장 먼저 들어온 값을 리턴 - 큐의 사이즈는 10개로 한정 class Queue: def __init__(self, size): self.size = size self.data = [0] * self.size self.idx = 0 def is_contain(self): return bool(self.idx) def enqueue(self, n): if self.idx < self.size: self.data[self.idx] = n self.idx += 1 def dequeue(self): if self.is_conta..

python lecture/basic 2019. 1. 22. 09:47
[edu] generator (제네레이터, itertools.tee)

[generator expression] - generator 는 링크드 리스트 처럼 순차적으로만 접근이 가능하고 리스트나 튜플처럼 인덱싱으로 접근할 수 없다 ns = (n for n in range(10)) 이런식으로 생성할 수 있다. 단 이건 튜플 컴프리헨션이 아니다, 혼동 없길 바란다. print(ns.__next__()) print(ns.__next__()) print(ns.__next__())위의 코드로 순차적으로 접근 할 수 있다. for n in ns: print(n)이런식으로도 접근이 가능하다. 객체의 사이즈도 특징인데 list 와 동일 요소를 가지고 있는 경우 더 차이가 있다.import sys ns1 = (n for n in range(1000)) ns2 = [n for n in ran..

python lecture/basic 2019. 1. 18. 12:47
[edu] 두 수 계산하기(사칙연산, 계산기, lazy)

[사칙연산] - 두 숫자와 1개 연산자를 입력 받으면 계산의 결과를 리턴하는 함수를 작성한다. - 길이 3의 리스트 cmd 를 매개변수로 받는다. - 리스트의 요소는 모두 문자열이고, cmd[0], cmd[2] 숫자로 된 문자열로 되어있고, cmd[1] 는 연산자다. 예시) 입력> ["1", "+", "2"]결과 > 3 입력> ["1", "-", "2"]결과 > -1 입력> ["1", "*", "2"]결과 > 2 입력> ["1", "/", "2"]결과 > 0.5 추가로 0 으로 나눌때 경우, 예외처리와 계산 타이밍을 고민해 부자. lambdadef operator1(ns: list, ops="+-*/")->str: ns[0], ns[2] = float(ns[0]), float(ns[2]) fs = (la..

python lecture/basic 2019. 1. 17. 16:21
[edu] 슬라이싱 (slice, slicing)

전체 리스트 ns 에 대해서ns = [i for i in range(10)] [인덱스 2~끝]print(ns[2:]) [뒤에서 부터 3개를 제외한]print(ns[:-3]) [뒤에서 3개만]print(ns[-3:]) [인덱스 2~4 까지] print(ns[2:5]) [맨앞에서 4개 , 그다음 3개 , 그다음 3개를 자른 다음에 이어 붙이면] print(ns[:4] + ns[4:7] + ns[7:]) [리스트 전체 역순으로 나열하면]print(ns[::-1]) [인덱스 3~5를 역순으로 나열]print(ns[5:2:-1])

python lecture/basic 2019. 1. 17. 10:58
[edu] for, comprehension, function 예제 모음

[1~n 까지의 합 리턴]def foo(n): s = 0 for i in range(1, n+1): s += i return scomprehensiondef foo(n): return sum([i for i in range(1, n+1)])rangedef foo(n): return sum(range(1, n+1)) [1~n 까지 짝수의 합 리턴]def foo(n): s = 0 for i in range(1, n+1): if i % 2 == 0: s += i return scomprehensiondef foo(n): return sum([i for i in range(1, n+1) if i % 2 == 0]) [1~n 까지 홀수의 합 리턴]def foo(n): s = 0 for i in range(1, n..

python lecture/basic 2019. 1. 17. 09:56
[edu] 리스트 컴프리헨션 (list comprehensions)

리스트를 생성하는 생성하는 컴프리헨션을 리스트 컴프리헨션이라고 한다. ns = [] for n in range(10): ns.append(n) 위의 코드를 컴프리헨션으로 작성 ns = [n for n in range(10)] 조건문을 적용할 수도 있다. ns = [] for n in range(10): if n % 2: ns.append(n) 위를 컴프리헨션으로 작성하면 ns = [n for n in range(10) if n % 2] 다중 for 문과 if 문을 적용할수도 있다. items = [] for c in ["a", "b", "c"]: for j in range(10): if j < 5 and j % 2: items.append((c, j)) 컴프리헨션으로 작성하면 items = [(c, j)..

python lecture/basic 2019. 1. 15. 19:38
[edu] 쓰레드 리턴값 얻기

Thread 를 상속 받아서 재정의 해주자 self._return 을 join 에서 리턴 해주기 위해서 run 함수에서 _target 의 리턴값을 _return 에 정의 하자 그리고 join 함수에서 _return 을 리턴하자. join() 함수를 사용해서 순서를 강제하는 경우에만 가능하다. import threading import time from threading import Thread def foo(t): i = 0 while i

python lecture/basic 2019. 1. 14. 20:31
[edu] decorator 메소드 속성 유지

아래와 같이 출력했을 때 count_prime 이 아니라 wrapper 가 출력된다. 데코레이션으로 속성이 바뀌었다. def get_delay(tp): def decorator(func): def wrapper(*args, **kwargs): import time start = time.time() r = func(*args, **kwargs) print("{}(): delay={}".format(func.__name__, tp(time.time()-start))) return r return wrapper return decorator def is_prime(n): for i in range(2, n): if not n % i: return False return True @get_delay(float..

python lecture/basic 2019. 1. 9. 14:00
이전 1 ··· 4 5 6 7 8 9 10 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 플러스친구 자동응답
  • 면접정답
  • 파이썬 강좌
  • 면접답변
  • 모바일 스킨 적용
  • pycrypto
  • 이미지 비교
  • admin.py
  • 엑셀 비교
  • virtualenv
  • Tistory
  • 파이썬 입문
  • PuTTYGen
  • django chatbot
  • 장고 카톡 자동응답
  • 문서 비교
  • GIT
  • 파이썬 독학
  • 파이썬 프로그래밍
  • gitignore
  • chatbot
  • django
  • 파이썬
  • 장고
  • 모바일 테마 적용
  • Python
  • 문과 코딩
  • 장고 플러스친구 자동응답
  • gitlab
  • wsgi
more
«   2025/09   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바