1편에서 가비지 컬렉션, 리터럴, 객체, 아이디 등에 대해 알아보았다.
https://tech-diary.tistory.com/55
파이썬 용어/개념 정리부터 확실하게 #1
모든건 기초가 튼튼해야 한다. 개발자들끼리 의사소통할 때 용어에 대한 이해가 부족하면 말릴수밖에 없다 누군가가 물어볼 때, 좀 안다 싶은데 용어 설명을 못하면 난감하기도 하다 용어에 대
tech-diary.tistory.com
모든건 기초가 튼튼해야 한다. 개발자들끼리 의사소통할 때 용어에 대한 이해가 부족하면 말릴수밖에 없다 누군가가 물어볼 때, 좀 안다 싶은데 용어 설명을 못하면 난감하기도 하다 용어에 대
tech-diary.tistory.com](https://tech-diary.tistory.com/55)
2편도 더 알아가보자
.
해당 포스팅은 [클린코드, 이제는 파이썬이다] 저서의 일부입니다.
컨테이너, 시퀀스, 매핑 container, sequence, mapping
- 컨테이너 : 여러 타입의 객체를 모두 포함할 수 있는 객체
그리고 컨테이너의 종류 중에서
- 시퀀스 : '순서가 있는' 객체 ex) 리스트, 튜플, 문자열..
- len() 내장 함수릍 통해 size 구할 수 있다
- obj[index] 처럼 대괄호를 통해 인덱스 접근이 가능하다.
- 매핑 : 인덱스 대신 해시를 통한 '키'를 사용하는 컨테이너 ex) 딕셔너리
- 순서가 보장되지 않음 but!! 3.7버전부터는 딕셔너리도 key의 순서를 보장함
일급 객체 First class object
이름 하나 멋들어진다
도대체 일급 객체란 무엇일까?
파이썬에서 '함수'는 변수에 저장할 수 있고, 파라미터에 사용될 수 있고, 반환될 수 있는 등
거의 모든 기능을 할 수 있다.
다음을 살펴보자
>>> def hello():
... print("my name is hello")
... return
>>> hi = hello
>>> hi()
my name is hello
함수의 복사가 가능하다.
별칭으로도 불리는 기능이다.
함부로 막 사용하면 당연히 안되고, 이미 잘 사용되고 있는 함수의 이름을 변경할 때 유용하단다.
>>> def call_twice(func):
... func()
... func()
... return
>>> call_twice(hello)
my name is hello
my name is hello
함수는 다른 함수의 파라미터로 활용될 수도 있다.
신기하다.
문 vs 표현식
- 문 : for문 if문 return문 처럼, 무언가 결과값을 갖지 않는 명령
- 표현식 : 변수나 리터럴을 사용하여, 특정 결과값을 가지는 명령 ex) 5 > faminlyCnt() 라던가.. val = count + 1 라던가
에러의 종류
에러는 크게 3가지로 구분될 수 있다.
- 구문 에러 : Syntax Error라고 불리는 이것은, 파이썬에서 정한 규칙을 단순히 위배하는 것이다
- returns 라고 사용하던가, if
~; 라고 쓰던가 등
- returns 라고 사용하던가, if
- 런타임 에러 : 불가능한 명령에 대한 에러다.
- 존재하지 않는 파일을 참조할 때
- 존재하징 않는 인덱스를 참조할 때 등
- 의미 에러 : 아무 에러를 발생시키지 않는다.
- 프로그램 실행에는 전혀 문제가 없지만
- 논리적으로, 계획한 기능대로 움직이지 않는 코드를 말한다.
- 직접 사람이 검증하여 잡아낼 수 밖에 없다.
파라미터 vs 인수
- 파라미터는 함수를 '정의할 때' def 이후 괄호 사이에 들어가는 것
- 인수 : 함수를 '호출할 때' 파라미터가 있는 자리에 넣는 value
라이브러리 / 프레임워크 / SDK / API
라이브러리 Library
- 제 3자가 만든 코드를 전부 라이브러리라 칭할 수 있다.
- 특정 언어에 특화되어 있으며, 라이브러리 사용자는 라이브러리 구조를 이해하지 않아도 된다.
- 우리가 python에서 time.sleep() 함수를 쓸 때, 그 구조를 알아내지 않아도 되는 것처럼
프레임워크 Framework
- 제어 역전 Inversion of control으로 동작하는 코드 모음
- 프레임워크 함수를 호출 -> 프레임워크 요구에 따라 정의된 코드를 작성
- 웹 프레임워크처럼, flask 나 django에서 직접 코드를 작성하지만 결국 프레임워크 규칙에 따라 작성하는 것처럼
SDK Software Development Kit
- 특정 운영체제나 플랫폼 위에서 동작하는 App 작성을 돕는 라이브러리, 문서, SW 도구 등 총칭
- iOS SDK 따위
API App Programing Interface
- 라이브러리, 프레임워크, 엔진, SDK 등을 위한 공용 인터페이스
- 리소스에 접근하기 위해 라이브러리 요청을 수행하는 방법을 정의해둠
- 라이브러리 개발자는 API 문서를 제공하며, 이를 통해 다른 개발자가 특정 라이브러리의 일부 서비스를 활용할 수 있다.
'Python tech > 고급 파이썬 공부' 카테고리의 다른 글
파이썬 내부 동작을 알아보자 (0) | 2023.03.31 |
---|---|
자주 실수하는 파이썬의 함정들 (0) | 2023.03.25 |
파이썬 용어/개념 정리부터 확실하게 #1 (0) | 2023.03.15 |
파이썬다운 코드란? (파이써닉하게 코딩하기) (0) | 2023.03.08 |
Python 에러 예방하기 (코드 악취 제거하기) (0) | 2023.03.02 |