반응형

2.1 파이썬 인터프리터

파이썬은 인터프리터 언어이다.

exit()를 입력하거나 Ctrl-D를 누른다.

 

py파일 실행:

python hello.py

 

ipython

%run hello.py

 

2.2 IPython 기초 

2.2.1 IPython 셸 실행하기

ipython

 

2.2.2 jupyter notebook 실행하기

jupyter notebook

주피터 프로젝트의 주요 구성 요소 중 하나인 노트북은 코드, 텍스트, 데이터 시각화를 비롯한 다른 출력을 대화형으로 구성할 수 있는 대화형으로 구성할 수 있는 대화형 문서 형식이다.

--no-browser옵션을 지정하지 않으면 자동으로 기본 웹 브라우저를 실행한다.

새로운 노트북을 생성하려면 New버튼을 클릭하고 'Python 3'나 'conda[default]'옵션을 선택한다.

확장자 .ipynb

 

2.2.3 탭 자동완성

IPython은 표준 파이썬 인터프리터와 조금 다르게 생겼다.

탭을 통한 자동완성 기능

 

2.2.4 자기관찰

변수 이름 앞이나 뒤에 ?기호를 붙이면 그 객체에 대한 일반 정보를 출력한다.

 

2.2.5 %run명령어

IPython 세션 안에서 파이썬 프로그램 파일을 불러와서 실행할 수 있다.

 

주피터 노트북에서는 스크립트 파일을 코드 셀로 불러오는 %load 매직함수를 사용할 수도 있다.

 

2.2.6 클립보드에 있는 코드 실행하기 

%paste나 $cpaste매직함수를 사용할 수 있다.

%paste는 클립보드에 있는 텍스트를 단일 블록으로 실행한다.

%cpaste는 %paste와 유사하지만 코드를 붙여 넣을 때 특수한 프롬프트를 제공한다.

 

2.2.7 키보드 단축기

 

 

2.2.8 매직 명령어

IPython에는 파이썬 자체에는 존재하지 않는 '매직'명령어라고 하는 여러 가지 특수한 명령어를 포함하고 있다.

매직 명령어는 일반적인 작업이나 IPython 시스템의 동작을 쉽게 제어할 수 있도록 설계된 특수한 명령이다. 

%timeit

%automagic

 

2.2.9 matplotlib 통합

시각화

%matplotlib 매직함수는 IPython셸이나 주피터 노트북과  matplotlib 통합을 설정한다.

이 기능을 실행하지 않으면 노트북의 경우 그래프가 화면에 나타나지 않거나 셸의 경우 세션의 제어권을 뺏기게 되므로 중요하다.

%matplotlib

%matplotlib inline

 

2.3 파이썬 기초 

2.3.1 시맨틱

파이썬은 가독성과 명료성 그리고 명백함을 강조한다.

 

들여쓰기

중괄호 대신 공백 문자(탭이나 스페이스)를 사용해서 코드를 구조화한다.

 

모든 것을 객체

파이썬 언어의 중요한 특징 중 하나는 객체 모델의 일관성이다. 

모든 숫자, 문자열, 자료구조 , 함수 , 클래스 , 모듈 등은 파이썬 인터프리터에서 파이썬 객체라고 하는 어떤 '상자'안에 저장된다.

 

주석

# 뒤에 오는 문자는 모두 파이썬 인터프리터에서 무시된다.

실행만 되지 않도록 

 

함수와 객체 메서드 호출

함수는 순서별 인자와 키워드 인자를 동시에 받을 수 있다. 

하지만 통일 하는게 좋다.

 

변수와 인자 전달

변수에 값을 할당하는 것은 이름을 객체에 연결하는 것이므로 바인딩 이라고 부른다. 

값이 할당된 변수 이름을 때때로 바운드 변수라고 부르기도 한다.

 

동적 참조와 강한 타입

자바나 c++같은 컴파일 언어와는 달리 파이썬에서는 객체 참조에 타입이 관여하지 않는다.

비주얼 베이직 같은 언어에서는 문자열 '5'가 묵시적으로 정수형으로 변환(캐스팅)되어서 10이라는 결과를 낸다.

자바스크립트 같은 언어에서는 정수 5가 문자열로 변환되어 '55'이라는 문자열을 반환한다.

이런 측면에서 볼때 파이썬에서 모든 객체는 특정한 자료형(또는 클래스)을 가지며 다음과 같은 어떤 명백한 성황에서만 묵시적인 변환을 수행하는 자료형을 구분하는 강한 타입의 언어라고 하는것이 맞을 것이다. 

isinstance함수를 이용하면 어떤 객체가 무슨 자료형인지 검사할 수 있다.

instance는 튜플을 넘어서 객체의 자료형이 주어진 튜플 중 하나인지 검사할 수 도 있다.

 

 

 

속성과 메소드

파이썬에서 객체는 일반적으로 속성(객체 내부에 저장되는 다른 파이썬 객체)과 메서드(객체의 내부 데이터에 접근할 수 있는 함수)를 가진다. 속성과 메소드는 obj.attribute_name 문법으로 접근할 수 있다.

 

속성과 메서드는 getattr 함수를 통해 이름으로 접근하는 것도 가능하다.

 

덕 타이핑 

객체의 자료형에는 관심이 없고 그 객체가 어떤 메서드나 행동을 지원하는 지만 알고 싶은 경우가 있다. 

이를 '덕 타이핑'이라고 부르는데 

iter()

 

모듈 임포트

import 모듈이름

 

이항 연산자와 비교문

 

뮤터블, 이뮤터블 객체 

리스트, 사전 , Numpy배열 또는 사용자 정의 클래스 같은 대부분의 객체는 변경 가능하다. 뮤터블 mutable

문자열이나 튜플은 변경 불가능하다.(이뮤터블)

반응형

+ Recent posts