본문 바로가기

Programming

(42)
[PYTHON] nonlocal variable 이해하기 (+예제)🌱 nonlocal variable outer function 안이면서 inner function 밖의 영역의 변수 (local도 global도 아닌 nonlocal) python에서는 외부 영역의 변수에 대해 읽기는 가능하나 쓰기는 제한적 이때 nonlocal 예약어를 사용하면 inner function에서 nonlocal variable 수정 가능 # nonlocal 사용 예시 def outer(): temp = 10 def inner(): nonlocal temp temp += 10 print(temp) inner() print(temp) outer() # 20 # 20 ✔ 예제) 프로그래머스 모음 사전 def solution(name): temp = ['A', 'E', 'I', 'O', 'U'] co..
[PYTHON] shallow copy와 deep copy를 알아보자 🌱 가변객체 파이썬의 객체는 가변객체(mutable)와 불변(immutable) 객체로 나뉜다. 가변객체에는 list, set, dict 등이 있으며, 불변객체와 달리 값을 수정하더라도 메모리주소가 바뀌지 않는다는 특징이 있다. 가변객체를 copy 할때의 주의사항과 shallow copy, deep copy에 대해 알아보자. copy a_list를 만든 후 b_list에 할당하고 메모리 주소값을 출력해 보았다. a_list = [1, 2, 3, [4, 5, 6], [7, 8, 9]] b_list = a_list print('Ex1 > ', id(a_list)) print('Ex1 > ', id(b_list)) # Ex1 > 2736207102336 # Ex1 > 2736207102336 b_list[2] =..
[PYTHON] Variable Scope를 알아보자 🌱 Variable Scope 말 그대로 변수의 영역을 말한다. 컴퓨터 프로그래밍에서 변수 영역은 변수가 유효성을 갖는 영역을 가리킨다. 프로그램은 영역을 벗어난 변수를 가리킬 수 없다(위키백과). 파이썬에서 변수는 세가지 영역으로 선언할 수 있다. Global Variable Local Variable Nonlocal Variable Global Variable 전역 변수는 주로 변하지 않는 값을 선언할 때 사용한다. 함수 안과 밖에서 모두 읽을 수 있다. a = 10 def foo(): print ('Ex1 > ', a) foo() # Ex1 > 10 print ('Ex1 > ', a) # Ex1 > 10 단, 아래와 같이 함수 내에서 전역 변수 값을 변경할 수 는 없다. 값을 변경하고 싶은 경우 함수 ..
[SQL] WINDOW FUNCTION, REGEXP, UDF (feat. 데이터리안, 인프런) 인프런 [백문이 불여일타] 데이터 분석을 위한 고급 SQL 완강 기념 정리노트🙋‍♂️ 1. Window Function 함수(컬럼) OVER (PARTITION BY 컬럼 ORDER BY 컬럼) GROUP BY와 달리 윈도우 함수는 데이터 행의 수를 유지한다(찌부시키지 ✖✖). 함수 자리에는 GROUP BY에서 사용하는 집계 함수 뿐만 아니라 특수 함수(ROW_NUMBER, RANK 등)를 사용할 수 있다. 단, SELECT 절 또는 ORDER BY 절에서만 사용이 가능하다. 윈도우 함수에서 사용하는 특수 함수 중 몇 가지를 알아보자. 1-1. 순위 정하기 ROW_NUMBER() : 예) 1, 2, 3 RANK() : 예) 1, 1, 3 DENSE_RANK() : 예) 1, 1, 2 (비는 숫자 없이 빽..
[SQL] 틈틈이 써둔 데이터리안 백문이불여일타 SQL 강의 노트🚀 인프런에서 쿠폰을 준 게 있길래 데이터리안의 [백문이 불여일타] 데이터 분석을 위한 중급 SQL강의를 들었다. 완강까지는 4일 정도 걸렸다. 이제껏 SQL 문제풀이는 해본 적 없었는데 HackerRank나 LeetCode에서 여러 문제를 같이 풀어볼 수 있어 좋았다. [백문이불여일타] 데이터 분석을 위한 중급 SQL - 인프런 | 강의 인프런 누적 수강생 8000명 이상, 풍부한 온/오프라인 강의 경험을 가진 데이터리안의 SQL 중급 강의. SQL 중급 이론을 배우고, 실습 문제를 함께 풀어봅니다., - 강의 소개 | 인프런... www.inflearn.com SQL 기본은 알고 있고 문제는 풀어본 적 없다면 추천한다👍👍 차근차근 듣다 보면 어렵지 않게 따라갈 수 있으니 난이도 걱정은🙅‍♂️ 아래는 강의..
Do it! 공부단 11일차 | 문제 풀이 (3) Q15에서부터 Q20까지의 문제를 풀었다. 코드는 직접 작성하였으며 풀이와 다른 경우 표시를 해두었다. 난이도는 책에서와 같이 ⭐로 표기했다(최대 3개). Q15 Duplicate Numbers ⭐⭐ #Q15 Duplicate Numbers ''' 입력값: 0-9까지의 숫자 DupNum(): 입력값이 0-9의 모든 숫자를 각각 한 번씩 사용한 것인지 확인 ''' def DupNum(x): x = list(map(int,x)) x.sort() y = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] if x == y: return True else: return False x = input('숫자를 입력하세요: ') result = DupNum(x) print(result) 0부터 9까지 하나씩 담겨..
Do it! 공부단 10일차 | 문제 풀이 (2) Q11에서부터 Q14까지의 문제를 풀었다. 코드는 직접 작성하였으며 풀이와 다른 경우 표시를 해두었다. 난이도는 책에서와 같이 ⭐로 표기했다(최대 3개). Q11 모듈 사용 방법 ⭐⭐⭐ #Q11 모듈 사용 방법 #C:\Users\이동해\python-git\test 디렉터리에 mymod.py 모듈이 있을 때 cmd에서 모듈 사용하는 방법 모두 기술하기 ''' 1) 모듈이 있는 test 디렉터리로 이동해서 사용하기 1. #C:\Users\이동해\python-git\test 디렉터리로 이동 2. python 명령어로 파이썬 셸 실행 3. import mymod 명령어로 모듈 사용 2) sys.path.append(모듈 저장 경로) 사용하기 1. 파이썬 셸 실행 2. import sys 명령어로 sys 모듈 사..
Do it! 공부단 9일차 | 문제 풀이 (1) 파이썬 초보 탈출 20제 드디어 책의 마지막인 코딩 면허 시험을 풀 차례다. 블로그의 글을 참고해가며 먼저 10문제를 풀었다. 코드는 직접 작성하였으며 풀이와 다른 경우 표시를 해두었다. 난이도는 책에서와 같이 ⭐로 표기했다(최대 3개). *ch07 정규 표현식은 내용이 어려워 저자의 조언대로 가볍게 읽고 넘어갔다. Q1 문자열 바꾸기 ⭐ #Q1 a:b:c:d를 a#b#c#d로 바꾸기 x = 'a:b:c:d' result = '#'.join(x.split(':')) print(result) Q2 딕셔너리 값 추출하기 ⭐ #Q2 딕셔너리 값 추출 에러 해결 a = {'A':90, 'B':80} #a['C'] 출력할 시 에러 발생 a['C'] = 70 #딕셔너리 쌍 추가 print(a['C']) 풀이에서는 ..