인터프리터, 객체지향 대화형 언어.
명령 프롬프트(windows)에서 곧바로 프로그래밍이 가능한 언어.
객체 기반의 프로그래밍이 가능한 언어.
다른 언어들로 작성된 모듈과 연동이 쉬워 스크립트 언어로서도 사용됨.
코드 블록을 {} 로 구분하는 것이 아닌, 들여쓰기로 구분.
들여쓰기는 공백4칸(스페이스바 4번)이나 탭으로 한다. 주의할 점은 들여쓰기 방식을 통일해야한다는 점.
공백4칸으로 했다면 전부 통일. 탭으로 했다면 전부 통일해야함.
남이 쓴 코드를 수정하다가 들여쓰기때문에 오류가 난다면 방법을 체크해보자.
X되보라고 방법 바꿔놓는 짓은 하지말자.
c/c++ 같은 언어보다 실행속도가 느리지만, 프로토타이핑 용이나, 속도에 크게 구애받지 않는 분야에서 주로 사용.
속도에 민감한 부분은 분리해서 c/c++로 모듈화 하면 문제가 해결될수 있다.
현재는 대부분이 python 3.x 버전대를 사용한다.
변수 / 자료형
파이썬에서는 변수의 자료형을 명시하지 않는다.
대입되는 데이터의 자료형에 따라 결정됨.
정수형 : 양,음,0
실수형 : 양,음, 지수표현( 5.4E5, 5.4E-5 같은 방식.)
진수형 : 8진(0o185)-octa, 16진(0x4fc)-hexa
문자열 : "aaa" , 'aaa' , """aaa""" , '''aaaa''' :
서로 다른 따옴표 안쪽에 넣을수 있음. "aa'a'aaa", 'aaa"a"aaaa'
'aaa\'aaa' 같이 같은따옴표 안에 같은걸 넣으려면 백슬래시가 필요.
파이썬에서는 리스트 = 배열이라고 봐도 무방함.
리스트 : []연산자로 인덱스 접근이 가능함. 생성할때도 [] 연산자 안에 , 로 변수를 구분해서 넣는다.
슬라이싱이라는 기술이 등장.
a[start:end:step]
start : 시작점 일반 인덱스처럼 0부터 시작.
end : 끝점, 1부터 시작.
step : 건너 뛰거나 역으로 검색하기위한 조건식. 양의 정수로 입력하면 건너뛰고 -1을 입력하면 끝에서부터 역으로 검색.
튜플 : 리스트와 비슷하나 ( ) 연산자로 생성되고 관리됨. 요소가 하나일때도 , 를 빼놓을수 없다. 값을 바꿀수 없다.
즉, 실행하는 동안 변하지 않아야 하는 값들에 대한 자료구조로 사용.
딕셔너리 : key, value 의 쌍으로 이루어진 자료형. hash. {}연산자로 표기하며, {key: value, key:value} 구성으로 작성.
key로 튜플과 상수를 사용. key는 변하면 안되는 값이기때문, 중복되어서도 안됨. 만약 중복되어서 삽입되면, 마지막으로 입력된 key 쌍만 활성화됨.
추가 시에는
a = {1: 'a'}
a[2] = 'b'
같이 []연산자에 key, 대입으로 value를 넣는다.
삭제시에는
del a[1] 로 [] 연산자에 key 를 넣어 삭제한다.
집합 : 함수처럼 생성하며 set(리스트or 문자열) 처럼 생성함.
결과값은 중복을 제외하고 생성됨. 순서가 없어 인덱싱 접근을 할수 없다. 즉, 리스트나 튜플로 변환후 인덱싱 접근이 가능해짐.
bool : true, false
명령문 구조
각 명령문이나 함수 선언 클래스 선언 등은 : (콜론)을 기준으로 닫힘.
if 조건문 :
수행문
elif 조건문 :
수행문
else :
수행문
while 조건문 :
수행문
for 변수 in 변수범위:
수행문
변수 범위는 range() 함수나 리스트 튜플 같은 구조를 사용함.
def 함수명(매개변수1,...) :
수행문
return 반환값 #생략가능.
class objectA:
def __init__(self):
def a(b,c):
return b+c
#상속, 오버라이딩
class objectB(objectA):
def __init__(self):
def a(b,c):
if b==0:
return 0
else:
return b+c
'{Programing} > Python' 카테고리의 다른 글
scikit-learn (0) | 2021.05.10 |
---|---|
기본 커맨드 변수 및 시스템 변수, 약속 함수명 등 (0) | 2021.05.06 |
토이프로젝트 목록 (0) | 2021.05.03 |
pandas (0) | 2021.05.03 |
Numpy (0) | 2021.05.03 |
댓글