본문 바로가기

Programming/Python

(20)
[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 단, 아래와 같이 함수 내에서 전역 변수 값을 변경할 수 는 없다. 값을 변경하고 싶은 경우 함수 ..
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']) 풀이에서는 ..
Do it! 공부단 8일차 | ch06 간단한 스크립트와 함수 만들기 ch06 파이썬 프로그래밍, 어떻게 시작해야 할까? 이 장에서는 이제껏 배운 것들로 간단한 스크립트와 함수를 만들어 보았다. 스크립트란 에디터로 작성한 파이썬 프로그램 파일을 말한다. 06-1 구구단 만들기 프로그램을 짤 때는 하나하나 나눠서 생각하는 것이 좋다(예) 입력값, 출력 값, 변수, · · ·). 이러한 방식으로 구구단을 출력하는 함수를 만들어보자. #multTable.py """ 구구단 프로그램 만들기 함수 이름짓기: GuGu 입력값 정하기: 2~9 출력값 정하기: 2~9단 결과 저장할 변수 자료형 정하기: 리스트 """ def GuGu(n): result = [] i = 1 while(i
Do it! 공부단 7일차 | ch05 파이썬 날개달기_내장 함수 05 내장 함수 파이썬 내장 함수는 외부 모듈과 달리 import를 사용하지 않고 쓸 수 있다. 활용 빈도가 높고 중요한 함수를 알파벳순으로 알아보자. 함수 매개변수 역할 abs(x) 숫자 숫자의 절댓값을 돌려준다. all(x) 반복 가능한 자료형 x가 모두 참이면 True, 하나라도 거짓이면 False를 돌려준다. any(x) 반복 가능한 자료형 x가 하나라도 참이면 True, 모두 거짓이면 False를 돌려준다. chr(i) 아스키(ASCII) 코드 아스키코드에 해당하는 문자를 출력한다. dir(object) 객체가 자체적으로 가지는 변수나 함수를 리스트로 돌려준다. divmod(a, b) 숫자 a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려준다(몫, 나머지). enumerate(x) 순서가 있는 자..