끄적대기

Python 기초

alpha-star 2022. 3. 24. 02:42
728x90
반응형

˙Python 유래

 Python은 1990년도 귀도 반 로섬이 개발한 인터프리터 언어로,  구글에서 만들어진 프로그램의 50%가 Python으로 이루어졌다는 이야기가 있을 정도로 널리 사용되고 있다. 협업 및 유지보수가 쉽고 간편하여 다른 언어로 되어 있는 여러 모듈들이 Python으로 재구성되기도 한다. Python은 문법이 쉬워 직독직해가 가능하고, 간결하며, 무료로 사용할 수 있는 언어로, 객체지향을 강력하게 지원하는 대화형 인터프리터 언어이다.

 

˙Python 변수

 

˙Python LIST

 

˙Python 제어문

 

˙Python 삼항연산, 재귀 호출, 반환 문

 

 - Python 함수는 'def 함수명(인수)'로 선언

 - Python은 call-by-assignment*

 - 별도의 call-by-reference or value가 없음

 

 - immutable object (int, str, float, tuple)

 - mutable object (list, dict, set)

 

 

 

 

 

 

 

 

 

 

˙Python 튜플, 집합

 

˙Python Immutable

 ▷ 불변 : immutable object (int, str, float, tuple)

   immulate 객체가 함수의 arguments로 전달되면 처음에는 reference로 받지만 값이 변경되면 value로 동작하고, 함수 내에서 formal parameter 값이 변경되어도 actual parameter에는 영향이 없다.

 

˙Python Mutable

 ▷ 변하기 쉬운 : mutable object (list, dict, set)

   mutable 객체가 함수의 argument로 넘어가면 reference로 동작하고, object reference가 전달되어 actual parameter의 값에 영향을 미칠 수 있다.

 

˙Python formal & actual parameter

 ▷ parameter(매개변수) = formal parameter & arguments(인자) = actual parameter

   caller(호출하는 부분)가 인자를 복사해서 넘겨줬으므로, callee(호출당한 부분)에서 인자를 다루어도 caller는 영향을 받지 않는다.

 

˙Python call-by-reference

 ▷ arguments로 값이 넘어오는데, 넘어올 때 복사된 값이 넘어오는 형태

   caller(호출하는 부분)가 인자를 복사해서 넘겨줬으므로, callee(호출당한 부분)에서 인자를 다루어도 caller는 영향을 받지 않는다.

var x = 1;
var func = function(y) {
    y = y + 1;
}
func(x);

 

˙Python call-by-value

 ▷ arguments로 값에 대한 참조 주소 또는 메모리 주소를 담고 있는 변수를 넘겨주는 형태

   eference를 넘겨주다 보니 해당 reference에 대한 값은 복사하지 않는다. caller(호출하는 부분)가 인자를 복사해서 넘기지 않으므로, callee(호출당한 부분)에서 인자를 다루게 되면 caller는 영향을 받는다.

var x = {};
var func = function(y) {
    y.x = 1;
}
func(x);

 

˙Python 사전 자료형 DICT & JSON

 

˙Python Try ~ Except 예외처리

 

 - Python 소스코드 예외처리 방법

 

 - Try ~ Except 구문을 통한 예외처리 구현 가능

 - exception Exception as e를 통한 예외처리 문구 출력

 - 예외사항(에러) 발생 시 아무 작업하지 않으려면 pass 사용

 

 - 무조건적인 방어 코드는 예외사항(에러) 찾기에 어려움을 유발

 - 필요에 따라 로그 또는 print 문을 통한 기록(적재) 필요

 

 

 

 

 

 

 

 

 

 

 

 * call-by-assignment : 전달받는 객체에 따라 객체의 참조 방식이 결정된다는 의미

728x90
반응형