이론, 문자열

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