★정규 표현식(Regular Expressions)

- 복잡한 문자열을 처리할때 사용하는 기법

- 문자열을 처리하는 모든 곳에서 사용.

- 줄여서 정규식.

 

정규식은 고급 주제.

 

 

★정규식 기초, 메타 문자

 

. & $ * + ? { } [ ] \ | ( )

 

문자 클래스 []

[]사이에는 어떤 문자도 들어갈수 있다.

[] 안의 두문자 사이에 하이픈(-)을 사용하게 되면 두문자 범위를 의미.

[a-c]는 [abc]동일 [0-5]sms[012345]

[a-zA-z] : 알파벳 모두

 

^는 반대의 의미 [^0-9] 숫자가아닌 문자만을 의미.

 

★자주 사용하는 문자 클래스

 

\d - 숫자와 매치 [0-9]

\D - 숫자가 아닌 것과 매치 [^0-9]

 

★Dot(.)

줄바꿈 문자인 \n을 제외한 모든 문자와 매치됨을 의미

 

하지만 re.DOTALL 옵션을 주면 \n문자와 매치 가능.

 

a.b

"a + 모든 문자 + b"

 

a[.]b

"a + Dot(.)문자 + b"

 

★반복(*)

ca*t

*바로 앞에 있는 문자 a가 0부터 무한대로 반복의미

무한대(2억개)

 

★반복(+)

+최소 1번 이상 반복될때 사용

*가 반복횟수 0부터라면 +는 반복횟수  1부터

 

ca+t

"c+a(1번 이상 반복) + t"

 

ca{2}t

a가 2번 반복매치

 

ca{2,5}t

a가 2~5회 반복매치

 

★?

ab?c

"a + b(있어도 되고 없어도 된다) + c"

 

★정규식 지원 re 모듈

 

re(regular expression의 약어) 모듈 제공

컴파일 된 패턴 객체는 4가지 메소드 제공

 

 

 match, search는 정규식과 매치 될때는 match객체를 리턴하고 매치 되지 않을 경우 none을 리턴.

 

 

 span() : 매치된 문자열의 (시작, 끝) 튜플 리턴

 

 

첫번째 문자가 3이지만 문자열 전체를 검색하기 때문에 3 이후의 python 이라는 문자열과 매치

 

★findall

리스트로 리턴

 

 

★match 객체의 메서드

어떤 문자열이 매치?

매치된 문자열의 인덱스는 어디서부터 어디까지?

 

 

 

'Python > Python' 카테고리의 다른 글

Python-외장함수  (0) 2017.06.16
Python-내장 함수  (0) 2017.06.12
Python-오류 예외 처리  (0) 2017.06.11
Python-모듈  (0) 2017.06.10
Python-Class  (0) 2017.06.08

라이브러리에 대해 조사해보자

 

★sys

sys 모듈은 파이썬 인터프리터가 제공하는 변수들과 함수들을 직접 제어해주는 모듈.

 

갑자기 궁금

컴파일러와 인터프리터 차이점

인터프리터- 프로그램 한줄씩 읽어서 실행하는 방식 (파이썬 , 자바)

컴파일러- 전체 프로그램을 읽어서 한꺼번에 빠르게 실행하는 방식 (c)

 

★명령행에서 인수 전달하기-sys.argv

 

 

명령어 뒤의 모든 것들이 공백을 기준으로 나뉘어서 sys.argv 리스트의 요소가 됨을 알 수 있다.

 

☆강제로 스크립트 종료하기 - sys.exit

sys.exit = Ctrl+z Ctrl+D

 

★자신이 만든 모듈 불러와 사용하기 - sys.path

sys.path는 파이썬 모듈들이 저장되어 있는 위치. 경로 어디서나 불러올 수 있다.

sys.path.append("C:\ .......")

 

★pickle

객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈.

pickle 모듈의 dump 함수를 이용해 딕셔너리 객체인 data를 그대로 파일에 저장하는 방법

 

pickle.load를 이용해 원래 있던 딕셔너리 객체(data) 상태 그대로 불러오는 예.

 

★OS 모듈

OS 모듈은 환경 변수나 디렉터리,파일 등의 OS자원을 제어할 수 있게 해주는 모듈.

 

내 시스템의 환경 변수 값을 알고 싶을때 - os.environ

현재 시스템의 환경 변수값들을 보여준다.

 

os.environ은 환경 변수에 대한 정보를 딕셔너리 객체로 리턴

 

★디렉터리 위치 변경하기 - os.chdir

★디렉터리 위치 리턴받기 - os.getcwd

 

 

 경로가 바뀐것 확인

 

★시스템 명령어 호출하기 - os.system

시스템 자체의 프로그램이나 기타 명령어들을 파이썬에서 호출할 수있다.

 

 

★실행한 시스템 명령어의 결과값 리턴 받기 - os.popen

 

★shutil

파일을 복사해 주는 파이썬 모듈.

 

파일 복사하기 - shutil.copy(src,dst)

src.txt 파일을 dst.txt파일로 복사한다 같은 이름이면 덮어씌운다.

리눅스의 cp 명령어

 

★glob

가끔 파일을 읽고 쓰는 기능이 있는 프로그램을 만들다 보면 특정 디렉터리에 있는 파일 이름을 모두 알아야 할 때

glob 모듈을 사용.

 

디렉터리에 있는 파일들을 리스트로 - glob(경로 이름)

*,?등의 메타 문자를 쓸수도 있다.

 

 

★tempfile

파일을 임시로 만들어서 사용할때 유용한 모듈 tempfile.

tempfile.mktemp()는 중복되지 않는 임시 파일의 이름을 무작위로 리턴

 

 

tempfile.TemporaryFile()은 임시 저장 공간으로 사용될 파일 객체를 리턴 기본적으로 바이너리 쓰기모드.

f.close()가 호출되면 이파일은 사라진다.

 

★time

시간과 관련된 time 모듈에는 유용한 함수가 많다.

 

time.time

time.time()은 UTC(Universal time coordinated 협정 세계 표준시)를 이용하여 현재 시간을 실수 형태로 리턴하는 함수.

 

 

time.localtime

이 함수는 time.time()에 의해 반환된 실수값을 이용해 연도,월,일,시,분,초 형태로 바꿔주는 함수.

 

 

★time.asctime

time.localtime에 의해 반환된 튜플 형태의 값을 인수로 받아 날짜와 시간을 알아보는 함수

 

 

★time.strftime

시간에 관계된것을 세밀하게 표현할 수있는 포맷코드를 제공한다.

 

 

★time.sleep

