Back_End/Python[+Django,FastAPI]

[ 백엔드 공부하기 : Python ] 파이썬 개념 공부하기 _ 01 : 파이썬 기초 개념.

안다미로 : Web3 & D.S 2024. 12. 24. 18:00

 

 

 

 

[ 백엔드 공부하기 : Python ]  파이썬 개념 공부하기 _ 01

 


∇ BackEnd_Python : Python 개념 공부 _ 01 : 파이썬 기초 개념.

목  차

1. 식별자
2. 기초 문법
3. 변수 및 자료형
4. 수치형
5. bool
6. None
7. String : 문자형
8. 연산자
9. 기초 형 변환 ( Type Conversion )
10. 시퀀스(sequence) 자료형
11. non-sequence type
12. 기초 총 정리

 

 


Ⅰ. 식별자.


 

      @ 식별자 : 변수, 함수, 모듈, 클래스 등을 식별하는데 사용되는 이름.

 

            ● 식별자의 이름은 "영문알파벳" ,    "  _  "   , "숫자"  로 구성됩니다.

            ● 첫글자에 숫자가 올 수 없습니다.

            ● 대소문자를 구별합니다.

            ● 예약어는 사용할 수 없습니다.

False, None, True, and, as, assert, break, class, continue,
def, del, elif, else, except, finally, for, from, global, 
if, import, in, is, lambda, nonlocal, not, or, 
pass, raise, return, try, while, with, yield

 

            ● 내장함수나 모듈 등의 이름으로도 만들면 안됩니다.

            ● 예약어, 내장함수, 모듈 등의 이름으로 변수를 만들면

                  기존의 기능이 덮어쓰여지므로 식별자 이름으로 쓰면 안됩니다.

 

 


 

Ⅱ. .기초 문법


 

      ◇ 인코딩 선언  : default로 UTF-8이 설정.

                                 인코딩 선언은 Python parser에 의하여 읽혀지며,  # -*-coding:<encoding-name> 이라 선언.

 

      ◇ 주석  :  # 으로 표현하는 것이 기본입니다.  여러 줄의 주석을 작성할 때에는, """으로 docstring 을 표현.

 

      ◇ 코드라인  :  기본적으로 파이썬에는 ;을 작성하지 않습니다.

                                   그러나 한 줄로 표기할 때에는 ;으로 작성합니다.

                               list,set,dict은 특별한 표기 없이 한 줄 작성이 가능.

 


Ⅲ. . 변수 및 자료형.


    

    ● 변수는  "="을 통해 할당(assignment) 됩니다.

    ● type()을 통해 자료형을 확인 가능합니다.

    ● 해당 변수의 메모리 주소를 확인하기  위해서는 id()를 활용합니다.

 

    ● 같은 값을, 동시에 다른 변수에 할당 할 수 있습니다.

a = b = 10

 

    ● 다른 값을 동시에 할당 가능합니다.

a, b = 1, 2

 

    ● 변수의 갯수가 값의 갯수보다 더 적거나 많으면 오류가 발생합니다.

 

 


 

Ⅳ. . 수치형(Numbers).


 

    (1) int : 정수

 

            ○ 모든 정수는 'int'로 표현합니다.

            ○ Overflow(일반적)  vs Arbitrary-precision arithmetic ( Python )

 

                        -> 일반적으로 데이터 타입 별로 사용할 수 있는 메모리 크기가 제한되어 있습니다.

                                표현할 수 있는 수의 범위가 넘어가면 메모리의 overflow 현상으로 이상한 값이 출력됩니다.

                       

                       -> 파이썬은 아주 큰 정수를 표현할 때, 메모리가 변화합니다.

                                가용 메모리를 모두 수 표현에 끌어다 쓸 수 있어서 유동적인 운용이 가능합니다.

 

 


 

    (2) float  : 부동소수점, 실수

              ● 실수는 부동소수점으로 표현되며, 항상 같은 값으로 일치되지는 않습니다.

              ● 숫자를 표현하는 과정에서 생기는 오류는 대부분 중요하지 않으나

                      값 비교 과정에서는 문제가 발생할 수 있습니다.

              ● 실수의 경우, 덧셈은 괜찮으나 뺄셈 처리 시에는 오류가 발생 가능

              ● round()를 통해 반올림하여 실수를 정리 가능.

              

 


Ⅳ. . Bool.


 

    ● True 와  False로 이루어진 bool 타입.

    ● bool(value) 하면 True와 False가 출력됩니다.

    ● False 의 경우 : [], 0, {},  0.0, (), None

    ● True의 경우 : False의 경우 제외 전부, 

                               어떤 값이나 type 이든 비어있지 않고 무언가가 존재하면 True입니다.

                              ex) [False], [0], ' '  등등도 전부 True

 

 


                  

