목록개발/Python (36)
Reference 파이썬 객체 참조 다양한 특징 Copy Deep copy 매개변수 전달 주의할 점 # id VS __eq__ (==) 증명 import copy x = {'name': 'Kim', 'age': 33, 'city': 'Seoul'} y = x print(id(x), id(y)) print(x == y) print(x is y) print(x, y) x['class'] = 10 print(x, y) z = {'name': 'Kim', 'age': 33, 'city': 'Seoul', 'class': 10} print(x,..
파이썬 변수 범위 여러가지 클로저 구현 클로저 속성 데코레이터 작성 예제 데코레이터 작동 원리 # 파이썬 변수 범위(global) # b가 없어서 에러 # def func_v1(a): # print(a) # print(b) b = 10 def func_v2(a): print(a) print(b) func_v2(5) # 같은 변수가 있을 시 지역 변수가 우선 # def func_v3(a): # print(a) # print(b) # # b가 내 지역안에 있는 것만 확인 가능하고 값은 이후에 대입됨 # # 에러 # b = 5 # func_v3(5) # 클로저 # 반환되는 내부 함수에 대해서 선언 된 연결정보를 가지고 참조하는 방식 # 반환 당시 함수 유효범위를 벗어난 변수 또는 메소드에 직접 접근이 가능 a..
파이썬 함수 특징 함수 객체 속성 확인 Map, Filter, Reduce 익명함수 다양한 매개변수 사용 # 일급 함수 (일급 객체) # 1. 런타임 초기화 # 2. 변수 등에 할당 가능 # 3. 함수 인수 전달 가능 # 4. 함수 결과로 반환 가능 return funcs # 함수 객체 예제 import random from operator import add from functools import reduce def factorial(n): """Factorial Function -> n: int""" if n == 1: return 1 return n * factorial(n-1) class A: pass print(factorial(5)) print(factorial.__doc__) print(ty..
List List Comprehension Container VS Flat Generator List VS Array Mutable VS Immutable # List & Tuple # 컨테이너(Container): 서로 다른 자료형(list, tuple, collections.deque) # Flat: 한 개의 자료형(str, bytes, bytearray, array.array, memoryview) # 가변(mutable): list, bytearray, array.array, memoryview, deque # 불변(immutable): tuple, str, bytes # Non Comprehending Lists from array import array chars = '!@#$%^&*()_+'..
구조화된 모델 namedtuple / namedtuple Attr / namedtuple Method Magic Method # https://docs.python.org/3/reference/datamodel.html # 데이터 모델(Data Model) # Namedtuple 실습 # 파이썬의 중요한 핵심 프레임워크 -> 시퀀스(Sequence), 반복(Iterator), 함수, 클래스 # 객체 -> 파이썬의 데이터를 추상화 # 모든 객체 -> id(주소), type(자료형) -> value # 파이썬 -> 일관성 # 일반적인 튜플 # 튜플 -> 변경 안됨, 속도가 리스트 보다 빠름 from collections import namedtuple from math import sqrt p1, p2 = ..
Instance Variable / Class Variable Instance Method / Class Method / Static Method # 딕셔너리 구조 # 코드 반복 지속 # 이런 구조는 많이 사용되고 있기는 함 # 데이터베이스나 기타 써드파티(외부에서 제공하는 것)에서 주로 사용 # JSON Array student_dicts = [ {'std_name': 'kim', 'std_num': 1, 'std_grade': 1}, {'std_name': 'kim', 'std_num': 1, 'std_grade': 1}, {'std_name': 'kim', ..