본문 바로가기

Python18

Python의 기본 파일처리 먼저 file handle을 획득해야 해요! file객체 = file handle 사용할 데이터파일을 오픈해요 읽기용도, 쓰기용도 file1 = open("student_score.txt","r") # r : read 의 목적으로 열거야 file2 = open("backup.txt","w") # write : 쓰기용도 # 파일을 복사해서 만들겠다 학생 성적파일에서 한줄씩 읽어와서 output console에 출력하고 해당내용을 backup 파일에 저장 ""(빈문자열)=False while 파일끝이 아닐동안 : => while True: line = file1.readline() # 한줄을 읽는다 # print(line) # 출력한 다음 한줄을 띄어요!(무조건 개행) print(line, end=" ") .. 2019. 11. 27.
객체지향 프로그래밍 OOP(Object Oriented Programming) 함수기반의 프로그래밍을 하면 좋아요! 1970년부터 시작해서 지금까지 이 방식으로 프로그래밍을 하고 있어요 장점 : 프로그래밍이 쉬워요! => 빨리 만들수 있어요! => 비용이 적게 들어요! 단점 : 처음에는 단점이 별로 없어보였어요! 1990년 들어오면서 세상이 변하기 시작했어요! => 인터넷 정보량이 많아지기 시작 => 세상이 급변하기 시작 프로그램의 유지보수 요구가 많아지기 시작 절차적 프로그램으로 프로그램을 작성해서 이런 문제가 발생 어떤 방식으로 프로그램을 만들면 유지보수측면에서 이점이 있을까? 객체지향 paradigm이 시작 객제지향이 어떤 프로그래밍 방식인지를 인지 함수를 가지고 만드는것 : 절차적 프로그래밍 => 객체지향은 이방식이.. 2019. 11. 27.
내장함수 사용자 정의 함수는 위에서 설명한 그 방식대로 이용하면 되요! 프로그램을 작성할 때 함수를 어떻게 정의해서 사용할 것인가를 고민해서 작성 나머지는 내장함수 : python이 제공해주는 함수 int( ) : 인자로 들어온 놈을 정수로 반환. 갖다 쓰면됨 abs( ) : 절대값을 리턴하는 함수 print(abs(-10)) all( ) :인자로 들아온 값이 모두 True 일경우 Ture 리턴 인자로 반복가능한 타입이 와야해요(list, dictionary,python) any( ) : 인자로 들어온 값중 True가 있으면 True 인자로 반복가능한 타입이 와야해요(list, dictionary,python) a = [True,100,{},3.14] print(type({})) print(all(a)) prin.. 2019. 11. 26.
변수의 영역(scope) 영역이 다른것인지! Global variable Local variable tmp = 100 # global variable def myFunc(x): # 함수안에서 선언된 변수는 local variable(지역변수) # 함수안의 변수는 함수안에서만 살아 # 함수 수행이 끝나면 없어진다! # tmp란 변수 자체가 메모리에서 날라감(일시적) tmp = 10 tmp += x return tmp print(myFunc(20)) # 30 print(tmp) # 100 30(x) def myFunc(x): global tmp # 선언 : 100을 10으로 바꾸는것 # tmp를 global에서 찾아서 사용할 거예요! tmp = 10 tmp += x return tmp tmp를 global에서 찾아서 사용할거에요 -.. 2019. 11. 26.
Function (함수) 2019-11-14 a = [1,2,3,4] mySum = 0 for i in a: mySum +=i print(mySum) 파이썬의 내장함수를 이용하면 한번에 해결 가능 mySum = sum(a) # 내장함수 print(mySum) 숫자를 입력받아서 => 단위기능으로 간주 => 함수 해당숫자를 모두 더한후, => 단위기능으로 간주 => 함수 '결과값은 : xx입니다' 형식으로 출력 => 함수 입력, 처리, 출력 처리 함수의 이름, 인자형태, 인자개수 + 기능구현 정의를 완전히 끝내주는 것 함수의 선언(declaration) => 함수의 이름, 인자형태, 인자개수 하는일 아직 정해지지 않음, 그냥 이런 함수가 있어. 나중에 내가 쓸게 def mySum(a,b,c): # 입력을 3개 받겠다 # 함수의 기능.. 2019. 11. 26.
Python Built - in Type(내장 데이터 타입) Python은 data type과 data structure을 크게 구분하지 않고, built - in type으로 총칭 임의로 아래와 같이 두 종류로 구분했지만, 실제로는 자료형과 자료구조가 명확히 구분되는 개념은 아니다. Data type Numeric int(정수), float(실수), complex(복소수) Text Sequence str(문자열) Bool True, False Data Structure Sequence list, tuple, range Mapping dict Set set cf. 데이터 타입 확인 함수 : type() (≒R의 Mode) 2019. 11. 26.
제어문 if 문 area = ["seoul","pusan","jeju"] if "suwon" in area: print("수원이 있어요!") elif "seoul" in area: # 그렇지 않으면 혹시 이거니? else+if print("서울이 있어요!") else: print("기타등등") if "suwon" in area: pass # 하는일이 아무것도 없을때 사용 for 문 for k in range(10): print("k값은 : {}".format(k)) while 문 test=1 while test < 10: print("test값은 {}".format(test)) test += 1 # test값을 누적 # test = test +1 while True: print("무한무한") # 무한루프 중지버.. 2019. 11. 26.
set type 어떻게 생겼나요? => { } { } : 기본적으로 dict a = { "name" : "홍길동", "age" : 20 } b = { 1, 2, 3 } # set 자료구조는 중복을 허용하지 않는 저장장소 # 단, 순서가 있지 않음 print(type(a)) dict는 { } 안에 key와 value로 구성 set이라는 자료구조는 기본적으로 순서가 없다. 중복을 허용하지 않는 저장장소만 들어가요) set은 요소만 들어감 set은 요소의 중복을 허용하지 않는 저장장소 기본적으로 순서가 정해지지 않음, 하나의 주머니! 문자열 입력시 한글자씩 인식되어 중복 제거됨 간단하게 set예제를 보자 a = set([1,2,3,4,1,2,3,1,2,3]) # set은 중복을 배제해요! print(a) a = set("He.. 2019. 11. 26.
Python 1. 환경 설정 PyCharm IDE를 이용해서 개발 여러명이 같은 파일, 같은 프로젝트를 공유하면서 개발할때 유리 interactive한 개발은 힘들어요 데이터분석작업 보다는 Web 개발이나 다른 appication작성에 이용 Jupyter Note book Interactive한 개발이 가능해서 데이터분석에 대한 학습이나 실제 분석작업을 많이 해요 여러명이 공동작업할 때는 불편 2. Jupyter notebook 사용방법 cell 생성, cell 안의 코드 실행 방법 cell 삭제 무한루프가 되면 실행 interrupt 방법으로 멈춰줌 기본적인 tool 사용법 3. python built-in types Numeric(int, float, complex) numeric이라고 부르는게 아니라 이렇게 묶.. 2019. 11. 26.
bool type Bool Type ( bool ) : 논리타입 True, False 가지는 타입 = and 연산자 : 논리연산자, or : 논리연산자, not : 논리연산자 result = True and False print(result) result = not True print(result) ## = & : 비교연산자, bitwise연산 result = True & False pyton에서 숫자 0은 False로 간주, 0이 아닌 모든 숫자 True로 간주 print(bool(0)) ## 숫자 0을 True나 False로 바꿔라 print(bool(1)) ## python 에서 False는 숫자 0으로 변환 print(int(False)) ## Treu를 숫자로 바꾸면 print(int(True)) 10진수 5를 .. 2019. 11. 26.
Mapping Type - dic(dictionary) key와 value의 쌍으로 표현되는 자료구조 key값으로 value를 저장( 열쇠를 가지고 데이터를 저장) key값은 불변의 값을 사용해야 한다! list는 key로 사용할 수 없다 tuple은 key로 사용할 수 있다 a = {"name" : "홍길동", "age" : 30} print(type(a)) a[10]="hohoho" # 10 이 key , "hohoho" 가 value print(a) a["hobby"] = "Game" print(a) print(a["age"]) b = {"name" : "홍길동", "age" : 30, "age" : 40} # NG print(b) key값은 unique해야해 이렇게 쓰면 안돼 c = {"name" : "홍길동",("address",):"서울"} pri.. 2019. 11. 26.
Sequence Type - range 숫자 영역을 잡는 range는 일반적으로 for구문을 사용할 때 많이 이용 range1 = range(10) print(range1) range2 = range(1,11,2) # [1,3,5,7,9]형태로 인식 print(ragne2) 2019. 11. 26.
Sequence Type - tuple list와 거의 동일 순차적인 구조 표현하는 방식이 다르다 list는 대괄호로 표현 [1, 2, 3] tuple은 소괄호로 표현 (1, 2, 3) a = () # empty tuple print(type(a)) myList = [1] # 요소가 1개인 list print(type(myList)) myTuple = (1) # 요소가 1개인 tuple print(type(myTuple)) # tuple의 괄호가아니라 연산의 괄호로 인식 # list의 괄호로 표현하면 안돼 myTuple = (1,) print(type(myTuple)) myTuple = (1,2,3) # tuple을 생성해요 myTuple = 1,2,3 # tuple을 생성해요 ()생략가능 # tuple은 list와 비슷해요! print(my.. 2019. 11. 26.
Sequence Type - List list 임의의 객체를 순차적으로 저장한 자료구조 기호로는 [ ] 대괄호를 이용 myList = list() # 비어있는 list를 생성 아무것도 가지지말고 리스트만들어 # 벡터와 다른점 : 벡터는 같은 데이터타입의 값만 들어와, 리스트는 다양하게 myList = [] # list를 literal로 표현 myList = [1,2,3] # 3개의 값을 가지는 list를 생성 myList = [1,3.14,True,"아우성!"] # 모든 데이터 타입 myList = [10,["Show","me","the","money"],3.14,True] # 리스트를 중첩해서 가능 # List안에 또 다른 자료구조들을 넣을 수 있어요 print(myList[2]) print(myList[1][3]) print(myList.. 2019. 11. 26.
Text Sequence Type (str) Text Sequence Type (str) 우리가 일반적으로 말하는 문자열 문자열 생성방법 a = "Hello" # "" 를 이용 b = 'Hello' # '' 를 이용 # 여러줄짜리 문자열을 만들어 사용 c = """이것은 소리없는 아우성""" d = '''이것은 소리없는 아우성''' print(c) 문자열 연산, indexing, Slicing first = '이것은' last = '소리없는 아우성' # 두 문자열을 연결 result = first + last # 연산자 over loading # + 연산자가 다른기능도 하게 된다 : over loading print(result) # 문자열의 곱 text = "python" print(text * 3) # 문자열을 3번 연결하는거네요 1) inde.. 2019. 11. 26.
Numeric Data Type Python Built-in Type Numeric : int(정수), float(실수), complex(복소수) Text Sequence : 문자열 (str) Bool : True, False (bool) 자료구조 Sequence(순서) : list, tuple Mapping : dict Set : set Numeric Data Type int (정수) float (실수) complex (복소수) a = 123 # 정수(10진수) b = 3.14159265358979 # 실수 c = 3.14E10 # 지수표현(실수) d = 1 + 2j # 복소수 e = 0o37 # 앞에 있는 0 (숫자0), # 뒤에 있는 o (영문자) => 8진수 f = 0xFF # 16진수 print(type(a)) # a의 dat.. 2019. 11. 26.