전체 글130 6주차, var, let, const 차이점과 hoisting var, let js는 es6 문법 도입 전까지 var 키워드만을 이용해서 변수를 선언했다. 그렇기에 코드 실행중 예상치 못한 문제들이 자주 발생했다. var a = "a" console.log(a) // "a" var a = "b" console.log(a) // "b" 같은 변수에 다른 값을 두번 할당했는데도 에러가 나지 않고 멀쩡히 다른 값이 출력된다. var는 변수의 재선언, 재할당 모두 가능하기 때문에 유연한 변수 선언 면에서는 장점이지만, 코드양이 많아질수록 유지 관리가 힘들어지고 에러를 찾기도 힘들어진다. 또한 var는 hoisting과도 연관이 있다. js에서 hoisting이란 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미한다. var로 선언한 변수의 경우,.. 2022. 1. 26. 6주차, 객체지향, 절차지향, 특수메소드 절차지향(구조적 프로그래밍): 데이터 구조와 그 데이터를 변화시키는 알고리즘으로 구성 객체지향: 객체들이 메시지를 통하여 통신함으로써 원하는 결과를 얻는다. 각 객체는 고유의 데이터와 데이터를 처리할 수 있는 메소드로 구성 사실 파이선은 모든 것이 객체다. string이나 list 또한 객체다. 'asdf'.upper() 라는 함수조차 이미 선언된 메소드다. 특수메소드 생성자: __init__() 객체가 생선된 후 가장 먼저 호출되는 메소드 첫번째 매개변수는 self이며 이후에 매개변수 추가 가능 주로 멤버 변수의 초기화 코드로 작성 소멸자: __del__() 객체가 소멸될 때 호출되는 메소드 외부 자원을 사용하는 경우, 해제하는 코드를 주로 작성 self 이외의 매개변수를 받지 않음 del 객체이름 을.. 2022. 1. 26. 6주차, 클래스 파이썬도 객체지향 프로그래밍이 가능하다. 하지만 자바와 문법이 다르긴 하다. class human: def __init__(self, height, age): self.height = height self.age = age // __init__ 함수는 객체가 호출될 때 사용되는 함수다. self대신 다른 걸 써도 되지만 혼자 프로그래밍 할 거 아니면 self라 적자 메소드를 선언할 때도 매개변수로 self를 넣어줘야 한다. class human: def __init__(self, height, age): self.height = height self.age = age def how_old(self): print(self.age, "살입니다.") def how_tall(self): print(self.he.. 2022. 1. 26. 6주차, 모듈, 패키지 정리, __name__ 모듈은 함수나 변수, 클래스를 모아놓은 파일이다. 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일이라 할 수 있다. 모듈의 종류 표준 모듈: 파이썬과 함께 따라오는 모듈 사용자 생성 모듈: 프로그래머가 직접 작성한 모듈 서드 파티 모듈: 파이썬 재단도, 프로그래머(본인)도 아닌 다른 프로그래머 또는 업체에서 제공한 모듈 외부 모듈을 사용할 수 있도록 하는 방법은 import 파일명 확장자는 생략하고 파일에 있는 변수나 함수는 파일명.변수 또는 파일명.함수()로 호출가능 모듈은 만들기 쉽다. variable = 3 def addition(x, y): return(x,y) 라 정의하고 이름을 func1.py라 저장한 뒤 불러보자 import func1 이라고 해도 모듈을 못찾을 것.. 2022. 1. 25. 이전 1 ··· 24 25 26 27 28 29 30 ··· 33 다음