이 함수는 주로 루프 안에서 많이 사용. 일정한 시간 간격을 두고 루프를 실행할 수 있다.

 

 

1초씩 출력되는 것을 볼수 있다

 

★Calender

파이썬에서 달력을 볼 수 있게 해주는 모듈

 

calendar.calendar(연도)로 사용하면 그해의 전체 달력을 볼수 있다.

 

 

calendar.prmonth(연도, 월)

 

 

★calendar.weekday

weekday(연도,월,일)함수는 그 날짜에 해당하는 요일 정보를 리턴한다.

월요일이 0 화요일 1 일요일 6 값을 리턴한다.

리눅스는 일요일이 0 월요일이 1

 

 

★calendar.monthrange

monthrange(연도,월)함수는 입력받은 달의 1일이무슨 요일인지와 그달이 몇일까지 있는지 확인.

 

 

★random

이 함수는 난수(규칙이 없는 임의의 수)를 발생시키는 모듈  random과 randint

 

 

0.0 에서 1.0 사이의 실수 중 난수 값을 리턴

1 에서 11 사이의 정수중 난수 값 리턴

 

★webbrowser

자신의 시스템에서 사용하는 기본 웹 부라우저가 자동으로 실행되게 하는 모듈.

 

'Python > Python' 카테고리의 다른 글

Python-정규 표현식  (0) 2017.06.16
Python-내장 함수  (0) 2017.06.12
Python-오류 예외 처리  (0) 2017.06.11
Python-모듈  (0) 2017.06.10
Python-Class  (0) 2017.06.08

★abs

abs(x)는 어떤 숫자를 입력으로 받았을때, 그 숫자의 절대 값을 돌려주는 함수이다.

 

 

★all

all(x)은 반복 가능한 자료형 x를 입력 인수로 받으며 이 x가 모두 참이면 True,거짓이 하나라도 있으면 False

를 리턴한다.

 

반복가능한 자료형이란 for문으로 그 값을 출력할수 있는것 리스트,튜플,문자열,딕셔너리,집합 등이 있다.

 

 

요소0은 거짓이므로 Faluse를 리턴한다.

 

★any

any(x)는 x중 하나라도 참이 있을 경우 True를 리턴하고 x가 모두 거짓일 경우에만 False를 리턴한다.

all(x)의 반대 경우라고 할수 있다.

 

 

★chr

chr(i)는 아스키 코드 값을 입력받아 그코드에 해당하는 문자를 출력하는 함수이다.

아스키 코드란 0~127 사이의 숫자들을 각각 하나의 문자 또는 기호에 대응시켜 놓은것

 

 

★dir

dir은 객체가 자체적으로 가지고 있는 변수나 함수를 보여준다.

아래 사진은 리스트와 딕셔너리 객체의 관련 함수들을 보여주는 예다.

 

 

★divmod

divmod(a,b)는 2개의 숫자를 입력받는다. 그리고 나눈 몫과 나머지를 튜플 형태로 리턴하는 함수다.

 

 

★enumerate

enumerate는 열거하다라는 뜻 이함수는 순서가 있는 자료형(리스트,튜플,문자열)을 입력으로 받아 인덱스 값을 포함하는

enumerate객체를 리턴한다.

 

보통 enumerate 함수는 for문과 함께 자주 사용

 

 

현재 순서(index)와 그값을 알수 있다.

 

★eval

eval(expression)은 실행 가능한 문자열(1+2,'hi'+'a')을 입력받아 문자열을 실행한 결과 값을 리턴하는 함수

 

 

eval은 입력받은 문자열로 파이썬 함수나 클래스를 동적으로 실행하고 싶은 경우 사용

 

★filter

filter은 무엇인가를 걸러낸다. 첫번째 인수로 함수 이름을, 두번째 인수로 그함수에 차례로 들어갈 반복 가능한 자료형을 받는다. 두번째 인수인 반복 가능한 자료형 요소들이 첫번째 인수인 함수에 입력되었을때 리턴값이 참인 것만 묶어서

돌려준다.

 

 

positive함수는 리스트를 입력값으로 받아 각각의 요소를 판별해 양수값만 리턴하는 함수

위에 결과 값은 list

밑에 결과 값은 tuple

filter을 빼면 에러가 발생한다

 

★hex

hex(x)는 정수값을 입력받아 16진수(hexadecimal)로 변환하여 리턴하는 함수다.

 

 

★id

id(object)는 객체를 입력받아 객체의 고유주소값을 리턴하는 함수이다.

 

 

id(5)는 다른객체이므로 다른 고유 주소값이 출력된다

 

★int

int(x)는 문자열 형태의 숫자나 소수점이 있는 숫자등을 정수형태로 리턴하는 함수

 

 

3진수로 표현된 22의 10진수 값은8이다.

 

★isinstance

isinstance(object,class)는 첫번째 인수로 인스턴스, 두번째 인수로 클래스 이름을 받는다.

입력으로 받은 인스턴스가 그 클래스의 인스턴스인지를 판단하여 참이면 True, 거짓이면 False를 리턴한다.

 

 

a가 Person 클래스에 의해서 생성된 인스턴스 이므로 트루

b는 Person 클래스에 의해 생성된 인스턴스가 아니므로 False를 리턴

 

★lambda

lambda는 함수를 생성할때 사용하는 예약어 def와 동일한 역할

보통 함수를 한줄로 간결하게 만들때 사용한다.

 

lambda 인수1, 인수2,...:인수를 이용한 표현식

 

def 가 있는데 lambda가 나온이유는 lambda는 def보다 간결하게 사용할수 있기 때문이다.

lambda는 def를 사용할수 없는 곳에서도 사용할수 있다.

 

 

★len

len은 입력한 길이(요소의 개수) 를 리턴하는 함수이다.

 

★map

