일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- socket io
- AWS
- Props
- node
- docker
- SSA
- react
- 채팅
- Vue
- Class
- MongoDB
- 중급파이썬
- S3
- EC2
- RDS
- lambda
- NeXT
- crud
- async
- SAA
- wetube
- 튜플
- 카톡
- merge
- TypeScript
- 파이썬
- pandas
- flask
- git
- dict
- Today
- Total
목록전체 글 (420)
초보 개발자
[iterable 객체와 매개변수] 이번에 살펴 볼내용 4가지를 정리하면 다음과 같다. func(*iterable) iterable 객체를 전달하면서 *을 붙여서 함수 호출할 때 func(**dict) dict 객체를 전달하면서 **을 붙여서 함수 호출할 때 def func(*args) 함수를 정의하면서 매개변수 args에 *붙일 때 def func(**args) 함수를 정의하면서 매개변수 args에 **붙일 때 먼저 다음 두가지에 대해 살펴보려고한다. 이 둘은 객체를 전달하는 과정에서 언패킹이 진행되는 상황이다. (리스트, 튜플, 문자열 모두 iterable 객체이다.) *를 묶는다로 이해하면 되는데 푼다라고 해석하는 경우가 한 경우 있다. 이는 함수 호출 할 때 인자로 전달할 경우이다 ex ) a =..
[딕셔너리 루핑 테크닉] 딕셔너리를 대상으로 하는 가장 보편적인 for루프 구성은 다음과 같다. d = dict(a=1,b=2,c=3) for k in d: #k에는 키가 담긴다. print(d[k], enc=', ') 근데 아래와 같은 메소드를 알아두면 for 루프를 구성할 때 좀 더 효율적으로 코드를 작성할 수가 있다. dict.keys() 딕셔너리의 키들만 참조하고자 할 때 dict.values() 딕셔너리의 값들만 참조하고자 할 때 dict.items() 딕셔너리의 키와 값을 튜플 형태로 참조하고자 할 때 위의 세 메소드가 반환하는 것을 가리켜 뷰 객체라고 한다. 뷰 객체도 iterable객체로 다음과 같이 for 루프를 통해 그 값을 하나씩 참조할 수 있다. 다음은 keys 메소드를 사용한 예이..
[dict의 다양한 생성 방법] 일반적인 딕셔너리의 생성방식은 다음과 같다!! d = {'a':1,'b':2,'c':3} d {'a':1,'b':2,'c':3} 그리고 딕셔너리는 dict라는 클라스의 객체이다 type({}) # 빈 딕셔너리 전달하면서 type함수 호출 따라서 dict클래스의 객체를 직접 생성하는 형태로도 딕셔너리를 만들 수 있다. 물론 생성 방법에 차이가 있을 뿐 만들어진 결과물은 동일하다. d = dict([('a'),1,('b',2),('c',2)]) # 또 다른 딕셔너리 생성 방법 d {'a':1,'b':2,'c':3} 튜플들을 묶어서 리스트 안에 넣었다. 딕셔너리의 키가 문자열인 경우에는 다음과 같이 생성할 수도 있다. 이 경우 a,b,c는 안그럴거같지만 문자열로 인식이된다. d..
[네임드 튜플의 이해와 작성] tri_one = (12, 15) #삼각형 밑변 12와 높이 15를 묶어 놓은 것) tri_one (12, 15) 주석을 통해 앞에 있는 12가 밑변이고 15가 높이라고 말하지 않았다면 이 사실을 몰랐을 것이다. 이러한 단점을 보완하기 위해서 만든것이 정보를 튜플에 새겨 놓을 수 있도록 한 것이 네임드 튜플이다. 튜플도 클래스의 객체이다. 우리는 튜플에 각 각 이름을 부여할 것이다. 이것은 무엇을 의미하냐면 튜플로 사용할 수 있는 클래스를 하나 만든다는 의미이고, 일반적으로 클래스를 만들려면 귀찮으니까 이름을 부여한 튜플을 생성할 수 있는 클래스를 만드는 방법으로 파이썬에서 namedtuple이라는 함수를 제공하고 있다. 파이썬 : 너는 클래스의 이름하고, 튜플의 각 위치별..
패킹 : 묶기 언패킹 : 풀기 * → 묶는다 라는 의미라고 생각하자 단! 단 하나의 경우에는 풀기의 의미도 있다. 그게 언제냐면 함수를 호출하면서 인자를 전달할 때이다. 튜플로 값을 묶는 행위를 가리켜 '튜플 패킹'이라 하고 반대로 튜플로 묶여 있는 값들을 풀어내느 행위를 '튜플 언패킹'이라 한다. 튜플 패킹 : 하나 이상의 값을 튜플로 묶는 행위 튜플 언패킹 : 튜플레 묶여 있는 값들을 풀어내는 행위 tri_one = (12, 15) #밑변 길이 12와 높이 길이 15를 묶어 놓은 것 # tri_one = 12, 15 이렇게 소괄호 생략할 수도 있다. tri_one (12, 15) 보통은 튜플 생성이라고 이야기를 한다. 하지만 튜플 패킹이라고 이야기를 할 수도 있다. 반대로 다음과 같이 튜플에 저장된 ..
더보기 import random class Object(): def __init__(self, name, hp, power): self.name = name self.hp = hp self.power = power self.critic_damage = 10 self.amor = 0 self.miss = 0 def attack(self, enemy): critic_per = random.randrange(1,11) if critic_per
일반적인 베스킨라빈스 31게임 import random # 31게임을 위한 배열 1 ~ 31 numbers = [i for i in range(1,31+1)] # player가 0이면 user, 1이면 computer를 의미함 player = random.randrange(0,2) def user(array): global player # 1~3사이의 숫자 그리고 배열의 갯수보다 많이 말하면 안됨 while True: num = int(input('1~3의 숫자를 입력해주세요.')) if 1
Array vs LinkedList 경우 Array LinkedList 특정 원소 조회 O(1) O(N) 중간에 삽입 삭제 O(N) O(1) 데이터 추가 데이터 추가 시 모든 공간이 다 차버렸다면 새로운 메모리 공간을 할당받아야 한다. 모든 공간이 다 찼어도 맨 뒤의 노드만 동적으로 추가하면 된다. 정리 데이터에 접근하는 경우가 빈번하다면 Array를 사용하자 삽입과 삭제가 빈번하다면 LinkedList를 사용하는 것이 더 좋다. Python의 list도 사실 array로 구현되어 있다. append를 사용해서 새로운 배열을 만들고 있었던 것이다. 근데 내부적으로 동적 배열을 사용해서 배열의 길이가 늘어나도 O(1)의 시간 복잡도가 걸리도록 설계했다고 한다. 파이썬의 배열은 링크드 리스트로 쓸 수도 있고..