코딩왕이 될거야
파이썬 시작하기 본문
클래스, 객체, 인스턴스
- 클래스는 똑같은 무엇인가를 계속해서 만들어낼 수 있는 설계, 틀과 같은 것
- 객체는 클래스에 의해 만들어진 물건, 실체
- 클래스에 의해 만들어진 객체는 객체별로 독립적인 성격을 갖는 다는 것이 특징
- 같은 클래스에 의해 생성된 객체라도 서로에게 아무런 영향을 주지 않음
- 클래스에 의해 만들어진 객체를 인스턴스라고 함
- 인스턴스는 특정 객체가 어떤 클래스의 객체인지를 관계 위주로 설명할때 사용
- 클래스와 구체적인 객체 사이의 관계에 초점을 맞추면 인스턴스라는 용어를 사용 (트럭은 자동차의 인스턴스)
- 객체는 프로그램에서 구현할 대상
- 인스턴스는 설계도를 바탕으로 프로그램에서 구현된 구체적인 실체
- 객체를 프로그램에서 실체화하면 그것을 인스턴스라고 부름
- 인스턴스는 메모리에 할당
- 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라고 함
- 객체지향 프로그램은 객체를 중심으로 프로그래밍 하는 방법
- 파이썬에서는 모든것을 객체로 만듦
- 객체는 프로그램에서 구현할 대상
- 객체가 있다는 것은 객체를 만들 수 있는 클래스가 있다는 뜻
- 파이썬에서 프로그래밍하는 모든것은 클래스로 만들어졌다고 할 수 있음
- 파이썬에서 객체의 타입은 객체를 만드는 클래스를 말함
- 클래스를 만들 때 쓰는 키워드는 class
- 키워드는 파이썬이 특별한 일을 할 때 사용하는 단어로 나중에 배우는 변수와 구별해서 사용
- 클래스의 이름은 첫 글자를 대문자로 함
ex) class Myclass () :
- 클래스 이름, 괄호, 그리고 끝에 콜론을 사용
- 파이썬의 특징으로 클래스를 만들때는 클래스 이름 다음에 콜론을 쓰고 엔터를 침
- 다음줄은 자동으로 들여쓰기
- 클래스가 아무일도 하지 않게 만들고 싶을때는 pass사용
- pass문은 아무 기능이 없다는 뜻
class Myclass(object) : <- class정의
pass
My = Myclass() <- class 저장
print(My) <- class확인, My는 Myclass
이런식으로 사용
이름공간
- 프로그램을 작성한다는 것은 값을 저장하고, 필요할 때 이 값을 읽어 여러가지 처리를 한다는 뜻
- 프로그램에서 이 값을 관리하는 기준이 필요하며 파이썬은 이름공간을 만들어 관리
- 변수의 이름은 직접 만들 수 있지만 이름을 정할 때 규칙이 있음
1) 영문자(대, 소문자 구분), 숫자, 언더바(_)사용 가능
2) 첫 자리에 숫자 사용은 불가
3) 파이썬 키워드는 변수 이름 사용 불가 (False, True 등)
var1 = 10
var2 = "파이썬 드론"
print(var1)
10
10 이라는 결과값 생성
var1 = 10
var2 = "파이썬 드론"
print(var2)
파이썬 드론
파이썬 드론 이라는 결과값 생성
var1 = 10
var2 = "파이썬 드론"
print(var1, var2)
10 파이썬 드론
상수와 변수
상수: 항상 똑같은 수
변수 : 변할 수 있는 수
- 파이썬의 변수는 C/C++ 같은 프로그래밍 언어와 달리 실제 값이 저장되는 공간 자체가 아니라 값들의 임시 저장소
- 변수에는 값인 객체가 어디에 있는지 알려주는 주소인 레퍼런스만 저장
- 레퍼런스는 값이 메모리의 어디에 있는지 알려줌
- 파이썬에서 변수가 실제 값이 존재하는 위치를 가리키는 것을 바인딩 이라고함
- 프로그램을 만들 때 변수에 다양한 객체를 할당할 수 있는 이유는 단순히 레퍼런스만 저장하기 때문에 자료형의 종류에 따라 상관없이 객체를 할당할 수 있음
- 메모리에 접근할 수 있도록 붙인 이름표가 바로 변수임
name = "my name is yeon42da"
print(name)
>> my name is yeon42da
print("100+200")
>> 100+200
print("100"+"200")
>> 100200
print(100+200)
>> 300
'Python' 카테고리의 다른 글
파이썬 시작하기(3) (0) | 2024.12.05 |
---|---|
[Python] 파이썬 시작하기(2) (1) | 2024.12.05 |
드론 조종하기 - 기본 설정 (0) | 2024.12.05 |
[IT] 드론 조종의 첫걸음 (0) | 2024.12.04 |
[IT] 드론의 정의 (0) | 2024.12.04 |