반응형
반응형

산술 연산자


산술 연산자: 더하기, 빼기, 곱하기, 나누기와 같은 연산자

산술 연산자의 우선순위는 [단항연산자], [지수연산자], [곱하기, 나누기, 나머지, 몫], [더하기, 빼기] 순위

단항연산자: 피연산자가 2개가 아닌 1개만 있는 연산자(+,-)

곱하기, 나누기, 나머지, 몫: *, /, %, // 로 결합순서가 왼쪽에서 오른쪽

지수연산자: ** (2**3은 2의 3승을 뜻함)로 결합순서가 오른쪽에서 왼쪽

더하기, 빼기: +, - 로 결합순서가 왼쪽에서 오른쪽

정수 + 실수 = 실수

정수 / 실수 = 실수

print divmod(a,b) = (a/b, a%b)


관계 연산자


관계 연산자: 객체가 지는 값의 크기(대소)를 비교하여 True 또는 False로 반환함

a==b: a와 b가 같다.

a!=b: a와 b가 다르다.

a>b: a가 b보다 크다.

a<=b: a가 b보다 작거나 같다.

문자열, 튜플, 리스트의 관계 연산 비교는 일반 사전 순서로 비교

사전에서 앞에 나오는 값이 작은 값으로 평가

서로 다른 자료형 간의 크기 비교 시 ‘숫자<사전<리스트<문자열<튜플’ 순으로 커짐

is 함수: a is b는 a가b다는 의미


논리 연산자


논리 연산자 = 부울 연산자: 피연산자의 값으로 진리값인 True 또는 False를 취해 논리적인 계산을 수행하는 연산자

논리 연산자의 종류: and, or, not

논리 연산자 자체가 값을 반환하지 않고, 논리 연산을 따라 최종적으로 평가 되어진 값이 반환됨

진리값에 해당하는 True와 False는 다른 사칙 연산자를 만나면 다음과 같이 평가됨
  True: 1
  False: 0

bool() 내장함수: 수치 값을 진리 값으로 교환 가능

값이 없는 빈 객체나 None 객체는 False로 평가됨

실제 코드 개발 시 연산자 우선순위에 많은 의존 없이 괄호()를 적절하게 사용하여 코드의 가독성을 높이는 것이 좋음

반응형
반응형

리스트, 튜플, 사전

 

리스트의 정의와 리스트 기본 연산

리스트: 임의의 객체를 순차적으로 저장하는 집합적 자료형
리스트 기본 연산: 문자열이 지닌 대부분의 연산들은 리스트도 지원

 

range() 함수를 통한 인덱스 리스트 생성
range(k): 0부터 k-1까지의 숫자의 리스트를 반환함

 

 

튜플의 정의와 기본 연산


튜플: 리스트와 유사하지만 튜플 내의 값을 변경할 수 없음, 각 값에 대해 인덱스가 부여됨
튜플의 상수적 성격: 튜플은 내용 변경 불가(리스트는 내용 변경 가능)

 

사전의 정의와 기본 사용법


사전: 키를 이용하여 값을 저장하는 자료 구조이며 저장된 각 자료에 대한 순서는 의미 없음
사용법: x라는 키값을 넣으면 값 y를 반환함

 

 


내장 자료형의 정리와 객체 신원 파악

 

내장 자료형의 특성 정리
수치형: 값 변경 불가능
문자열: 시퀀스 자료형이며 변경 불가능
리스트: 시퀀스 자료형이며 변경 가능
튜플: 시퀀스 자료형이며 변경 불가능
사전: 매핑 유형이며 변경 가능

 

내장 자료형 알아보기


Type(A): A의 자료형을 알 수 있음
==: 자료형의 비교

 

객체의 신원 식별하기


id(): 객체의 식별자를 반환
is 키워드: 두 객체의 식별자가 동일한지 테스트

 

 

반응형
반응형

