Data Type
기본형 --> stack영역에 저장 --> Data
변수(주소)를 따라가면 데이터가 있음
정수 : byte short int char long
실수 : float double
논리 : boolean
참조형 --> 힙영역에 저장 --> 인스턴스/객체
변수(주소)를 따라가면 주소가있음.
String
Array
Enum
String
- 대문자 --> class타입
String이라는 데이터타입은 원래 존재하지 않으나 String이라는 class로 데이터타입을 정의 할 뿐임.
싱글쿼터 : '
더블쿼터 : "
'A' --> char
"A" --> String
단, 파이썬은 전부 문자열 처리.
변수의 주소를 따라가면 문자열 객체가 생성되고 char영역이 다시 참조됨.
변수주소 -> 주소 -> String -> char(값)
Ex) 변수에 "ABC" 저장시 c객체에 있는 주소를 따라가면 주소가 있는 데이터가 존재하고 다시 이 주소를 따라가면 주소가 존재하는 0, 1, 2 인덱스가 존재하는 Striong 객체가 있으며 이 인덱스의 주소를 각각 따라가면 A,B,C가 저장된 char 객체가 존재
변수에 할당된 주소에 존재하는 주소로부터 몇번의 주소값을 따라가야 데이터가 나오는가를 통해 배열의 차원수를 구함
Ex) 위의 예제의배열은 1차원 배열. String 객체에서 주소값을 한번 따라가면 데이터가 나옴.
파이썬에서는 배열이 존재하지 않음. --> 모든 데이터를 linked list의 형태로 이루어짐.
linked list
: 변수의 주소를 따라가면 주소가 나오고 그 주소를 따라가면 LP(Left Point)가 나오고 그 옆에 값이 나오고 다음에 RP(Right Point)가존재. 이 RP를 따라가면 다시 다음 문자의 LP가 나오고 데이터가 나옴. 문자열이 끝나면 RP를 따라가면 개행(/n)이 나오게 됨
Ex)
a="ABC"
a --> 주소 --> LP A RP --> LP B RP --> LP C RP --> \n
배열 : 생성 된 뒤 데이터의 길이가 고정됨
Linked List : 요소의 개수가 가변적
문자열 내부에 싱글쿼터를 쓰고 싶다면 문자열을 더블쿼터로, 내부에 더블쿼터를 쓰고 싶다면 밖을 싱글쿼터로 하면 된다.
단, 이는 파이썬에서만 가능하고 역슬래시(escape string)를 사용. 출력시 형식을 지정해주는것이 좋음. 이를 포멧스트링이라고 함.
Ex)
a = "I\'m"
print("%s", %(a))
\n : new line
\t : teb
파이썬에서 문자열 앞 뒤에 더블쿼터 3개를 통해 문자열이 여러개의 문자열이라는것을 알려줌
Ex)
a = """문자열 내부에 싱글쿼터를 쓰고 싶다면 문자열을 더블쿼터로, 내부에 더블쿼터를 쓰고 싶다면 밖을 싱글쿼터로 하면 된다.
단, 이는 파이썬에서만 가능하고 역슬래시(escape string)를 사용.
출력시 형식을 지정해주는것이 좋음.
이를 포멧스트링이라고 함."""
b = a.split("\n")
print(b[1])
출력값 : 단, 이는 파이썬에서만 가능하고 역슬래시(escape string)를 사용.
Array
길이가 고정적
호출시 순차적으로 인덱스 방문(iterable)
같은 데이터타입만 저장이 가능하다.
Enum 열거형
순서가있는 데이터
Ex)
월 --> 화 --> 수 -->
0 --> 1 --> 2 -->
11월 --> 12월 --> 1월-->
0 --> 1 --> 2 --> *
Data 와 index가 쌍을 이룸
'프로그래밍 및 코딩' 카테고리의 다른 글
대입연산자 작동 원리 및 Data Type (0) | 2024.07.03 |
---|---|
프로그래밍? (0) | 2024.07.03 |
게시판 만들기 _파일 업로드 (0) | 2023.05.30 |