map(f,iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받는다.

map은 입력받은 자료형의 각 요소가 함수 f에 의해 수행된 결과를 묶어서 리턴하는 함수이다.

 

 

리스트 요소를 입력받아 각 요소에 2를 곱한 결과값을 돌려준다.

 

 

x에 리스트에 있는 값들이 하나씩 들어가 2배의 결과가 나온다

 

 

lambda를 사용하면 간략하게 만들수 있다.

 

 

리스트의 값 요소들을 1씩 증가시킨다.

★max

그 최대값을 리턴하는 함수

 

★min

max와 반대로 최소값을 리턴하는 함수

 

★oct

정수 형태의 숫자를 8진수 문자열로 바꾸어 리턴하는 함수

 

★ord

아스크 코드값을 리턴하는 함수

chr함수와 반대

 

 

★pow

pow(x,y)는 x의 y 제곱한 결과값을 리턴하는 함수

 

 

★range(인수가 3개일 경우)

세 번째 인수는 숫자 사이의 거리를 말한다.

 

 

★sorted

입력값을 정렬한 후 그결과를 리스트로 리턴하는 함수

 

 

sort라는 함수가 있는데 그 함수는 리스트 객체 그자체를 정렬만하고 결과를 리턴하지는 않는다.

 

 

 

★zip

동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수

 

 

 

 

 

'Python > Python' 카테고리의 다른 글

Python-정규 표현식  (0) 2017.06.16
Python-외장함수  (0) 2017.06.16
Python-오류 예외 처리  (0) 2017.06.11
Python-모듈  (0) 2017.06.10
Python-Class  (0) 2017.06.08

프로그램을 만들다 보면 수없이 많은 오류를 만나게 된다.

오류를 무시하고 싶을 때도 있고 별도로 처리하고 싶을 때도 있다.

파이썬은 try,except를 이용해 오류를 처리 할 수 있게 해준다.

 

★오류는 어떤 때 발생할까?

 

오류를 처리하는 방법을 알기 전에 어떤 상황에서 오류가 발생하는지 알아보자.

 

디렉토리 안에 없는 파일을 열려고 시도 했을 때 발생하는 오류이다.

 

 

FileNotFoundError 파일 오류 메시지

 

 

0으로 나누려니까 ZeroDivisionError라는 이름의 오류 발생

 

 

a리스트에서 얻을 수 없는 값이다. 따라서 indexError 발생

 

★오류 예외 처리 기법

 

try, except문

 

try:

...

except [발생 오류[as 오류 메시지 변수]]:

...

 

 

try .. else

 

try문은 else절을 지원한다. else절은 예외가 발생하지 않은 경우에 실행되며 반드시 except절 바로 다음에 위치

해야 한다.

 

 

foo.txt라는 파일이 없으면 except절이 수행되고

파일이 있으면 파일내용 출력하기

 

try .. finally

 

보통 finally절은 사용한 리소스 close해야 할 경우에 많이 사용된다.

 

★여러개의 오류처리하기

 

try문 내에서 여러개의 오류를 처리하기 위해서는 다음과 같은 구문을 이용한다.

 

 

인덱싱 오류가 먼저 발생했으므로 밑에 오류들은 출력되지 않는다.

 

 

2개 이상의 오류를 동시에 처리하기 위해선 괄호를 묶어 사용

 

★오류 회피하기

 

프로그래밍을 하다가 특정 오류가 발생하면 그냥 통과 시켜야 할 때가 있을수 있다.

 

★오류 일부러 발생시키기

 

프로그래밍을 하다보면 종종 오류를 발생시켜야 할 경우도 생긴다.

raise라는 명령어를 이용해 오류를 강제로 발생시킨다.

 

 

 

NotlmplementedError는 파이썬 내장 오류로 일부러 발생시키고자 사용한다.

orange클래스는 fruit클래스를 상속받는다.

그런데 orange클래스에서 apple함수를 구현하지 않아 fruit클래스의 apple함수가 호출된다.

그리고 raise문에 의해 에러메시지가 나온다.

 

상속받는 클래스에서 함수를 재구현하는 것을 메서드 오버라이딩이라 부른다.

 

 

'Python > Python' 카테고리의 다른 글

Python-외장함수  (0) 2017.06.16
Python-내장 함수  (0) 2017.06.12
Python-모듈  (0) 2017.06.10
Python-Class  (0) 2017.06.08
Python-파일 읽고쓰기  (0) 2017.06.06

모듈이란 함수나 변수 또는 클래스 들을 모아 놓은 파일이다.

파이썬으로 프로그래밍을 할때 많은 모듈을 사용한다.

 

★모듈 만들고 불러보기

 

 

import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.

 

mod.py에 함수 추가

 

 

print(mod.num(3,2))를 해도 출력이 된다.

mod.sum 이런식으로 쓰지 않고 sum,safe_sum처럼 함수를 쓰고 싶은 경우도 있을 것이다.

이럴땐 from 모듈이름 import 모듈 함수 쓰면 된다.

 

 

★if __name__ == "__main__":의 의미

 

 

하지만 import mod를 하면 문제가 생긴다.

 

 

 

__name__ == "__main__"이 참이 되어 if문 다음 문장들이 수행된다.

name대신에 다른걸 쓰면 오류가 발생

 

★클래스나 변수 등을 포함한 모듈

 

 

print(a.solv(3))의 3은 r값이 되어 3.14*6을하면 18.84가 된다.

 

 

★새파일 안에서 이전에 만든 모듈 불러오기

 

 

★모듈을 불러오는 또 다른 방법

 

sys모듈 파이썬을 설치 할때 함께 설치되는 라이브러리 모듈이다.

 

 

sys.path는 파이썬 라이브러리들이 설치되어 있는 디렉터리들을 보여준다. 파이썬 모듈이 위의 디렉터리에

들어 있다면 모듈이 저장된 디렉터리로 이동할 필요없이 바로 불러서 사용 할 수 있다. 실습해보자

 

 

경로가 추가된것을 확인한다.

 

 

나는 안전하게 모듈 접근은 환경 변수 추가를 따로 안하고 그 폴더안에서 진행하는게 낫다고 생각한다.

'Python > Python' 카테고리의 다른 글

Python-내장 함수  (0) 2017.06.12
Python-오류 예외 처리  (0) 2017.06.11
Python-Class  (0) 2017.06.08
Python-파일 읽고쓰기  (0) 2017.06.06
Python-함수  (0) 2017.06.06

프로그래밍 언어중 하나인 c언어에는 클래스가 없다. 굳이 클래스 없이도 프로그램을 만들수 있다는 말이다.

클래스는 지금까지 공부한 함수나 자료형처럼 프로그램 작성을 위해 필요한 요소는 아니다.

하지만 프로그램 작성시 클래스를 사용하면 프로그래머가 얻을 수 있는 이익은 상당하다.

 

계산기에 3이라는 숫자를 입력하고 + 기호를 입력한 후 4를 입력하면 결과값으로 7을 보여준다. 다시 한 번 + 기호를 입력한 후 3을 입력하면 기존 결과값 7에 3을 더해 10을 보여준다. 즉 계산기는 이전에 계산된 결과값을 항상 메모리 어딘가에 저장하고 있어야 한다.

return result문장을 지우면 결과값이 None None출력확인

 

adder 함수는 입력 인수로 num을 받으면 이전에 계산된 결과 값에 더한후 출력하는 함수.

이전에 계산된 결과값을 유지하기 위해서 result라는 전역변수(global)를 사용했다.

 

한 프로그램에서 2개의 계산기가 필요한 상황이 발생하면 어떻할까... 각각의 계산기는 각각 결과값을 유지해야 하기 때문에

adder함수 하나만으로는 결과 값을 유지할수 없다.

함수를 각각 따로 만들어야 한다.

 

하지만 계산기가 점점 늘어날때 이렇게 전역변수와 함수를 추가하긴 힘들것이다. 간단한 해결책이 있다.

 

cal1,cal2 라는 별개의 계산기(객체) 가 각각의 역할을 수행한다.

간단하게 cal3=Calcu()만 추가하므로 간편해진다.

 

programmer()의 결과값을 돌려받은 lee과 dong이 바로 객체이다.

 

객체와 인스턴스의 차이.

- 클래스에 의해서 만들어진 객체를 인스턴스라고 한다. 차이는 lee=programmer() 에서 lee는 객체이다.

lee라는 객체는 programmer의 인스턴스이다. 즉 인스턴스라는 말은 특정 객체(lee)가 어떤 클래스(programmer)의

객체 인지를 관계 위주로 설명할 때 사용된다. 즉 lee은 인스턴스 보다는 lee는 객체라는 표현이 어울리고

lee는 programmer의 객체 보다는 lee는 programmer의 인스턴스 라는 표현이 어울린다.

 

★클래스 함수

 

 

☆self: self라는 변수를 클래스 함수의 첫 번째 인수로 받아야 한다는 것은 파이썬만의 특징이다.

☆__init__: 객체를 만들때 항상 실행된다는 뜻의 함수.

 

★클래스 구조 만들기

대화형 인터프리터에서 pass란 문장만을 포함한 Fourcal 클래스를 만든다.

pass는 아무것도 수행하지 않는 문법. 임시로 코드 작성할때 주로 사용함

 

a=FourCal()로 a라는 객체를 먼저 만들고 type(a)로 a라는 객체가 어떤 타입인지 알아보았다.

a가 FourCal 클래스의 인스턴스임을 알수 있다.

 

★객체에 숫자 지정할수 있게 만들기

 

setdata 메서드의 입력인수

입력인수로 3개의 입력값을 받는다. 그런데 첫 번째 입력 인수는 특별한 의미를 갖는 self변수다.

 

a라는 객체를 만든다음 a.setdata(3,4)처럼 하면 FourCal 클래스의 setdata 메서드가 호출되고

setdata 메서드의 첫 번째 인수에는 자동으로 a라는 객체가 입력으로 들어가게 된다.

 

즉 setdata의 입력인수는 3개지만 a.setdata(3,4)처럼 2개의 입력값만 주어도 a라는 객체가 setdata 함수의

첫 번째 입력을 받는 변수인 self에 대입되게 된다.

 

 

a와 b라는 객체는 모두 first라는 변수를 가지고 있지만 변수의 값은 각각 다르다.

a,b 객체의 first변수는 고유의 저장 영역을 가지고 있는 객체 변수이기 때문이다.

 

객체 변수란??- 그 객체의 고유한 값을 저장할 수 있는 공간이다.

 

★더하기 기능 만들기

 

self.first+self.second= a.first+a.second

 

★곱하기 빼기 나누기 기능 만들기

 

★스토리 있는 클래스 만들기

 

내이름 출력해보기.

 

이동현이 여행을 가다 를 출력해 보자

 

__init__로 바꿔서 해보기

 

★클래스의 상속

상속: 물려받다 .

HouseLee 이라는 클래스가 Housedong 클래스를 상속받는다

 

★연산자 오버로딩

연산자 오버로딩이란 연산자를 객체끼리 사용할 수 있게 하는 기법

 

pey+man처럼 호출되면 __add__(self,other) 메서드의 self는 pey가 되고 other는 man이 된다.

 

 

'Python > Python' 카테고리의 다른 글

Python-오류 예외 처리  (0) 2017.06.11
Python-모듈  (0) 2017.06.10
Python-파일 읽고쓰기  (0) 2017.06.06
Python-함수  (0) 2017.06.06
Python-조건문(if문),반복문  (0) 2017.06.02

★파일 생성하기

파일 객체=open(파일 이름, 파일 열기 모드)

 

 

새파일.txt라는 파일을 C:/Python 디렉터리에 생성하고 싶다면 다음과 같이 작성.

 

close()를 사용해서 열려 있는 파일을 직접 닫아 주는 것이 좋다. 쓰기모드로 열었던 파일을 닫지 않고

다시 사용하려고 하면 오류가 발생하기 때문이다.

 

★파일을 쓰기 모드로 열어 출력값 적기

 

 

★프로그램의 외부에 저장된 파일을 읽는 여러 가지 방법

★readline() 함수 이용하기

 

모든 라인을 읽어서 화면에 출력하고 싶다면 아래와 같이 작성

while True: 라는 무한 루프 안에서 f.readline()을 이용해 파일을 계속해서 한줄씩 읽어 들이도록한다.

만약 더이상 읽을 라인이 없으면 break를 수행한다.

 

★readlines() 함수 이용하기

 

 readlines() 함수는 파일의 모든 라인을 읽어서 각각의 줄을 요소로 갖는 리스트로 리턴한다.

 

★read() 함수 이용하기

 

★파일에 새로운 내용 추가하기

파일 추가모드('a')

★with문과 함께 사용하기

파일을 열면 f.close() 해주어야 한다. 이렇게 파일을 열고 닫는 것을 자동으로 처리해주는 것을 with문이다.

 

★sys 모듈로 입력 인수 주기

type 명령어는 바로 뒤에 적힌 파일 이름을 인수로 받아 그 내용을 출력해주는 도스 명령어 이다.

대부분의 도스 명령어들은 다음과 같이 명령행(도스창)에서 입력 인수를 직접 주어 프로그램을 실행시키는 방식을 따른다.

 

sys모듈의 argv는 명령창에서 입력한 인수들을 의미

 

파일 소문자를 대문자로 만들기.

'Python > Python' 카테고리의 다른 글

Python-모듈  (0) 2017.06.10
Python-Class  (0) 2017.06.08
Python-함수  (0) 2017.06.06
Python-조건문(if문),반복문  (0) 2017.06.02
Python-딕셔너리,집합(자료형)  (0) 2017.05.30

★def 함수

- 함수를 만들때 사용하는 예약어.

- 함수명은 함수를 만드는 사람이 임의로 만들 수 있다.

 

" 이 함수의 함수명은 sum이고 입력 인수로 2개의 값을 받으며 결과핪은 2개의 입력값을 더한 값이다"

 

return - 결과 값을 돌려주는 명령어.

 

★입력값이 없는 함수

박스안에만 출력하면 아무것도 안나온다 그러므로 아래같이 코딩을 해줘야 출력이 나온다.

 

★결과 값이 없는 함수

마지막 문장 sum(숫자,숫자)를 지정해줘야 출력이 나온다.

 

★입력값도 결과값도 없는 함수

 

★여러 개의 입력값을 받는 함수 만들기

ex)여러 개의 입력받을 모두 더하는 함수를 직접 만들어 보자