수치 자료형

 

  • 정수형 상수: 입력 형태에 따라 10진 정수, 8진 정수, 16진 정수로 입력할 수 있으며 출력은 10진 정수로만 가능함
  • 실수형 상수: 1.2, 3.5e3과 같이 소수점을 포함하고 있는 상수
  • 롱형 상수: 수치가 큰 수는 롱형으로써 숫자 마지막에 L을 붙여 표시
  • 복소수형 상수: 복소수는 실수(ex. 10)와 허수(ex. 20j)로 이루어짐
  • 수치 자료형의 치환: x가 지니고 있는 1의 값이 변경되는 것이 아니라 새로운 객체 2로 레퍼런스를 변경하는 것임

 

 

수치 연산 내장 함수

abs: 절대값형 / int: 정수형 / long: 롱형 / float: 실수형 / complex: 복소수형
divmod(A, B): A를 B로 나눈 몫과 나머지 / pow(A, B): A의 B제곱

math 모듈의 수치 연산 함수: math 모듈은 수학적으로 정의된 변수, 함수를 지원함

 

 

문자열

 

문자열 형식
한 줄 문자열: 작은 따옴표나 큰 따옴표 사용
여러 줄 문자열: 연속된 작은 따옴표 또는 큰 따옴표 세 개

 

인덱싱(Indexing)과 슬라이싱(Slicing)
인덱싱: 문자열의 각 문자에 순차적으로 인덱스가 붙음
슬라이싱: 문자열의 인덱스를 이용하여 문자열의 전체 또는 일부를 출력

 

문자열 연산
+: 연결 / *: 반복

 

문자열의 길이
len(): 문자열의 길이를 반환하는 내장함수

 

문자열내 포함 관계 여부
in, not in: 문자열내에 일부 문자열이 포함되어 있는지를 파악하는 키워드

 

 

 

반응형
반응형

 

파이썬 예약어 및 내장 함수예약어


의미: 이미 문법적 용도로 사용되고 있는 단어
주의점: 예약어를 식별자로 사용하면 안됨


예약어 종류 알아보기: import keyword로 keyword 모듈 불러온 후 print keyword.kwlist


예약어 종류
'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
'raise', 'return', 'try', 'while', 'with', 'yield'

 

내장 함수


의미: 별도의 모듈 추가 없이 제공되는 함수, 대표적으로 abs, max, min, pow, chr, str, range,
          type 등이 있음
abs(): 수치형 자료의 절대값을 반환하는 함수
max(): 시퀀스 자료형 원소 중 최대값을 반환하는 함수
type(): 객체의 자료형을 반환하는 함수

 

파이썬 식별자와 변수 사용식별자


조건: 대소문자 구별, 대소문자 알파벳과 언더바(_)로 시작 가능, 숫자로는 시작 불가능, 특수문자
          사용 불가변수
생성: 해당 변수에 임의의 값이 할당되면 변수 생성
삭제: del 예약어 사용
주의점: 예약어, 내장 함수, 모듈 이름은 변수명으로 사용하면 안됨

 

파이썬 기초 문형주석문

   : 샵(#)으로 시작된 문장은 주석문연속라인: 역슬래시(\)로 현재 라인과 다음 라인을 연결할당문: 등호를 사용한 연산, 등호의 왼쪽에는 변수, 등호의 오른쪽에는 표현식확장 할당문
+=의 예: a+=4는 a=a+4와 동일
-=의 예: a-=4는 a=a-4와 동일
*=의 예: a*=2+3는 a=a*(2+3)과 동일
/=의 예: a/=2+3는 a=a/(2+3)과 동일객체와 할당: 객체의 변수는 해당 객체의 레퍼런스를 지니고 있음

 

콘솔 입출력콘솔 입력


raw_input(): 문자열 입력 내장 함수
int(): 문자열을 정수로 변환하는 내장 함수
input(): 정수, 실수, Expression 입력 내장 함수콘솔 출력
print: 화면에 자료를 출력하는 보편적인 statement

반응형
반응형

[Python] 개발환경 만들기



Python 전용 통합개발환경(IDE) 사용


• Enthought Canopy

    - 별도의 파이썬 설치 없이 아래 통합개발환경을 사용하면 자동으로 파이썬이 설치됨

    - CANOPY EXPRESS (Free) 다운로드 사이트 :

        https://www.enthought.com/products/canopy/


• Python 실행

   - Enthought Canopy 직접 활용

   - 커맨드 창 (터미널)

   - ipython 명령어 이용



* ipython이 좀 더 대화환경을 깔끔하게 제공.



이클립스 사용


• 파이썬 설치

    - 파이썬 다운로드 사이트 :

      https://www.python.org/downloads/

   - 파이썬 2.7.x 버전 사용


• 이클립스에서 파이썬 설치 방법

    - PyDev 플러그인 설치

    - 참고 사이트: http://arisu1000.tistory.com/27707


* PyDev가 있어야 제대로 설치 된 것
* Quick Auto-Config 클릭 → 시스템 내 파이썬 인터프리터 검색


추천하는 코딩 환경 구성 방법

• 1) Enthought Canopy 설치
• 2) 이클립스 설치 (설치가 안되어 있는 경우)
• 3) PyDev 플러그인 설치


