스인개 데이터디자인(12.28-06.23)/기본진도

230215_34일차 : JavaScript / 파이썬

bell_a 2023. 2. 15. 12:41

1교시, 2교시, 3교시, 4교시 - JavaScript(함수/객체)

1. 함수(Function)

(1) 함수 : 특정 기능을 수행하는 소스 코드를 하나로 묶어, 필요할 때마다 호출하여 사용하기 위한 구조

  => 장점 : 코드가 반복되지 않고 재사용성이 뛰어남

(2) 함수의 선언과 호출, 매개변수를 이용한 함수와 return을 이용한 함수

우) makeJuice() 의 결과
우) makeAnyJuice의 결과
우) consolo 결과 > 연두색 / alert의 결과 > 노랑

+ return문은 함수의 가장 하단에 위치해야한다. return문 아래로는 실행되지 않는다.

 

(3) 주의 - 변수 뿐 아니라 함수에서도 호이스팅이 일어난다.

ⓞ 함수에서의 호이스팅

함수보다 위에서 호출했지만, 실행됨

① 문제해결 : 정석

② 문제해결 : 화살표 함수(Arrow Function)

+ const를 사용하는 이유 : let을 사용하면 함수자체를 변하게 만들수 있으므로 사용하지 않고, const를 사용하여 함수 안의 '값'만 변할 수 있도록 만들어 사용한다.

(4) 예제

좌:나 /우:선생님 ///매개변수 a,b와 변수 num1,num2는 서로 변수명이 달라도 상관없다.

+ 변수를 선언하고, 함수를 넣어 간단하게 만들어도 무방하다

+ 콘솔문에 함수를 넣게되면 함수의 실행로직이  우선실행되고, return값은 consol문 내부에서 출력된다.

+ 각 내용을 , 로 처리하고 원하는 return값은 숫자이므로 +로 연결하면 덧셈이 가능하다

 

(5) 자바스크립트 함수의 특징 추가(아래와 같이 잘못 실행하더라도 오류는 나지않는다)

1. 결과 : 12(3이 아닌, 숫자+문자의 결과로 문자로 출력된다) 3. 결과 : NAN / NAN
alert창에서 3 / 3 순서대로 출력된다. 두번째 출력창의 3은 앞의 2개의 매개변수만 확인하여 정답은 나오지만 오류발생요지가 있음

2. 객체

(1) 객체(Object) : 여러 속성을 하나의 변수에 저장할 수 있도록 해주는 데이터 타입 / 데이터(속성)과 데이터에 관련되는 동작(절차,방법,기능)을 모두 포함한 개념 => 속성과 값으로 구성되어있는 데이터의 집합

 => key & value로 접근

- 배열, 함수, 객체의 구분

(2) 객체 선언과 출력, 객체 내 데이터에 접근하는 방법과 객체 내 데이터 변경하기

(3) 배열 안에 객체 넣을 수 있고, 객체 안에 배열 넣을 수 있다

(4) 비구조화 할당(신문법) : 배열이나 객체의 '속성 혹은 값'을 해체하여 그 값을 변수에 각각 담아 사용하는 자바스크립트 표현식 => 익명의 객체를 만들면서, 동시에 변수에 배열을 담아주는 표현식이다(변수명을 앞에 쓰고[],{}, > 값 또는 속성&값을 뒤에 쓴다[],{})

주의) 객체에서 변수명 = 키 를 일치시켜야한다.
위의 4줄이 1줄처리됨(위와의 차이점은 익명의 배열이냐 아니냐)

(5) 예제

+ 문자 포매팅 : ` ` 백틱(숫자 1 왼쪽에 있음) / 변수가 필요시 ${} 안에 담아준다

5교시, 6교시, 7교시, 8교시 - 파이썬(반복문)

1. 반복문

(1) 반복문 : 프로그램 내에서 똑같은 명령을 일정횟수만큼 반복하여 수행하도록 제어하는 명령문

(2) 반복문의 종류 : for문 / while문

① while문

- break : 반복문을 나가는 기능

- random 라이브러리 사용

우측과 같이 import하면서 as를 이용해 별칭을 부여할수있다.

- 예제

② for문 : 문자열 또는 리스트 또는 튜플이 들어갔을때(모두 인덱스를 가짐), 변수에 데이터를 저장한 후 안에 있는 요소를 하나씩 반복

키워드 : for, in / 변수명은 i를 많이 사용함

- print문 개행 없이 출력하기 : print( i, end = '')

(print문의 소괄호 내부에서 shift+tab하면 print문의 end속성이 무엇으로 설정되어있는지 확인가능)

- for문과 함께 사용하는 range()함수

주의) 종료할 숫자는 '내가 원하는 숫자 + 1'
하나만 있으면 끝값, 두개 있으면 시작&끝값

- 예제

+ 주의 ) 아래처럼 index함수 사용시, 동일한 점수가 있는 경우 앞에 있는 인덱스번호만 가져오게 되므로 문제발생