sum_num라는 함수는 입력값이 몇개든 상관이 없다. *args처럼 입력 변수명 앞에 *을 붙이면

입력값들을 전부 모아서 튜플로 만들어 주기 때문이다.

*args는 임의 변수지만 관례적으로 자주 사용한다

range 함수 접근 실패

 

def sum_num(*args)처럼 함수의 인수로 *args(*입력 변수)만 사용할수 있는 것은 아니다

 

내가 만들어본 코드다.

 

★return의 또 다른 쓰임새

return문을 만나는 순간 결과 값을 돌려준 다음 함수를 빠져나가게 된다

 

또 다른 예제

입력 인수가 name,old, man=True 3개다.

man=True 는 함수의 인수 초깃값을 설정하는 방법이다.

주의 man=True는 마지막에 써야한다. 

 

★함수 안에서 선언된 변수의 효력 범위

2가 출력되어야 할것 같지만 결과값은 1로 나온다. 그 이유는 함수 안에서 새로 만들어진

변수는 함수 안에서만 사용되는 "함수만의 변수"이기 때문이다. 밖의 변수는 아니다.

 

print(a)에서 에러가 발생한다. 이유는 a라는 변수를 어디에서도 찾을수 없기 때문.

 

★함수 안에서 함수 밖의 변수를 변경하는 방법