- 두 가지 파이썬 코딩 환경을 합쳐 사용하는 것을 추천
- 기본적인 파이썬 설치보다 Canopy 설치가 더 유리
- 환경설정 관련된 것도 한꺼번에 설정 가능하고 도구 같이 설치 가능


..........................................................

파이썬 코딩 환경 구축
* Python 전용 통합개발환경(IDE) 사용 : Enthought Canopy 별도의 파이썬 설치 없이 자동으로
    파이썬 설치
* 이클립스 사용 : 이클립스에 파이썬을 직접 설치하여 사용
* 두 가지 방식을 모두 사용하여 파이썬 코딩 환경을 구축하는 것을 추천CANOPY EXPRESS (free) 다운로드 사이트
* http://www.enthought.com/products/canopy/파이썬 다운로드 사이트
* http://www.python.org/downloads/이클립스에 파이썬 설치 방법 : PyDev 플러그인 설치
* http://arisu1000.tistory.com/27707






반응형
반응형

MIT 6.00 컴퓨터 공학과 프로그래밍(Python) 오픈 코스

 

http://www.hakawati.co.kr/387

 

MIT 공대에서 컴퓨터 공학과 프로그래밍 소개에 관한 강의가 유튜브에 올라왔다. 최근에 업로드된 강의가 있음에도 이 강의들을 정리한 이유는 아무래도 한글 자막이 잘 되어 있기 때문이다.

출처 : MIT OpenCourseWare YouTube

교수 : Eric Grimson, John Guttag

제 01강 - 연산이란 - 데이터 타입, 연산자 및 변수 소개

제 02강 - 연산자와 피연산자 - 분기문, 조건문 그리고 반복문

제 03강 - 공통 코드 패턴, 반복 프로그램

제 04강 - 기능을 통한 분해 및 추상화, 재귀 소개

제 05강 - 부동 소수점, 계통적 명세화, 루트 찾기

제 06강 - 이분법, 뉴턴/랩슨, 그리고 리스트 소개

제 07강 - 리스트와 가변성, 딕셔너리, 의사코드, 그리고 효율성 소개

제 08강 - 복잡성 - 로그, 선형, 이차 방정식, 지수 연산 알고리즘

제 09강 - 이진 탐색, 버블 그리고 분류 선택

제 10강 - 분할 정복 방법, 합병 정렬, 예외

제 11강 - 테스트와 디버깅

제 12강 - 디버깅 추가 강의, 배낭 문제, 동적 프로그래밍 소개

제 13강 - 동적 프로그래밍 - Overlapping subproblems, Optimal substructure

제 14강 - 배낭 문제 분석, 객체 지향 프로그래밍 소개

제 15강 - 추상 데이터 타입, 클래스와 메소드

제 16강 - 캡슐화, 상속, 쉐도잉

제 17강 - 연산 모델 - 랜덤워크 시뮬레이션

제 18강 - 시물레이션 결과 제시, Pylab, Plotting

제 19강 - 편향된 랜덤워크, 배포

제 20강 - 몬테카를로(Monte Carlo) 시뮬레이션, 추정 파이

제 21강 - 시뮬레이션 결과 검증, 곡선 적합, 선형 회귀

제 22강 - 일반, 균등 그리고 지수 분포 - 통계의 오류

제 23강 - 주식 시장 시뮬레이션

제 24강 - 과정 개요 - 컴퓨터 과학자들은 무엇을 하나요?

 

.

 

 

반응형

+ Recent posts