[개발기초] Python 에 대해서
Python 이란?
특징
문법이 쉬운 언어
- C/C++, Java, C# 에 비해 문법이 복잡하지 않다.
- 들여쓰기를 통해서 statement를 구분한다.
인터프리터 언어
대화형 언어 라고 한다. 별도의 빌드 과정없이 한줄 한줄 입력하는 것이 프로그램으로써 동작한다.
에디터 이용
- 대규모의 프로그램도 작성 가능하다.
- Visual Studio Code, Pycharm 등을 이용 플라스크 프로젝트
사용처
- 크롤링
- 웹 서버
- API 서버
- 머신러닝
- C/C++ 로 만든 모듈을 불러와서 사용
- 데이터 베이스 프로그래밍 ## 기본 지식 ### 변수(Variable) 변수는 '변할 수 있는 것' 이라는 뜻으로 어떤한 값을 담는 '상자'라고 할 수 있다. ``` a = 100 ``` 파이썬 언어는 변수를 선언할 때 별도의 선언문이 필요하지 않다. 변수가 필요하면 어떠한 이름을 명명하여 대입시키면 된다.
print (출력함수)
변수를 확인하기 위해 Console에 출력하는 함수이다.
print(a)
기본 타입 (Primitive Type)
- Int
- 정수형태를 저장하는 타입
a = 10
- 정수형태를 저장하는 타입
- Float
- 실수 형태를 저장하는 타입
a = 10.0
b = 15e-4
- String
- 문자열을 저장한다.
```
1. 작은 따옴표로 감싸기. 가장 보편적으로 사용되는 문자열 감싸기
a = ‘test’
- 문자열을 저장한다.
```
2. 큰 따옴표로 감싸기
a = “test”
3. 작은 따옴표 3개를 이어붙여 감싸기
a = ‘’’ test Python! ‘’’
따옴표를 이스케이핑하거나, 여러 줄에 걸쳐 문자열을 표현하기 위해 사용
4. 큰 따옴표 3개를 이어붙여 감싸기
a = “"”test”””
여러 줄에 걸친 주석을 표현하거나, 함수의 docstring에서 자주 사용
- 문자열을 출력하는 방법
a = 1121 b = ‘test’
1. 포맷 코드를 사용하는 방법
print(‘date %d, contents %s’ % (a, b))
2. format 메소드를 사용하는 방법
print(‘date {0}, contents {1}’.format(a, b))
3. 순서대로 전달할 경우 인덱스를 제거
print(‘date {}, contents {}’.format(a, b))
4. Python 3.6부터 지원하는 fstring
print(f’date {age}, contents {b}’)
### 자료 구조 (Data Structure)
- List
- 리스트(list)는 [1, 2, 3] 형태로 정의하며 각 원소를 수정 할 수 있는 특성을 갖는다. []는 빈 list를 의미.
a = [1,”b”,2,”abs”]
- Tuple
- List와 기능은 동일하나 수정할 수 없는 특징이 있다. ()는 빈 tuple을 의미
b = ( 1, “aa”, [3, 4, 5], 6, 7)
- Dictionary
- Dictionary 타입은 immutable한 키(key)와 mutable한 값(value)으로 맵핑되어 있는 순서가 없는 집합.
- {} 는 빈 Dictionary를 의미
a = {1: 5, 2: 3} # int 사용 b = {‘test’:1, ‘test2’:2} #string 사용 print(b[‘test’]) # 키로 접근할 수 있다. c = {}
### 기본 문법
- If
- 조건에 따른 처리를 하도록 하는 문법
money = True if money: … print(“택시를 타고 가라”) … else: … print(“걸어 가라”) … 택시를 타고 가라 ```
비교연산자 | 설명 |
---|---|
x < y | x가 y보다 작다 |
x > y | x가 y보다 크다 |
x == y | x와 y가 같다 |
x != y | x와 y가 같지 않다 |
x >= y | x가 y보다 크거나 같다 |
x <= y | x가 y보다 작거나 같다 |
연산자 | 설명 |
---|---|
x or y | x와 y 둘중에 하나만 참이어도 참이다 |
x and y | x와 y 모두 참이어야 참이다 |
not x | x가 거짓이면 참이다 |
>>> money = 2000
>>> if money >= 3000:
... print("택시를 타고 가라")
... else:
... print("걸어가라")
...
걸어가라
- For 반복문
>>> test_list = ['one', 'two', 'three'] >>> for i in test_list: ... print(i) ... one two three
>>> a = [(1,2), (3,4), (5,6)] >>> for (first, last) in a: ... print(first + last) ... 3 7 11
if 문과 복합적인 사용 ``` marks = [90, 25, 67, 45, 80]
number = 0 for mark in marks: number = number +1 if mark >= 60: print(“%d번 학생은 합격입니다.” % number) else: print(“%d번 학생은 불합격입니다.” % number)
- Function
- 동일한 동작을 여러 곳에서 사용하고 싶을때 사용
def add(arg1, arg2): c = arg1 + arg2 return c
- Module
- Function의 집합
import os ``` - Main ``` def add(x, y):
return x + y
if name == “main”: print (add(3, 4))
- Class
- 함수들의 집합을 만들고 그 집합이 개별적인 속성을 갖게 하기 위해 클래스를 사용한다.
![git](/assets/images/Python_class.png)
class Calculator: def init(self): self.result = 0
def add(self, num):
self.result += num
return self.result
cal1 = Calculator() cal2 = Calculator()
print(cal1.add(3)) print(cal1.add(4)) print(cal2.add(3)) print(cal2.add(7)) ```
Comments