이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

코딩/Python

python 개념 정리

이쿠우우 2021. 6. 6. 19:41
반응형

 

 

Python

 

 

Python이란?

고급언어

인터프리터 언어

문법이 쉽고 간결함

오픈소스

다른언어로 만든 프로그램을 파이썬 프로그램에 포함시킬 수 있음

다양한 라이브러리가 많이 존재함

생산성이 높아서 프로그램을 빠르게 개발할 수 있음

 

 

 

변수와 데이터 타입 특징

변수의 Type을 자동으로 설정

 

데이터 Type 정리

1. 숫자형 ( int, float )  

실수의 경우 double 이 없고 무조건 float 로 표현

 

2. 불리언  ( boolean )

 

3. 문자열 ( string )

3.1. 큰따옴표(" ")로 감싸기

 

3.2. 작은따옴표(' ')로 감싸기

큰따옴표, 작은따옴표 가 있는 이유는 문자열에서 따옴표를 정확히 표현하기 위함

C/C++의 경우 1. 큰따옴표( " ) 를 출력하는 법 : \"

파이썬도 위와같은 방법으로 출력 가능하지만 

추가로 ' " ' 도 가능 ( 문자열을 작은 따옴표로 묶고 중간에 큰따옴표 )

 

3.3. 큰따옴표 3개(""" """)로 감싸기

여러 줄을 표현할 때 사용

 

3.4. 작은따옴표 3개(''' ''')로 감싸기

여러 줄을 표현할 때 사용

 

4. 리스트 ( list )

C/C++의 배열과 같은 의미
파이썬은 배열을 list 라고 함

 

4.1. list 특징
1. 리스트에 저장되는 요소가 모두 같은 타입일 필요는 없음
2. 리스트에는 요소들이 순서대로 저장되며, 각 요소는 0부터 시작하는 인덱스(index)를 사용하여 접근할 수 있음
3. 리스트는 그 값을 변경할 수 있음. (mutable type)

 

4.2. 선언 방법
대괄호 [  ]
예) test = [1, 2, 3, A, 1.9, "테스트" ]

5. 튜블 ( tuple )
프로그램이 실행되는 동안 그 값을 일정하게 유지해야하는 데이터를 튜플로 사용

 

5.1. 특징

1. 튜플은 그 값을 변경할 수 없음. (immutable type) : 요소 추가, 삭제, 삽입, 추출 불가능
2. 튜플은 리스트와 같은 데이터 타입에 비해 그 실행 속도가 빠름
  
5.2. 선언 방법
소괄호 ( ) , 감싸지 않고 선언, tuple() 함수로 감싸기
예) test = (1, 2, 3, A, 1.9, "테스트")
     test = 1, 2, 3, A, 1.9, "테스트"

6. 세트( set )

 

6.1. 특징
1. 세트 타입에서는 각 요소들의 순서를 매길 수 없음
2. 중복된 값을 허용하지 않음

6.2. 선언 방법
중괄호 {  }, set() 함수로 감싸기
예) test = (1, 2, 3, A, 1.9, "테스트")

7. 딕셔너리 ( dict )

7.1. 특징
1. 딕셔너리의 요소는 Key와 Value 한 쌍으로 구성
2. key, value 는 클론( : ) 으로 연결
3. key 가 문자열인 경우 대입연산자 ( = )로 value 와 연결 가능
4. key 값으로 리스트나 딕셔너리와 같이 변경할 수 있는 타입은 사용 불가능

 

7.2. 선언 방법
중괄호 {  }, dict( ) 함수로 감싸기
예) test = (1, 2, 3, A, 1.9, "테스트")





조건문, 반복문

1. 조건문

[C/C++ 의 경우 ]
if ( 조건문 ) { 내용}
else if
else
  
[Python 의 경우]
if 조건문 : 내용
elif
else

 


2. 반복문

[C/C++ 의 경우 ]
while ( 조건식 ) { 내용}
for (초기식; 조건식; 변화식 )

 

[Python 의 경우]
while 조건문 : 내용
for 변수 in 문자열(또는 tuple, list)
for 변수 in range(  )

 


함수


기본사용법

[C/C++ 의 경우 ]
리턴형 함수명 (매개변수) { 내용 }
int test(int a, int b ) { return 0}

 

[Python 의 경우 ]
def 함수명 (매개변수)

def test (int a, int b) : 
   return 0

 

리턴이 있으면 리턴이 있는거고 없으면 없는 것

return a, b,c 와같이 
tuple 형태로 리턴은 여러개 넘길 수 있음

 


매개변수의 기본값 설정(default parameters)

함수를 선언할 때 미리 매개변수의 기본값을 설정해 놓으면,
함수 호출 시 전달받지 못한 인수에 대해서는 설정해 놓은 기본값으로 자동 초기화 함
예)

def total(a, b=5, c=10):
    print(a + b + c)   

  

가변 매개변수(variable parameters)

함수를 실제로 호출할 때 몇 개의 인수가 전달될지 미리 알 수 없다면,
사용자가 직접 매개변수의 개수를 정할 수 있도록 선언할 수 있음
매개변수 명 앞에 ( * ) 기호를 추가해서 선언
딕셔너리를 사용하기 위해선 ( ** ) 와 같이 두개를 추가해야함
예) def 함수명(*매개변수명):

 


클래스

 

기본사용법

[C/C++ 의 경우 ]
class 클래스 이름 { 내용 }
자기 자신의 참조 : this


(인스턴스 생성)
1). 클래스이름 객체이름
예) Car test;
2). 클래스이름 *객체이름 선언과 new()
예)
Car *test;
test = new Car();

 


(초기화 : 생성자)
클래스이름과 동일한 이름의 함수()

 

(상속)
class 자식클래스명 : public 부모클래스명 {내용}

 

 
[Python 의 경우 ]
class 클래스 이름 : 내용
자기 자신을 참조 : self

 

(인스턴스 생성)
객체이름 = 클래스 이름()
예) test = Car();

 

(초기화 : 생성자))
파이썬에서는 인스턴스가 생성될 때 자동으로 호출되어 변수를 초기화해주는
초기화 메소드(initialize method) 제공
파이썬에서 초기화 메소드의 이름은 __init__으로 고정
__init__ 메소드는 인스턴스가 생성되는 시점에서 자동으로 호출됨
예) def __init__() : 

 

(상속)
class 자식클래스명(부모클래스명): 내용

반응형