1.return 이용

 

2.global 이용

프로그래밍 할때 global명령어는 사용하지 않는게 좋다. 독집적으로 존재하는 것이 좋기 때뭄ㄴ이다.

외부 변수에 종속적인 함수는 좋은 함수가 아니다.

첫번째 return 방법 사용을 권한다.

'Python > Python' 카테고리의 다른 글

Python-Class  (0) 2017.06.08
Python-파일 읽고쓰기  (0) 2017.06.06
Python-조건문(if문),반복문  (0) 2017.06.02
Python-딕셔너리,집합(자료형)  (0) 2017.05.30
Python-리스트,튜플(자료형)  (0) 2017.05.29

★if문의 기본 구조

if 조건문:

수행할 문장1

수행할 문장2

...

else:

수행할 문장A

수행할 문장B

...

 

들여쓰기 중요

 

★조건문이란?

-참과 거짓을 판단하는 문장

☆비교 연산자

 

 

☆논리 연산자

 

 

 

★다양한 조건을 판단하는 elif

lf <조건문>:

<수행할 문장1>

<수행할 문장2>

...

elif <조건문>:

<수행할 문장1>

<수행할 문장2>

...

elif <조건문>:

<수행할 문장1>

<수행할 문장2>

...

...

else:

<수행할 문장1>

<수행할 문장2>

...

 

실습

1. 비밀번호가 일치하면 로그인 시켜라.

2. ID와 Passwd가 모두 일치할때,

   lD는 일치하고 Passwd가 불일치 할때,

   lD는 불일치하고 Passwd는 일치할때,

   lD와 Passwd 모두 불일치 할때 출력하라.

 

 

★반복문

while문

☆기본 구조

-조건문이 참인 동안에 while문 아래에 속하는 문장들이 반복해서 수행된다.

 

 while <조건문>:

<수행할 문장1>

<수행할 문장2>

<수행할 문장3>

...

 

10 < 10 거짓 종료

 

★강제로 빠져 나가기-break

 

 

 ★조건에 맞지 않는 경우 맨처음으로 돌아가기-continue

 while문을 빠져나가지 않고 continue사용

 

 continue 대신 break를 쓰면 값이 1 출력

 

 실습

break 대신 continue를 쓰면 오류

 

 ★for문

☆기본 구조

for 변수 in 리스트(또는 튜플, 문자열):

수행할 문장1

수행할 문장2

...

 

☆전형적인 for문

 

☆다양한 for문의 사용

 

☆for문의 응용

총 5명의 학생이 시험을 보았는데 시험 점수가 60점이 넘으면 합격이고 그렇지 않으면 불합격이다.

합격인지 불합격인지 결과를 보여주세요

marks=[90,25,67,45,80]

 

for문이 한 번씩 수행될 때마다 number는 1씩 증가한다

 

 

☆for문과 continue

while문에서만 쓰는게 아니라 for문에서도 continue를 사용할수 있다.

60점이상인 사람에게는 축하메시지를 아닌사람은 아무런 메시지도 전하지 않는 프로그램을 만들자.

mark < 60이 참이 되어 continue문이 수행된다.

 

☆for문과 자주 사용하는 range함수

range(10)은 0부터 10미만의 숫자를 포함하는 range객체를 만들어준다.

range(시작 숫자, 끝 숫자) 이때 끝 숫자는 포함되지 않는다.

 

★range 실습

i변수에 리스트의 숫자들이 1부터 10까지 하나씩 차례로 대입되면서 sum=sum+i라는 문장을

반복적으로 수행하고 최종적 55가 된다.

 

60점이상이면 합격이라는 출력.

len함수는 리스트 내 요소의 개수를 돌려주는 함수이다.

len(makrs)는 5가 되고 range(5)가 된다.

 

★for와 range를 이용한 구구단

 

입력 인수 end를 넣어 준 이유는???

print(i*j, end=" ") end를 넣어준이유는 결과값을 출력할때

다음줄로 넘기지 않고 그줄에 계속해서 출력하기 위해서다.

 

end를 빼면

 

print(" ")를 빼면

 

★리스트 안에 for문 포함하기

for문을 포함하는 리스트 내포(list comprehension)를 이용하면 좀더 편리하고 직관적인 프로그램을 만들수 있다.

 

 

 

 

첫번째 방법이 더 와닿는거 같다.

 

★짝수에만 3을 곱하여 담고 싶다면 if조건을 사용할수 있다.

코딩줄이 줄어드는게 장점이지만 한줄로 길게 쓰는건 보기 않좋은거 같다.

 

 

☆for문 이용해서 평균값 구하기

 