Ⅴ. None.


    :: 값이 없음을 표현하는 " None" 타입이 존재합니다.

 

 


Ⅵ. String : 문자형.


        ◆ 문자열은 ' ' 나 ""을 활용하여 표현 가능합니다. 

        ◆ 하나의 문자열을 묶을 때 동일한 문장 부호를 활용해야 합니다.

        ◆ 여러 줄에 걸쳐있는 문장은 """ """을 사용하여 표현 합니다.

 


Ⅵ. 연산자.


 

        ◆ 산술 연산자.

 

        ◆ 비교 연산자.

 

 

        ◆ 논리 연산자.

                a and b  ==>>  a와 b 모두 true 일때만 true

                a or b ==>> a와 b 모두 false 일 때만 false

                 

 

        ◆ 복합 연산자.

                 ○ 연산과 대입이 함께 이루어지도록

                      ex) a +=b   ,    a -=b

 

 

        ◆ 연산자 우선 순위.

                 1. ()을 통한 grouping

                 2. Slicing  [  :  ]

                 3. indexing  [0]

                 4. 제곱연산자: **

                 5. 단항연산자:  +, -

                 6. 산술연산자:   \*, / , & , //

                 7. 산술연산자 : +,-

                 8. 비교연산자 : in, is

                 9. not

                 10. and

                 11. or

 

 


Ⅶ. 기초 형 변환.


 

       ● 암시적 형변환.

                 ○ 사용자가 의도하지 않았지만, 파이썬 내부에서 자동으로 '형변환' 하는 경우 

                        : bool, numbers(int, float, complex)

                 ○ bool은 true는 1로,  false는 0으로 자동 변환

                 ○ Numbers는 연산 시 1) complex , 2)float, 3) int  우선순위 순으로 변환됩니다.

 

       ● 명시적 형변환.

                 ○ 암시적 형변환을 제외하고는 모두 명시적으로 형 변환.

                 ○ int()  : string, float을  int로 변환.

                 ○ float()  :  string, int를 float으로 변환.

                 ○ str()  :  int, float, list, tuple, dictionary를 문자열로 변환.

                 ○ string  -> integer  : 형식에 맞는 숫자만 가능.

                 ○ integer -> string : 모두 가능

                 ○ 2가지 형 변환을 한 번에 할 수 없음   ex)  int( '3.5')

                 ○ float을 int로 형변환하면 내림 수자가 나옵니다.

 

 

 


Ⅷ. 시퀀스(sequence) 자료형.


                 ○ 시퀀스(sequence) : 데이터의 순서대로 나열된 형식.

                 ○ 정렬의 의미는 아님.

                 ○ list, tuple, range, string, bianry

 

 

              1. list :   [value1, value2, value3 ]

                   - 리스트는 대괄호  []로 만들 수 있습니다.

                   - 값에 대한 접근 : list[인덱스번호]

 

              2. tuple:   (value1, value2, value3 )

                   - 리스트와 유사, ()로 묶어서 표현.

                   - 수정불가능(immutable)하고, 읽기만 가능.

                   - 직접 사용 보다는 파이썬 내부에서 사용.

 

              3. range:  숫자의 시퀀스

                   - range(n)  :  0<= x < n

                   - range(n , m) : n <= x < m

                   - range(n, m ,s ) : n <=x  < m

                   - range의 기본형은 tuple

 

 


 

   

Ⅷ. non-시퀀스(sequence) 자료형.


 

      ● 'set' 과 'dictionary'는 기본적으로 순서가 없습니다.

 

          1. set : { value1, value2 , value 3 }

                ● 수학의 집합과 동일하게 처리.

                ● 순서가 없고, 중복된 값이 없습니다.

                ● set을 활용하면, list의 중복된 값을 손쉽게 제거할 수 없습니다.

                ● {차집합은  - 또는 difference로},  {합집합은  | 또는 union}, {교집합은 & 와 intersection}으로 표현.

 

 

          2. dictionary: { key1 : value1, key2: value2 , key3: value 3 }

                ● key와 value가 쌍으로 이루어집니다.

                ● literal {} 과 생성자 함수 dict()로 만들 수 있습니다.

                ● key는 immutable한 모든 것이 가능 ( string, integer, float, boolean, tuple, range )

                ● value는 list, dictionary를 포함한 모든 것이 가능합니다.

                ● 중복된 key는 존재 할 수가 없습니다.