파이썬 프로그래밍
다음주 수요일까지 비대면
파이썬 언어는 쉽지만 복잡함
c언어는 명령어가 쉬움
언어의특징
1. 플랫폼에 독립적(인터프리터)
2. 객체지향적
3. 대화형 언어
4. c언어에 비해 많이 느림
파이썬은 오픈소스, 필요하신 모듈/라이브러리 만들기 가능.
오픈소스 => 버전에 민감하다.
버전차이가 중요해서 세팅해논 버전을 바꾸지 않는 사람들도 많다.
2.x/3.x는 호환이 잘 안될 수 있음
<파이썬 외부 라이브러리>
-넘파이(numpy): 수치계산용, 수학 알고리즘 과 배열(행렬)을 조작하기 위한 다양한 메서드 지원(딥러닝에 효율적으로 활용)
-맷플럽립(matplotlib): 그래프, 중간 데이터 또는 실험 결과를 시각화
컴파일러
작성한 프로그램을 한번에 번역 해 기계어로 번역
어떠한 타켓 시스템을 이미 정해놓고 컴파일함 => 컴파일 한 후 호환x
다른 시스템에서 하고 싶다면 다시 컴파일을 해야함.
인텔 pc에서 컴파일한 경우 인텔 기반 pc에서 사용 가능
인터프리터
그때그때마다 번역해 사용
어떠한 컴퓨터에서도 사용 가능.
느린 속도였는데, 컴퓨터의 발전에 따라 점차 따라잡음.
c언어는 사용하기 전 명시적으로 정의해야.
해당된 변수는 정의한 자료형으로만 사용 가능
파이썬은 동적으로 자료형 사용 가능
문자열, 숫자, 불
선언하고 사용, 선언하지않고 사용?
값을 저장할 때 사용하는 식별자
숫자 뿐만 아니라 모든 자료형 저장 가능
동적언어로 변수의 자료형도 상황에 맞게 자동으로 설정(자동 형변환)
파이썬 VS C언어
파이썬 O ) 클래스: 속성, 메서드
여러가지 자료를 저장할 수 있음.
array = [23, 4, "문자열", 2.1, True]
자료들을 모아서 사용할 수 있게 함.
대괄호 내부에 자료들 넣어 선언
[]안에 수를 인덱스라고 하며, 인덱스는 0부터 시작
요소에 접근할 때는 a[0]과 같이 사용.
리스트가 하나의 객체이기 때문에, 이를 위한 다양한 메서드 존재
리스트에서 범위를 지정해 원하는 부분을 얻을 수 있는 방법
마지막 범위는 포함 x
>>> a = [1,2,3,4,5]
>>> a[4]=90
>>> print(a)
[1, 2, 3, 4, 90]
>>> a[0:2] # 2번째 원소는 포함x
[1, 2]
>>> a[1:] # 인덱스 1부터 끝까지
[2, 3, 4, 90]
>>> a[:3] # 인덱스 처음부터 3번째 인덱스까지(3번째 인덱스는 포함x)
[1, 2, 3]
>>> a[:-1] # 처음부터 마지막 원소 1개 앞까지
[1, 2, 3, 4]
>>> a[:-2] # 처음부터 마지막 원소 2개 앞까지
[1, 2, 3]
key를 기반으로 값을 저장
{
"Baby": 9,
"Zero": 11,
"Jeep": 13
}
직관적이되, 빠른 성능을 위할때는 쓰지 않는 게 좋음(인덱스가 더 빠르다)
>>> hungry = True # 배가 고프다
>>> sleepy = False # 졸리지 않다
>>> type(hungry)
<class 'bool'>
>>> not hungry
False
>>> hungry and sleepy # 배가 고프다 그리고 졸리지 않다
False
>>> hungry or sleepy # 배가 고프다 또는 졸리지 않다.
True