'Python > Python' 카테고리의 다른 글

Python-파일 읽고쓰기  (0) 2017.06.06
Python-함수  (0) 2017.06.06
Python-딕셔너리,집합(자료형)  (0) 2017.05.30
Python-리스트,튜플(자료형)  (0) 2017.05.29
Python-숫자형,문자열,자료형  (0) 2017.05.28

★딕셔너리 자료형(Dictionary)

-리스트나 튜플처럼 순차적으로 해당 요소 값을 구하지 않고, key를 통해 Value를 얻는다.

 

☆딕셔너리 만드는 법

변수={key1:Value1, Key2:Value2, Key3:Value3,...}

{}로 둘러 싸여 있고, 쉼표로 구분하고, 키 값에는 리스트를 제외한 모든 자료형이 가능하다.

 

☆딕셔너리 쌍 추가,삭제하기

순서를 따지지 않고 순서에는 원칙이 없다.

쌍 추가하기

쌍 삭제하기

 

☆딕셔너리를 사용하는 방법

딕셔너리에서 Key를 사용해 Value값 얻기

중복되는 Key는 1개를 제외한 나머지 값은 모두 무시

리스트를 Key로 사용할 수 없음

★딕셔너리 관련 함수들

Key 리스트 만들기(keys)

Value 리스트 만들기(values)

key,Value 쌍 얻기(items)

key,Value 쌍 모두 지우기(clear)

key로 Value 얻기(get)

해당 Key가 딕셔너리 안에 있는지 조사하기(in)

 

 

None을 리턴 - 존재하지 않는 키로 값을 가져올 경우 오류 발생

 

실습

딕셔너리 a에서 'B'에 해당하는 값을 추출하고 삭제하자.

a={'A':90,'B':80,'C':70}

 

 

★집합 자료형(Set)

☆집합 자료형 만드는 법

set 키워드 사용

 

☆집합 자료형의 특징

- 중복을 허용하지 않는다

- 순서가 없다.(Unordered)

 

☆집합 자료형 활용하는 방법

교집합

합집합

차집합

 

☆집합 자료형 관련 함수들

값 1개 추가하기 (add)

s1.add(0,'a') X

s1.insert(0,'a') X

 

값 여러개 추가하기 (update)

add 함수안에 리스트 들어가면 오류발생 확인

update함수 사용해야 함

 

특정 값 제거하기 (remove)

del 함수 적용 X

del s1[1] X

del s1['a'] X

 

실습

a리스트에서 중복된 숫자들을 제거하자

집합 자료형으로 변환 -> 리스트 자료형으로 다시 변환

 

'Python > Python' 카테고리의 다른 글

Python-함수  (0) 2017.06.06
Python-조건문(if문),반복문  (0) 2017.06.02
Python-리스트,튜플(자료형)  (0) 2017.05.29
Python-숫자형,문자열,자료형  (0) 2017.05.28
Python-연산자,변수,자료형,git  (0) 2017.05.21

★리스트 자료형(List)

★리스트?

-비어있는 리스트,숫자,문자열,숫자+문자열,리스트 자체를 요소 값으로 가질 수 있다.

즉 리스트 안에는 어떠한 자료형도 포함시킬 수 있다

 

 

★리스트의 인덱싱과 슬라이싱

리스트의 인덱싱

 

중첩 리스트

 

★리스트의 슬라이싱 

 

★리스트 연산자

리스트 더하기(+)

리스트 반복하기(*)

 

☆리스트 연산 오류

정수인 a[2]의 값인 3과 문자열인 hi를 더해 "3hi"를 출력시키게 하기 위해서는 a[2]를 문자열로 바꿔줘야 한다.

그렇지 않으면 (TypeError) 발생

 

★리스트의 수정,변경과 삭제

 

★a[1:2]=['a','b','c']수정과 a[1]=['a','b','c']수정은 다르다!.

a[1:2]는 a[1]에서 a[2]사이의 리스트를 바꾼다는 말이고

a[1]는 리스트 a의 두번째 요소를 바꾼다는 말이므로 다르다.

 

★리스트 관련 함수들

리스트에 요소 추가(append)

리스트 정렬(sort)

리스트 뒤집기(reverse)

위치 반환(index)

리스트에 요소 삽입(insert)

리스트 요소 제거(remove)

리스트 요소 끄집어내기(pop)

리스트에 포함된 요소 개수 세기(count)

리스트 확장(extend)

 

 

remove - 리스트의 첫 번째로 나오는 x를 삭제하는 함수

pop() - 리스트의 맨 마지막 요소를 돌려 주고 그요소는 삭제하는 함수

pop(x) - 리스트의 x번째 요소를 돌려주고 그요소는 삭제하는 함수

삭제할때 del , remove , pop

 

리스트에 포함된 요소x의 개수 세기(count)

count(x) - 리스트 내에 x가 몇개 있는지 조사해 그 개수를 돌려주는 함수

 

