프로그래머가 유일하게 하는일 추상화(abstruction)
함수(function, roution, procedurer,subroutin)
procedurul programming (절차지향) 이라고 쓰지만 함수지향?이라고 보는게
객체(object)
oop(object-oriented-programming) 객체지향(알고있어야함)
딱 하나의 개념 (추상화를 위해서 함수만으로 프로시듀얼해서 사용)
변수와 함수를 한꺼번에 묶었다 = 객체지향
프로그램 패러다임떄문에 객체지향이 나옴
함수
ㅡ> 함수 시그니처 or 인터페이스
(함수 이름,매개변수,결과값)
parameter
argument
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ내부구현(implementation)
함수 시그니처와 내부구현을 나누는것이 추상화라고 한다.
사용자는 (인터페이스or시그니처)만 알아도 된다.
자바스크립트를 만든사람들은 내부구현을 한것이다.
함수 시그니처를 모아놓은것이 documnet(문서)
함수시그니처가 같더라도 내부 구현의 알고리즘에 따라 시간복잡도 O(n)이 달라짐.
알고리즘을 평가할때 O(n)을 알아야한다
좋은프로그래밍과 나쁜 프로그래밍을 비교하기위해
함수이름: 함수가 어떤일을 하는지 명확하게 나타내야됨
매개변수와 리턴값을 맞춰줘야함
내부구현하기 전에 인터페이스를 짜야됨
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
자바스크립트의 가수부는 52bit다
sys.float_info.dig 15
왜 디짓이 15인가??
-
정밀도
sys.float_info.mant_dig 53
52라고 배웠는데 53이라고 나옴
정규화를 하면, 2진수의 특징때문에 1.010101010x2^x 니까
앞에가 무조건 1이라, +1되서 53이 나옴
-
표현범위
sys.float_info.epsilon 2.220446049250313e-16
2^-52
니들은 몰라도돼, 나는 알아야돼
0.015625 와 바로다음에 표현 가능한 수 representable(표현가능한)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
print(색깔변함 내장함수)
언어를 배움에 있어서 프로그래밍언어를 제일먼저 배울때 김포프=
데이터타입 > 함수 어떻게 쓰는지 > 내가 쓰던언어 여기서도 호환되는지 > 포팅
python, js 인터프리터언어 (같은 방식 클로저 같은)
파이썬은 int / float구분 자바스크립트는 number(double)
js 프리머티브(기본 데이터타입) c처럼 박스모델이나
객체(obj)은 , 참조??모델이다 ?뭔지 모름
python은 모든것이 객체
a=10 4바이트 저장보다 덕지덕지 붙어있음
오버플로우가 안나는대신 속도가 느림(경계검사)
파이썬에서는 문자가 없다고 생각하면 편함, 문자=문자열
mutable object(변경 가능객체)| immutable object(변경 불가능객체)
리스트 |정수,실수,상수 ( a=10, a=20의 예)
딕셔너리 | 문자열
집합 | 튜플
내일 가위바위보 게임 예정 배울 예정
'공부 > TIL' 카테고리의 다른 글
파이썬 기초 (0) | 2019.04.20 |
---|---|
[파이썬 기초] 자료형, 연산 (0) | 2019.04.19 |
컴퓨터 전반적인 내용들 (0) | 2019.04.17 |
그리드, <ficture> src 속성 background-size속성 (0) | 2019.04.16 |
TIL: 레이아웃의 변천사 (0) | 2019.04.15 |