분류 전체보기
-
67 - (파이썬) 가독성과 유지보수성study with Q - 파이썬 2024. 7. 15. 19:25
# 현대적 관점의 개발은 함수함수함수함수함수함수다. : 가독성, 유지보수적의 측면에서 이런 것까지? 하는 부분까지 함수로 만드는 것이 좋다. eg) 원주율이 주어졌을 때, 원의 둘레와 넓이를 구하는 방법을 구하는 프로그램을 만든다고 할 때, 🧐 요래 작성하면 되는 거 아닌가?#숫자 입력number = input("Enter a number: ")radius = float(number)#둘레와 넓이print(2*3.14*radius)print(3.14*radius*radius) 주석은 코드를 수정하면서 바로 같이 수정되지 않으므로 누락( → 휴먼 에러 발생)의 가능성이 있다.그래서 아예 함수로 요래요래 변환해버림def num_input(): number = input("Enter a number: ..
-
66 - (파이썬) 이터러블, 이터레이터, 제너레이터 함수, 제너레이터 표현식study with Q - 파이썬 2024. 7. 9. 11:01
제너레이터 (generator): 파이썬의 특수한 문법구조. 이터레이터를 직접 만들 때 사용하는 코드. 함수 내부에 yield 키워드를 사용하면 해당 함수는 제너레이터 함수가 되며 일반 함수와 다르게 함수를 호출해도 함수 내부의 코드가 실행되지 않는다. 참고)더보기이터러블: 반복할 수 있는 것 / aka 반복문 뒤에 넣을 수 있는 것Iterate + ableeg) 리스트, 튜플, 딕셔너리 등 이터레이터 : 반복하는 것 / 이터러블을 만드는 방법 중 하나Iterate + or이터레이터를 만드는 방법- 제너레이터 표현식 사용- 제너레이터 함수 사용- 이터레이터 클래스 (투머치 고급)기억나니.... #리스트 내포[ #표현식 표현식 #반복문 for 요소 in 반복할수있는것 #조건문 if 조건문] ..
-
65 - (파이썬) CSV 파일 읽고 쓰기study with Q - 파이썬 2024. 7. 8. 17:28
텍스트를 사용해 데이터를 구조적으로 표현할 수 있는 방법으로는 CSV, XML, JSON🤍등이 있다. # CSV:(comma-separated values)는 몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일을 뜻한다.(인공지능 개발이나 데이터 분석에서 쓰이는 데이터 형식이 CSV이다.) 참고더보기XML(eXtensible Markup Language)은 데이터를 정의하는 규칙을 제공하는 마크업 언어입니다. JSON(JavaScript Object Notation)은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷입니다. 웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용합니다(서버에서 클라이언트로 데이터를 전송하여 표현하려거나 반대의 경우..
-
64 - (파이썬) 기본 파일 처리study with Q - 파이썬 2024. 7. 8. 15:30
파일은 크게 텍스트 파일과 바이너리 파일로 나뉘는데, 여기서는 텍스트 파일만 다룸. 우선 Replit에 test.txt 파일을 만들고 다음과 같이 작성한다.안녕 세계! 오키. 이제 이거 가져다 쓰자. # 파일 처리: 읽기 처리(r) / 쓰기 처리(w,a) #(1) 스트림 연결testflie = open("test.txt", "r")# 모드 종류 : w 쓰기 모드 / a 추가해서 쓰기 모드 / r 읽기 모드 #(2) 스트림을 통한 데이터 통신teststr = testflie.read()print(teststr)#(3) 스트림 해제testflie.close()>>>안녕 세계! 그런데 프로그램이 길어지면 open()함수와 close()함수 사이에 내용이 길어지고 열고 닫는 것을 잊어버리기 쉬워진다. 이런 실수..
-
63 - (파이썬) 람다, key 키워드 매개변수study with Q - 파이썬 2024. 7. 3. 20:16
# 람다 (lambda): aka 간단한 함수를 간단하게 작성할 수 있게 해주는 문법: 매개변수로 함수를 전달하기 위해 함수 구문을 작성하는 것이 번거로울 때 함수를 간단하게 선언하는 방법. 1회용 함수를 만들어야 할 때 주로 사용한다. def square(number): return number**2def is_even(숫자아): return 숫자아 % 2 == 0 위에서와 같이 굳이 저 간단한 함수 쓰겠다고 두 줄이나 소모하며 쓰는 것이며.. 모양새며 영 보기가 거시기혀.그래서 한 줄의 return코드를 가지는 함수를 간단하게 하는 함수를 만듦 → 그게 바로 람다(lambda) #쓰잘것없이 길고 뽀대나지 않던 함수가def square(number): return number**2#이렇게 콤팩..
-
62 - (파이썬) map/filter 함수 구현study with Q - 파이썬 2024. 7. 3. 19:17
def ma_map(cb_m,list_m) : output = [] for yoso_m in list_m: output.append(cb_m(요소)) return output#filterdef ma_filter(cb_f,list_f): output = [] for yoso_f in list_f: #어차피 bool을 리턴한다면 #if cb_f(yoso_f) == True: if cb_f(yoso_f): output.append(yoso_f) return output 참고로...더보기return[콜백함수(표현식) for 표현식 in 리스트]를 사용하면 한 줄로 작성 가능함.나중에 "제너레이터 표현식"이라는 이터레이터를 다루는데, return(콜백함수(표현식) for ..
-
61 - (파이썬) 콜백함수, map/filter 함수study with Q - 파이썬 2024. 7. 1. 21:20
#콜백함수: 매개변수로 전달하는 함수를 (정확하게는 내가 아닌 다른 놈이 로출하는 함수) 콜백함수 라고 한다# 함수를 변수에 저장하기def ctt(): passv = ctt()print(v)>>> None→ ctt라는 함수를 만들고, v라는 변수에 함수를 괄호까지 넣은 다음 출력을 하게 되면 ctt라는 함수가 아무것도 return하고 있지 않기 때문에 None을 return하는 것을 볼 수 있다. 그런데 이렇게 함수를 호출하는 것이 아니라 v라는 변수에 함수를 (괄호를 제외하고) 넣은 다음 실행하면def ctt(): passv = cttprint(v)>>> 변수 v에 ctt라는 함수가 들어있는 것을 확인할 수 있다.따라서 변수 v를 호출할 때 ctt를 호출하는 것을 볼 수 있다.def ctt(): ..
-
60 - (파이썬) 튜플, 이뮤터블 자료, 뮤터블 자료study with Q - 파이썬 2024. 6. 24. 20:41
# 람다: 매개변수로 함수를 전달하기 위해 함수 구문을 작성하는 것이 번거로울 때 함수를 간단하게 선언하는 방법. 1회용 함수를 만들어야 할 때 주로 사용한다. # 튜플: 함수와 함께 사용되는 리스트와 비슷한 자료형으로, 리스트와 다르게 한번 결정된 요소는 바꿀 수 없다. - 소괄호 기호를 사용해서 만든다. - 요소 접근 연산자를 이용해 각각의 요소에 접근할 수 있다.tup = (0,1,"two",True)print(tup)print(tup[0])print(tup[2])print(tup[3])>>>(0, 1, 'two', True)0twoTrue - 요소를 하나만 가지는 튜플을 만드려면 다음과 같이 쉼표를 넣어서 선언한다. (쉼표를 넣지않으면 숫자, 문자열 등에 괄호를 감싼 것이라고 인식한다.)# 이렇..