리스트 확장(extend(

extend(x) - x에는 리스트만 올수 있으며 원래의 a리스트에 x리스트를 더하게 된다.

 

실습

['Life','is',too','short']라는 리스트를 Life is too short라는 문자열로 만들어 출력하라

 

★튜플?

- 리스트와 비슷하지만 2가지 차이점이 있다.

- 리스트는 []으로 둘러싸지만 튜플은 ()으로 둘러싼다.

- 리스트는 그 값의 생성,삭제,수정이 가능 하지만 튜플은 안된다.

 

튜플 요소값 삭제,변경 시 오류

 

튜플의 인덱싱과 슬라이싱, 더하기와 곱하기

 

실습

(1,2,3)이라는 튜플에 4라는 값을 추가해 (1,2,3,4)처럼 출력하라

 

'Python > Python' 카테고리의 다른 글

Python-조건문(if문),반복문  (0) 2017.06.02
Python-딕셔너리,집합(자료형)  (0) 2017.05.30
Python-숫자형,문자열,자료형  (0) 2017.05.28
Python-연산자,변수,자료형,git  (0) 2017.05.21
Python-환경구성 맛보기  (0) 2017.05.20

 

★숫자형

복소수.real=실수 부분 리턴

복소수.imag=허수 부분 리턴

복소수.conjugate()=켤레복소수 리턴

 

켤레 복소수? 부호를 바꾼 복소수

 

abs(복소수)=절댓값 리턴

 

★문자열 자료형

문자열(string)- 문자 단어등으로 구성된 문자들의 집합

  - 따옴표로 둘러싸여 있으면 모두 문자열

-큰따옴표(")

-작은따옴표(')

-큰따옴표 연속3개(""")

-작은따옴표 연속3개(''')

 

문자열 안에 포함

-작은 따옴표 포함시 큰따옴표로,큰따옴표 포함시 작은따옴표로 묶어주고 백슬래시(\n)를 이동해 둘다

포함 시킬수 있다.

 

여러 줄인 문자열을 변수에 대입

줄바꾸기(\n)

print( ) 에 변수를 넣어야 정확한 값이 나온다.

 

연속된 작은 따옴표 3개 (''')또는 큰 따옴표(""")이용

''' 사용은 공백 한칸씩 띄어주는 것 확인

 

★문자열 연산하기

문자열 더해서 연결하기

문자열 곱하기

 

★문자열 인덱싱과 슬라이싱

인덱싱(indexing):무엇인가를 '가리킨다'

 

슬라이싱(slicing):무엇인가를 '잘라낸다'

>>> a[0] + a[1:6] + a[6: ]
'I love python'

 

실습) 'pithon'이라는 문자열을 'python'으로 바꾸기

슬라이싱으로 완성 시켜야 된다.

 

★문자열 포매팅(Formatting)

문자열 내의 특정한 값을 바꿔야 할 경우 사용. 문자열내에 어떤 값을 삽입 하는 방법

 

2개이상 값넣기

 

★문자열 포맷 코드

 

★포맷 코드와 숫자 함께 사용하기

정렬과 공백

"%10s" : 전체 길이가 10 인 공간에서 오른쪽 정렬

"%-10s" : 전체 길이가 10 인 공간에서 왼쪽 정렬

소수점 표현하기

 

★문자열 관련 함수들

1.문자 개수 세기(count)

 

2.위치 알려주기(find)

처음 나온 위치를 반환

존재하지 않는다면 -1을 반환

 

3.위치 알려주기(index)

존재 하지 않는다면 오류 발생

 

4.문자열 삽입(join)

5.대문자로 변환(upper)

6.소문자로 변환(lower)

7.왼쪽 공백 지우기(lstrip)

 

8.오른쪽 공백 지우기(rstrip)

9.양쪽 공백 지우기(strip)

10.문자열 나누기(split)

 

11.문자열 바꾸기(replace)

 

★실습

1. 주민번호가 849213-2014242 일때 생년원일과 그뒤 숫자 부분을 나누어 출력하라

2. 홍길동(881322-1023232)을 성명, 주민번호로 구성되는 리스트를 만들고

성별을 체크하여 추가해 출력하라.

 

3. [1,2,3,4]라는 리스트를 [4,3,2,1]로 변경해라

'Python > Python' 카테고리의 다른 글

Python-딕셔너리,집합(자료형)  (0) 2017.05.30
Python-리스트,튜플(자료형)  (0) 2017.05.29
Python-연산자,변수,자료형,git  (0) 2017.05.21
Python-환경구성 맛보기  (0) 2017.05.20
뇌를자극) 수 텍스트와 비트1  (0) 2017.03.11

★연산자 (산술 연산자)

 

★변수

-데이터를 저장하는 공간

-프로그래밍 시에 정해진 값이나 계산된 값을 저장하기 위하여 사용되는 이름

-C,JAVA,C++에서는 사용하는 변수의 타입을 먼저 정의하지만 python에는 타입 지정없이 사용되며 구문에

따라 자동적으로 정해진다

( ex) C,JAVA,C++: int a=0; float b=1.2;   Python: a=0 b=1.2)

★규칙

-대소문자 구별

-글자나 언더바(_)외의 다른문자는 사용불가(공백,특수문자x)

 

★연습문제

1. 화씨 온도(F)가 50일때의 섭씨 온도(C)를 계산

2. 일주일이 몇 분인지 계산

3. 하루가 24시간 이면 일주일은 몇 분 인지 계산

4. 다음의 주가가 89,000원이고 네이버의 주가가 751,000원이라면 다음 주식을 100주 네이버 주식을

20주 가지고 있을때 주식의 총액은?

5. 다음과 네이버의 주가가 각각 5%,10% 하락한다고 가정한다면 손실액은?

 

1.C = ( F - 32 ) / 1.8

 

cmd 환경설정
http://unxutils.sourceforge.net/  

unxutils 기능

- 윈도우에서 유닉스(c언어 기반) 텍스트 유틸리티를 사용

 

UnxUpdates.zip C:압축풀기
환경변수 설정 C:\UnxUpdates

 

 

git 설치
★git 기능

- 복잡한 Branch 관리에 적합

- 심플하지만 핵심적인 기능 강력

- 로컬 저장소와 원격저장소의 분리 빠른 속도 로컬 저장소가 있기 때문에 다양 서비스 업체 존재

- 다양보조 툴

 

 

working directory

-실제 작업하고 있는 공간

 

state Area

-변경 이력을 관리

-working directory에서 git명령어를 통해서 추가 가능

-이 곳에 올라와 있는 파일만 저장소에 추가 및 수정 가능

-일종의 준비 구역

-변경하면 수정이 불가능하기 때문에 실수를 방지하기 위해 존재

 

git directory (Reporitory)

- 변경 이력을 저장하는 저장소

- local과 remote 저장소로 분리

 

git으로 소스 가져오기(복사)
git clone http://www.github.com/kang9693/pybasic5.git

 

gitignore 파일로 관리

특정 파일을 stage영역에 올라가지 않도록 자동으로 관리해줌

예시 ) */config/development


 

github

git을 사용하기 위한 서비스

github는 git저장소를 제공하는 서비스 중에 하나일 뿐이다.

즉 github를 사용하지 않고 git을 쓰는 회사도 있다.

 

git 명령어 모음(http://blog.naver.com/maverickjin8/220811299396)

 

★Repository 종류

저장소의 위치만 내 컴퓨터에 있느냐 서버에 있느냐의 차이

local이 없으면 저장 못한다

수정 부분 중에 같은 부분이 있으면 서로 충돌이 발생하지만 해결가능하다

 

1. local

 

외부에 위치하지 않고 작업하고 있는 컴퓨터에 존재

인터넷을 이용하지 않기 때문에 빠른 속도

인터넷이 연결되지 않아도 작업 가능

잦은 저장소 처리 요청에도 부담 없음

외부 저장소에 손실이 있어도 빠르게 복구

 

2. remote

 

전통적인 관점에서 저장소의 개념

외부 서버에 위치하여 변경이력을 기록하는 부분

인터넷을 이용하여 접근 가능

다중 사용자로부터 관리되는 각 로컬 저장소의 접점

 

python -m http.server 8001 (접속자 확인)

 

 

netstat명령어  - 우리가 자주 사용하는 유틸리티로 네트워크 게이트 간의 연결, 라우팅 테이블 정보등을 표시

- 네트워크 연결 상태 확인
netstat -an  모든 연결과 수신대기 포트를 표시하며 주소와 포트번호를 숫자로 표시하는 역할

로컬주소? 자신의 PC IP

외부 주소? 내 PC와 연결된 네트워크 시스템의 IP

상태? ESTABLISHED(연결 중 상태), CLOSED(끊어진 연결), LISTENING(열린 포트)

 

input은 잘사용하지 않는다 (데이터 입력은 사용)

 

%f 실수형
%d 정수형
%c 문자형  //쓸일이 없다.  c언어에선 많음
%s 문자열
%o 8진수
%x 16진수

 

이스케이프 문자
-\n 한칸아래로 엔터와 같은효과
-\t tab
-\o NULL  끝을표현
-\\ 문자 "\"

 

c , java 배열 = {1,2,3,4}
파이썬 d=[1,2,3]
numpy,pandas => 지속 수학

 

id(name) 저장개체값
list.append(45.0) 데이터추가
딕셔러니형
SET(집합형)

'Python > Python' 카테고리의 다른 글

Python-리스트,튜플(자료형)  (0) 2017.05.29
Python-숫자형,문자열,자료형  (0) 2017.05.28
Python-환경구성 맛보기  (0) 2017.05.20
뇌를자극) 수 텍스트와 비트1  (0) 2017.03.11
뇌를자극) 준비 시작  (0) 2017.03.11

★환경구성

pip install ipython     //모듈설치
pip install ipython notebook     //문서화작업

설치후 cmd창에 python 실행

실행이 안되면 환경변수 설정

PATH ->  C:\Python36\Scripts\;C:\Python36\  중요

 

cmd 창 -> python

import sys    //파이썬 인터프리터가 제공하는 변수들과 함수들을 직접 제어할수 있게 해주는 모듈(환경구성)

 


dir 파일목록
del 폴더   //삭제
cls = clear
set 환경변수확인

dir은 리눅스의 ls 명령어랑 같은거 같다.

 

#주석
#################
# 작성자 : 이동현
# 작성일 : 2017-05-20
# 설명 : "이름출력"
####################
//프로젝트 표준양식


파일명.py    //확장자 인터프리터 언어
주석 부분은 컴파일러 혹은 인터프리터가 해석하지 않는다

 

인터프리터 언어-한줄씩 해석해서 처리하는 언어


shell 스크립트 언어
str 문자열
int 정수

a[0]     //[0]인덱스
:    //함수의 끝                               

https://wikidocs.net/book/1   점프투파이썬 공부 자료

 

1. 인터프리터(interpreter) 언어

- 실행 언어

- 실행기, 해석기, 쉘

- 파이썬, 펄, 루비, php, javascript, ...

- 따로 컴파일 과정을 거치지 않는다.

- 실행기를 통해서 바로 실행이 가능

 

2. 컴파일(compile) 언어

- 번역 언어

- 컴파일러(compiler) : 번역기

- C, C++, Java, ...


★rom ram?

RAM(Random Access Memory) : 임의 접근 기억장치 -> 임의의 영역에 접근하여 읽고 쓰기가 가능 주기억장치

 

ROM(Read Only Memory) : 읽기 전용 기억 장치 -> 반도체 기억 장치의 하나, 컴퓨터를 구동하기 위한 기본정보

담겨 있다.

 

 

 

★큰따옴표 작은따옴표?

어떤것을 사용하나 똑같지만 규칙이 있다.

큰 따옴표(Double Quote) - 텍스트

작은 따옴표(Single Quote) - 기호 식별자

3개의 큰따옴표 """ - docstrings 정규표현식

 

cmd는 복사 잘안됨 shell 유용

 

파이썬 개발툴

cmd -> ipython notebook 실행

 

 

 

print("\n")  - 한줄띄어쓰기

 

a*50 - *곱하기50

4가지 연산 되는거 확인

 

int 정수형

str 문자형

 

a와 A가 구분되게 출력

 

 

a[0]     //인덱스 데이터 크기 찾아보기

 

 

[0:5] 처음부터 5글자 출력

 


문자열 짜르기가 편하다

문자열 짜르고 붙이기

 

★맛보기

거북이 움직이기

'Python > Python' 카테고리의 다른 글

Python-숫자형,문자열,자료형  (0) 2017.05.28
Python-연산자,변수,자료형,git  (0) 2017.05.21
뇌를자극) 수 텍스트와 비트1  (0) 2017.03.11
뇌를자극) 준비 시작  (0) 2017.03.11
뇌를자극) 소개설치  (0) 2017.03.11

python은 세종류의 수를 지원한다. 정수 실수 복소수다

메모리가 허용하는한 무한대의 정수를 다룰수 있다.

 

옆에 빨간 글씨는 에러를 표현한 것이다.

 

정수의 타입은 int

실수의 타입은 float

문자의 타입은 str 로 나온다.

 

10진수 2진수 16진수 8진수를 공부했다.

 

16진수로 표현하고 싶으면 hex()함수를 사용해야 한다.

 

hex(255)=11111111이므로 0xFF 이다.

 

2진수로 표현하고 싶으면 bin()함수를 사용해야 한다.

 

bin(51)은 110011 이므로 0b110011로 나온다

 

 

8진수로 표현하고 싶으면 oct()함수를 사용해야 한다.

 

복소수는 수치분석 분야의 소프트웨어를 작성할 계획이 아니면 뛰어 넘어도 괜찮다고 한다.

복소수 타입은 complex로 나온다

 

 

 

 

 

 연산

 기호

 더하기

 +

 빼기

 -

 곱하기

 *

 나눗셈의 몫 구하기

 //

 나눗셈의 나머지 구하기

 %

 나누기

 / 

 

 

 

a=(a+bj)+(c+dj)=(a+c)+(b+d)j

b=(a+bj)-(c+dj)=(a-c)+(b-d)j

c=(a+bj)*(c+dj)=(ac-bd)+(ad+bc)j  ←이부분은 책에 오류다 이게 정답이다.

d=

 

 

 

                              

 

'Python > Python' 카테고리의 다른 글

Python-숫자형,문자열,자료형  (0) 2017.05.28
Python-연산자,변수,자료형,git  (0) 2017.05.21
Python-환경구성 맛보기  (0) 2017.05.20
뇌를자극) 준비 시작  (0) 2017.03.11
뇌를자극) 소개설치  (0) 2017.03.11

+ Recent posts