python은 배열대신 linked list를 사용해서 알고리즘 짜기가 쉽다.
static | |
기본데이터 stack a->주소->데이터 |
참조데이터 heap a->주소->주소 |
stack 영역 빈 곳 랜덤한 곳에 적재한다.
주소가 있으면 따라간다.
데이터가 있으면 가져온다.
하나의 변수는 하나의 값만 기억한다.
배열 = 호출 시 순서대로 반환(index)
변수 -> 공간의 주소
변수 데이터 타입 -> 공간의 크기
함수 = 첫글자 대문자
class = 첫글자 대문자
ㄴ 함수 = 메서드(c = 함수, java, py = 메서드)
데이터 타입 외 종류
1. 기본 데이터 타입 : stack (소스코드 / 변수테이블) : LIFO
1) 정수형 데이터 타입 ( byte , short , char , int , long)
1 2 2(4) 4 8
2) 실수형 데이터 타입 (float , double)
4 8
3) 논리형 데이터 타입 (boolean)
주소 1byte
2.참조 데이터 타입 : Heap (현재 실행중.. : tmp) : 필요할 때 마다 사용한다.
1) 배열타입 --> 자료구조 --> 순서가 있다(iterable) : index 사용
2) 열거형 객체 타입 --> (enum)/iterable : 사용자 정의
ex) 계절 : 봄 여름 가을 겨울
배열 -> linked list : 파이썬 ---> list, tuple, set, dict
3. class -> class 클래스
abstract class 추상화 클래스
4. interface
a = 123
리터럴의 value 를 보고 파이썬은 정수임을 판정한다.
변수 a의 데이터 타입은 정수이다.
print() 첫 글자 소문자 맨 뒤에 () = 함수
입력값을 화면에 출력함
c, java에서 'a' : 문자 , "a" : 문자열로 구분하는데 python에선 모두 문자열이다.
%d : decimal : 정수
%f : float : 실수
%s : string : 문자열
정수 데이터 결과 -> 실수 데이터 결과로 변환이 가능하다.
promotion : 데이터의 타입을 스스로 변환 -> 다형성
casting : 데이터의 타입을 강제로 변환
문자열에 기능 추가 시 이스케이프 문자를 추가한다.
문자와 이스케이프를 구분하기 위한 구분자 : (\문자)
\n줄바꿈 \t탭 간격 \\ \를 그대로 표현 \' '를 그대로 표현
\r현재 커서 가장 앞 줄바꿈 \f \a \b 등등이 있다.
문자열 = 열거형 객체 타입 -> 인덱스 번호가 존재한다 -> iterable 인덱싱과 슬라이싱이 가능하다.
immutable 내용을 수정할 수 없다.
str 문자열에서 immutable : item -> 매개값(요소값arg) : 변경 불가
float는 7번째 자리까지 신뢰성이 있기 때문에, 4.421342/7 그 뒷번째 자리 7을 반올림해서 결과값이 3.421343이 된다.
'Python' 카테고리의 다른 글
class (1) | 2023.05.25 |
---|---|
함수 (코드의 재사용성이 높아짐) (0) | 2023.05.09 |
for (0) | 2023.04.25 |
연산자 (0) | 2023.04.20 |
list, dict (0) | 2023.04.19 |