본문 바로가기

Language

(22)
4. 문(statement) 선택문 반복문 아래의 두 문(statement)들의 공통점은 식(expression)을 통해서 중괄호 코드 블록을 실행한다 한다 선택문 조건식이 필수적으로 들어간다. if if (조건(평가)식) { 조건 식이 참일 경우 실행; }else if [[///
3. 연산자 연산과 관련된 용어들 연산(Operation) 식이 나타낸 일정한 규칙에 따라 계산함, 공집합이 아닌 집합에서, 그 집합에 속하는 임의의 두 원소로부터 제3의 원소를 만듦 연산자(Operator): 연산을 기호화 한것 +,-.*,/ 피연산자(Operand): 연산의 대상이 되는 것 a+b //a,b가 연산자이다. 표현식(Expression): 연산된 결과를 변수나 상수에 저장하는 것 c = a+b 위에서 아래 순으로 연산자의 우선순위를 나타낸다. 연산자의 우선순위는 대체적으로 수학과 비슷함으로 수학적으로 사고해야한다. (출처https://triangle.academy/course/java/course/java-basics/p/3) 산술 연산자(arithmetic) boolean 타입을 제외한 모든 Pri..
다시 복습하는 자바 - 2.자바 데이터 타입, 변수 그리고 배열 대략적인 자바의 자료 구조 형식 실제 버전업을 거치면서 늘어나기도 줄어 나기도 하지만 자주 쓰이는 좋은 그림이 있어서 가져 왔다 프리미티브(원시,기본) 타입 종류와 값의 범위 그리고 기본 값 1.자바에서는 위의 이미지 처럼 8가지 기본형 타입(Primitive type)을 지원한다.(정수 실수, 문자, 논리) 2.데이터 타입이 선언 된 이후 기본 값은 null을 원칙적으로 넣을 수 없으나 null을 넣고 싶다면 래퍼 클래스를 사용하여 값을 넣는다. 3.실제 값을 저장하는 공간은 스텍 메모리에 저장한다. 4.코드 컴파일 시점에서 크기가 range 에서 벗어 나면 에러가 발생된다. 특이한 점은 자주 쓰는 String은 기본형 타입은 아니라고 하는 것인다. Reference type 1.8개의 타입을 제외한 ..
RePythonOOP 17일차 Python Underscore 파이썬 언더스코어 사용하는 이유 1. 인터프리터에서 마지막 값을 저장 10 _*10 _/10 2. 값을 무시하고 싶을때 i,_,j = 1,2,3 i # 1 j # 3 a = 1 for _ in range(5): print(a) 3. 변수나 함수명에 특별한 의미를 부여하고 싶을때 1) 폴더안에 __init__.py 파일 존재시 폴더를 패키지로 사용가능 2-1) _변수 : protected 외부(module)에서 사용이 불가하고 파일내에서만 직접 접근가능 2-2) __변수 : privated 완전 private 직접접근 불가, 맹글링(변수나 함수명을 일정한 규칙으로 변형)하기 위해서이다. 하지만 인스턴스._클래스(객체명)__변수명 으로 접근이 가능하다 어렵게 접근하게 함으로 직접접근 또는 외부에서의 값 변경..
RePythonOOP 16일차 Local and Global Scope in Function, Function Closure, Function Decorator Insight 1. 지역,전역,자유 영역(Scope)에 대해 정확히 구분하여 사용 할 수있다. (이런 짜치는 걸로 고민 할 시간이 줄어 들었다.) 2. 클로저를 사용하는 가장 큰 이유는 함수를 매개변수로 전달 하기 위함이 가장 큰 장점이라는 것을 알게되었다. 3. 데이터가 크다면 클로저사용은 지양 되어야 한다는 것을 알게 되었다. 4. 데코레이터 자주 쓰긴 했지만 정말 반복되는 작업에서 간편하다. 사전 지식 지역변수(local)와 전역변수(global)의 차이를 인지 Local and Global Scope in Function 지역변수와 전역변수가 같은 이름으로 선언이 되어있을때 지역영역에서 전역변수를 사용하는 예제를 보자 b = 1 def func1(a): print(a) print(b) from d..
RePythonOOP 15일차 Python Multi Parameter Variables, Function Signature, Function Partial Insight 1. 다양한 매개변수들의 형식에 맞게 인자를 처리할 수 있게 되었다. 2. 파라미터의 정보들이 햇갈릴 때 Signature를 사용 할 줄 안다. 3. 함수내 특정한 인자를 고정해야 할 때 Partial을 사용 할 줄 안다. 다양한 매개변수들 입력시 파이선의 처리방법 일반 파라미터, 가변 파라미터, 디폴트 파라미터, 키워드 파라미터 순서대로 알아 보겠습니다. def test(id, *args, age=None, **kwargs): return 'test ({}) ({}) ({}) ({})'.format(id, args, age, kwargs) 아이디 매개변수로만 받는다. print(test('test1')) # test (test1) (()) (None) ({}) 아이디 매개변수 먼저 붙이고..
RePythonOOP 14일차 Python First-class Functions, First-class citizen Higer Order Function, reduce(), callable(), class as callable() Insight 1. 일급 함수, 일급 시민, 고위 함수에 대해서 설명할 수 있다. 2. 함수가 객체로 취급 되어 객체 처럼 행동하는 것을 일급 함수라고 한다. 3. 함수는 클래스보다 기본적인 내장 메서드가 더 많다. # {'__annotations__', '__defaults__', '__qualname__', '__call__', '__kwdefaults__', '__name__', '__globals__', '__get__', '__code__', '__closure__'} 4. 함수에 비해 클래스만 가지는 것은 약한참조(__weakref__)밖에 없다 5. 일급 시민의 의미들을 알 수 있엇다. 6. callable() 사용하는 프로그래머로서 나중에 함수를 인자로 사용시 에러가 나와도 걱정 하지 않게..
RePythonOOP 13일차 Python Immutable Dict, Immutable Set, Set Comprehension Insight 1. 이전에 보았듯 Immutable하게 자료형을 사용하면 해시 테이블 사용으로 성능을 올릴 수 있다. 2. 프로그래밍중에 변하지 않아야 하는 값이 거나 변동이 별로 없는 자료 라면 불변형 사용이 좋다. 3. 어떠한 자료형이든 선언 할 시 괄호그대로를 써주는게 성능에 좋다. 불변형 딕셔너리(immutable Dict) MappingProxyType : 읽기 전용 딕셔너리 python 3.3이상 부터 사용가능 합니다. 수정/삭제를 원할시 직접 객체를 복사하여 수정해야합니다. 변경되지 않는 딕셔너리를 사용하고 싶을 때 사용합니다. MappingProxyType()으로 사용 from types import MappingProxyType a = {'a': 'b'} m_p_t = MappingPro..