일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- fixedRateTimer
- aging
- android studio 설치
- 안드로이드 스튜디오
- android studio
- data class
- GIT
- Kotlin
- cache
- InteliJ
- generics
- thread pool
- 파이썬
- sealed class
- 크롤링
- Anaconda
- jsoup
- 안드로이드 스튜디오 설치
- 딥러닝
- Android IDE
- PyCharm
- GC
- HTML Parser
- Schedule
- jvm
- 안드로이드
- 파이참
- 객체지향
- process
- Android
- Today
- Total
탐비의 개발 낙서장
딥러닝 따라하기(2) - Python 프로그래밍 기초 본문
이번 글에서는 파이썬 프로그래밍의 간단한 예를 살펴보겠습니다. 지난 글에서 설치한 환경을 바탕으로 PyCharm에서 실습 해보겠습니다.
(+ PyCharm에서 코드 실행 단축키는 Ctrl+Shift+F10 입니다.)
자료형과 변수
1 2 3 4 5 6 7 8 9 | x = 10 # 초기화 print(x) # x값 출력 y = "hello" print(y) a = type(x) # 자료형 확인 b = type(y) print(a,b) | cs |
x나 y등의 알파벳을 사용하여 변수를 정의할 수 있습니다. 또한, 변수를 사용하여 계산하거나 변수에 다른 값을 대입하는 등의 작업이 가능합니다.
파이썬은 동적언어로 변수의 자료형을 상황에 맞게 자동으로 결정합니다. 위의 예시를 보면, x는 10이라는 정수이고, y는 "hello"라는 문자열입니다. 사용자가 자료형을 별개로 명시하지 않아도 type() 함수를 이용하면 파이썬이 판단한 자료형을 확인할 수 있습니다.
산술 연산
1 2 3 4 | 1 + 2 3 * 4 5 / 7 2 ** 6 | cs |
파이썬에서의 산술 연산은 다른 언어와 거의 비슷합니다. 거듭제곱이 **이라는 점이 다른 언어와 조금 다른점입니다. 이 글에서는 파이썬 3를 사용하기 때문에 5/7의 값이 소수로 나오지만, 파이썬 2를 사용하는 경우에는 정수끼리 계산한 결과는 정수로 나오게 됩니다.
리스트와 딕셔너리
1 2 3 4 5 6 7 8 9 | a = [1, 2, 3, 4, 5] len(a) # 리스트 길이 확인 a[0] # 0번 인덱스의 원소 a[4] = 99 # 4번 인덱스의 값 변경 a[0:2] # 0~2번째 원소 a[1:] # 1번 인덱스부터 끝까지 a[:3] # 처음부터 3번 인덱스까지 a[:-1] # 처음부터 마지막의 1개 앞까지 print(a) | cs |
여러 데이터를 리스트로 모아 정리할 수도 있습니다. len() 함수를 통해 리스트의 길이를 출력할 수도 있고, a[0]과 같이 직접 해당 인덱스의 원소를 확인하거나 값을 변경하는 등의 행우도 가능합니다.
1 2 3 | me = {'height' : 180} # 딕셔너리 생성 me['weight'] = 70 # 새 원소 추가 print(me) | cs |
또한 위와 같이 키와 값 쌍으로 이루어진 딕셔너리를 이용할 수도 있습니다.
조건문과 반복문
1 2 3 4 5 6 7 8 9 10 | hungry = True if hungry: print("I'm hungry") else: print("I'm not hungry") print("I'm sleepy") for i in[1, 2, 3]: print(i) | cs |
if/else 문에서 if 문 뒤의 조건을 만족할 시 if 문 아래에 들여쓰기로 표현된 문장을, 만족하지 않을 시 else 문 아래의 문장을 실행합니다.
for in 구문을 이용하면 리스트 등의 데이터 집합의 각 원소에 차례로 접근할 수 있습니다.
함수
1 2 3 4 | def hello(): print("Hello World!") hello() | cs |
파이썬에서 특정 기능을 수행하는 일련의 명령들을 묶어 하나의 함수로 정의해 사용할 수 있습니다. 위 함수의 def hello()에서 괄호 안에 인수를 받아 사용할 수도 있습니다.
클래스
1 2 3 4 5 6 7 8 9 10 | class People: def __init__(self,name): self.name = name print("Initialized") def hello(self): print("Hello " + self.name + "!") p = People("Bob") p.hello() | cs |
파이썬에서 제공하는 type 외에 개발자가 직접 클래스를 정의하면 독자적인 자료형을 만들 수 있으며, 또한 그 클래스만의 전용 함수와 속성을 정의할 수도 있습니다. 클래스 정의 시 "__init__" 이라는 특별한 메서드가 필요한데, 이는 클래스를 초기화하는 방법을 정의합니다. 이 메서드를 생성자라고 하며, 클래스의 인스턴스가 만들어질 때 한번만 불립니다. 위 코드를 보면 보이다시피 파이썬에서는 메서드의 첫 인수로 self를 명시적으로 쓰는 것이 특징입니다.
위 예시에서 보면 People이라는 새로운 클래스를 정의했습니다. 그리고 이 클래스에서 p라는 인스턴스를 생성합니다. People의 생성자는 name이라는 인수를 받고, 그 인수로 인스턴스 변수인 self.name을 초기화합니다. 이와 같이 파이썬에서는 self 다음에 속성 이름을 써서 인스턴스 변수를 작성하거나 접근할 수 있습니다.
이번 글에서는 파이썬의 기초적인 요소들에 대해 정리했습니다. 다음 글에서 넘파이와 matplotlib에 대해 공부해보고 본격적인 내용으로 들어가보겠습니다.
'프로그래밍 > 딥러닝' 카테고리의 다른 글
딥러닝 따라하기(1) - Python 설치 및 설정 (0) | 2020.02.06 |
---|