1. os 모듈의 다양한 함수 os 모듈은 내 컴퓨터의 디렉터리(폴더)나 경로, 파일 등을 활용하게 도와주는 모듈로 활용빈도가 굉장히 높다. 이 모듈이 제공하는 다양한 함수들에 대해 알아보자 1-1. os.getcwd() : 현재 작업 디렉토리 확인 os.getcwd() [Output] 'C:\\Users\\User\\Desktop\\' 1-2. os.chdir() : 현재 작업 디렉토리 변경 os.chdir("D:/") os.getcwd() [Otuput] 'D:\\' 1-3. os.listdir() : 입력 경로 내의 모든 파일과 폴더명 리스트 반환 os.listdir("C:/Users/User/Desktop") [Output] ['python_practice.py', '연구노트.hwp' '개인자료'..
import numpy as np import pandas as pd from sklearn.datasets import load_iris datasets = load_iris() print(datasets.feature_names) #['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] x = datasets['data'] y = datasets['target'] df = pd.DataFrame(x, columns=[['sepal length', 'sepal width', 'petal length', 'petal width']]) # 컬럼명을 사용하기 위해 넘파이 => 판다스 형태로 바꿔줌 # 컬럼명은 히트맵..
startswith()를 이용하여 문자열이 특정 문자열로 시작하는지 확인할 수 있다. 1. startswith()로 문자열이 특정 문자열로 시작하는지 확인 2. startswith()와 split()으로 단어가 특정 문자열로 시작하는지 확인 1. startswith()로 문자열이 특정 문자열로 시작하는지 확인 예를 들어 다음과 같이 'Hello world, Python!'가 Hello로 시작하는지 확인할 수 있다. str = 'Hello world, Python!' if str.startswith('Hello'): print('It starts with Hello') if not str.startswith('Python'): print('It does not start with Python') Outpu..
.values 또는 .to_numpy() 를 사용해 DataFrame을 numpy 배열 형식으로 변환할 수 있다. 예제 코드 import pandas as pd # DataFrame 생성 data = [['Choi',22],['Kim',48],['Joo',32]] df = pd.DataFrame(data, columns=['Name','Age']) # .values 또는 .to_numpy() 를 사용해 numpy 배열로 변환 print(df.values) print(df.to_numpy()) #[['Choi' 22] # ['Kim' 48] # ['Joo' 32]] https://wooono.tistory.com/175
인스턴스(Instance) 인스턴스와 객체는 같은 의미이며, 인스터스는 클래스에 의해 만들어진 객체이다. 즉, 클래스는 인스턴스를 만드는 하나의 틀이라고 볼 수 있다. 클래스(Class) 클래스는 변수와 함수를 모아놓은 것이다. 예를들어, 모양틀을 클래스라고 하며 모양틀에 찍혀져서 만들어지는 어떤 모양의 쿠키를 인스턴스라고 한다. 클래스는 틀일 뿐이고, 인스턴스는 틀을 가지고 만들어지 내용물과 같은 것이다. class Student: name = "김철수" def info(self): print("제 이름은 " + self.name + "입니다.") inst = Student() print(type(inst)) inst.info() class Student: name = "김철수" def info(sel..
함수란? 입력값에 따라 결과가 다를수는 있지만 로직 자체는 같은 경우에 하나의 포장지 안에 넣어서 계속 재사용할 수 있게 만들어 놓은것을 함수라 한다. 그렇기 때문에 하나의 로직을 함수로 묶어서 관리하게 되면 좀 더 편리하게 사용할 수 있다. 파이썬에서 함수를 알려주기 위해서는 def 라는 키워드를 사용한다. 그리고 함수에는 입력값이 있고 출력값이 있는데,함수에 따라서 입력값이 있는 함수도 있고, 출력값이 있는 함수도 있으며, 둘다 있거나 둘다 없는 함수도 있다. 다양한 함수 모양 1. 입력도 없고 반환값도 없는 함수 def 함수명() : 수행문장 def func1(): print('BlockDMask') 2. 입력만 있는 함수 def 함수이름(매개변수1, 매개변수2, ... ): 수행문장 def fun..
input() 이 sys.stdin.readline() 보다 느린 이유 input() 내장 함수는 sys.stdin.readline()과 비교해서 prompt message를 출력하고, 개행 문자를 삭제한 값을 리턴하기 때문에 느리다. input() 과 sys.stdin.readline() 의 차이점 일단 sys.stdin.readline()과 input()은 같은 역할을 하지 않는다. input() 내장 함수는 parameter로 prompt message를 받을 수 있다. 따라서 입력받기 전 prompt message를 출력해야 한다. 물론 prompt message가 없는 경우도 있지만, 이 경우도 약간의 부하로 작용할 수 있다. 하지만, sys.stdin.readline()은 prompt mess..
while 문 - 조건이 만족하는 동안 끝없이 반복 cf ) for 문은 리스트와 같은 반복 대상에서 값을 하나씩 꺼내서 반복 작업을 수행 while 조건: 실행 명령문1 실행 명령문2 실행 명령문3 .... ▶ 예제1 customer = "토르" # 손님 index = 5 # 부르는 횟수, 총 5회 while index >= 1: # 부르는 횟수가 1 이상인 경우에만 반복 실행 print("{0}, 커피가 준비 되었습니다. {1} 번 남았어요.".format(customer, index)) index -= 1 # 부르는 횟수 감소 if index == 0: # 5번 모두 불렀다면 print("커피는 폐기처분되었습니다.") 토르, 커피가 준비 되었습니다. 5 번 남았어요. 토르, 커피가 준비 되었습니다...
반복문 for for 변수 in 반복대상: 실행 명령문1 실행 명령문2 ... ▶ 예제1 for waiting_no in range(1, 6): # 1부터 6직전까지 (1~5) print("대기번호 : {0}".format(waiting_no)) 대기번호 : 1 대기번호 : 2 대기번호 : 3 대기번호 : 4 대기번호 : 5 ▶ 예제2 starbucks = ["아이언맨", "토르", "아이엠 그루트"] # 손님 리스트 for customer in starbucks: print("{0}, 커피가 준비되었습니다".format(customer)) 아이언맨, 커피가 준비되었습니다 토르, 커피가 준비되었습니다 아이엠 그루트, 커피가 준비되었습니다
▶ if 조건문 - 끝에 콜론(:) 이 붙음 - if 조건에 만족할 때 실행해야 하는 문장들은 if 위치를 기준으로 공백(스페이스) 4칸씩 들여쓰기 if 조건: 실행 명령문 ▶ 예) 비가 온다면 우산을 챙기도록 알려주는 프로그램 weather = "비" if weather == "비": # = 은 2번 써야 해요!! print("우산을 챙기세요") weather 변수에는 "비"라는 값이 들어가있고, if 를 통해서 변수의 값이 "비"인지를 확인하여 맞다면 "우산을 챙기세요" 라는 값을 출력 이 때 값을 비교하기 위해서는 = 을 2번 써야한다. ▶ elif 활용하기 if 조건1: 실행 명령문1 elif 조건2: 실행 명령문2 elif 조건3: 실행 명령문3 ... ▶ 예) 미세먼지가 심하면 마스크를 챙기라..
다음과 같이 세트를 하나 만들고 type() 을 이용하면 이 데이터가 어떤 형태인지 확인할 수 있다. menu = {"커피", "우유", "주스"} print(menu, type(menu)) # menu 의 type 정보 : set ▶ 리스트 형태로 변환 menu = list(menu) # 리스트 형태로 변환 print(menu, type(menu)) # menu 의 type 정보 : list ▶ 튜플 형태로 변환 menu = tuple(menu) # 튜플 형태로 변환 print(menu, type(menu)) # menu 의 type 정보 : tuple ▶ 세트 형태로 변환 menu = set(menu) # 세트 형태로 변환 print(menu, type(menu)) # menu 의 type 정보 : ..
세트? - 중복을 허용하지 않음 - 데이터 순서 보장하지 않음 - 중괄호 / set() 이용하여 선언 ▶ 중괄호 이용 my_set = {1, 2, 3, 3, 3} # 중복을 허용하지 않으므로 3은 1번만 들어감 print(my_set) # {1, 2, 3} ▶ set() 이용 java = {"유재석", "김태호", "양세형"} # 자바 개발자 집합 python = set(["유재석", "박명수"]) # 파이썬 개발자 집합 ▶ 교집합 : & 기호나 intersection() 을 이용 # 교집합 (java 와 python 을 모두 할 수 있는 개발자) print(java & python) # {'유재석'} print(java.intersection(python)) # {'유재석'} ▶ 합집합 : | 기호나 ..
튜플? - 튜플은 처음 정의할 때를 제외하고는 데이터 변경이나 추가, 삭제 등이 불가 - 리스트보다는 속도 빠름 cf ) 리스트 읽기 전용 버전 - 튜플은 소괄호를 이용하여 정의 menu = ("돈까스", "치즈까스") print(menu[0]) # 돈까스 print(menu[1]) # 치즈까스 name = "김종국" age = 20 hobby = "코딩" print(name, age, hobby) # 김종국 20 코딩 (name, age, hobby) = ("김종국", 20, "코딩") print(name, age, hobby) # 김종국 20 코딩
사전 - 사전은 중괄호로 둘러싸서 정의할 수 있음 - key 와 value 는 콜론(:) 으로 구분 - 2개 이상의 데이터는 콤마(,)로 구분 - key 들은 중복값을 허용하지 않는 유일한 값으로 설정 { key1 : value1, key2 : value2, ... } ▶딕셔너리 사용법 1 : 대괄호 사용 cabinet = {3: "유재석", 100: "김태호"} print(cabinet[3]) # 유재석 -> key 3 에 해당하는 value print(cabinet[100]) # 김태호 -> key 100 에 해당하는 value ▶ 딕셔너리 사용법 2 : get() 사용 print(cabinet.get(3)) # 유재석 -> key 3 에 해당하는 value ▶ 대괄호와 get()의 차이 대괄호 ge..
append() 함수 : 리스트의 맨 마지막에 데이터를 추가하는 역할 # D가 다음 정류장에서 다음 칸에 탐 subway.append("D") print(subway) # ['A', 'B', 'C', 'D'] # ★를 A, B 사이에 태움 subway.insert(1, "★") # 인덱스 1 위치에 삽입 print(subway) # ['A', '★', 'B', 'C', 'D'] pop() 함수 : 맨 뒤에 있는 데이터를 하나씩 빼는 역할 # 지하철에 있는 사람을 한 명씩 뒤에서 꺼냄 print(subway.pop()) # D 내림 print(subway) # ['A', '★', 'B', 'C'] print(subway.pop()) # C 내림 print(subway) # ['A', '★', 'B'] pr..
탈출문자? 역슬래시(\)와 함께 어떤 문자를 사용함으로써 문장 내에서 원하는 값을 처리할 수 있음 종류 역할 \n 문장 내에서 줄바꿈 역할을 수행 \" 와 \' 문자열 내에서 따옴표 사용가능 \b 키보드의 백스페이스와 같은 역할 \t 키보드 탭(Tab)과 같이 여러 칸 (보통 8칸) 을 띄어주는 역할 print("내 이름은 000이고, \n나이는 00살 입니다.") # 내 이름은 000이고, # 나이는 00살 입니다. print("저는 \"홍길동\"입니다.") # 저는 "홍길동"입니다. print("저는 \'홍길동\'입니다.") # 저는 '홍길동'입니다. print("Redd\bApple") # RedApple print("Red\tApple") # Red Apple
print() 문을 통해 문자열 여러개 출력할 때 + 나 , 이용 + 이용 시 : 문자열들 사이에 띄어쓰기가 없음 , 이용 시 : 띄어쓰기로 구분되어 문자열 출력 print("a" + "b") # ab print("a", "b") # a b 이 외에도 다양한 포맷으로 문자열 출력하는 방법 존재 방법 1) % 사용하기 ▶ 따옴표로 둘러싸인 문자열 중간에 %d, %c, %s 등을 넣어두고, 문자열 뒤에 % 를 적은 후 어떤 값을 적으면 그 값이 문자열 중간에 있는 %d, %c, %s 위치에 들어감 ▶ 이 때 %d 는 정수(decimal)를, %c 는 문자(character)를, %s 는 문자열(string) 을 의미 ▶ 단, %s 를 쓰게 되면 정수, 문자, 문자열 상관 없이 모든 값을 집어 넣을 수 있음 ..
문자열 처리함수 함수이름 의미 lower 소문자로 변환 upper 대문자로 변환 isupper 대문자인지 확인 islower 소문자인지 확인 replace 문자열 바꾸기 index 찾으려는 문자열의 인덱스 (없으면 에러) find 찾으려는 문자열의 인덱스 (없으면 -1) count 문자열이 나온 횟수 문자열 처리함수 ▶ 문자열 처리함수는 모두 pyhon. 으로 시작 ▶ BUT 문자열의 길이 정보를 확인해주는 len() 함수 예외 python = "Python is Amazing" print(python.lower()) # python is amazing print(python.upper()) # PYTHON IS AMAZING print(python[0].isupper()) # True : 0 번째 인덱..
인덱스 여러 문자의 집합으로 구성된 문자열 또는 리스트 등은 n 번째 인덱스에 있는 문자 또는 데이터 하나만을 가져올 수 있음 HOW? 대괄호 사용 변수명[인덱스] jumin = "990120-1234567" print("성별 : " + jumin[7]) # 성별 : 1 * 주의 프로그램에서 문자열 포함한 인덱스 값 : 1이 아닌 0 부터 시작 슬라이싱 슬라이싱이란? 데이터를 원하는 만큼 잘라서 가져올 수 있음 1) 변수명[시작인덱스:종료인덱스] 2) 변수명[:인덱스] → 처음부터 인덱스 직전까지 3) 변수명[인덱스:] → 인덱스부터 끝까지 4) 변수명[:] → 처음부터 끝까지 주민등록번호 정보에서 연, 월, 일 각각 2자리씩 가져오는 방법 jumin = "990101-1234567" print("연 :..
문자열이란? 문자들의 집합을 의미 파이썬에서는 작은 따옴표 또는 큰 따옴표로 감싸서 문자열을 표현 1. 작은 따옴표 sentence1 = '내 이름은 000입니다.' print(sentence1) # 내 이름은 000입니다. 2. 큰 따옴표 sentence2 = "내 나이는 00살 입니다." print(sentence2) # 내 나이는 00살 입니다. 3. 여러 줄에 걸쳐 문자열 작성방법 sentence3 = """ 내 이름은 000이고, 내 나이는 00살 입니다. """ print(sentence3) # 내 이름은 000이고, 내 나이는 00살 입니다. (큰 따옴표 대신 작은 따옴표 3개씩으로 감싸도 OK) * 주의 작은 따옴표 3개로 감싸는 것은 여러 줄에 대한 주석 처리를 할 때도 사용문장 변수가 ..
숫자처리함수 1.python에서 기본 제공하는 숫자처리함수 함수이름 의미 예제 abs 절대값 abs(-5) pow 제곱 pow(4,2) max 가장 큰 값 max(5, 12) min 가장 작은 값 min(5,12) round 반올림 round(3.14) 2.다양한 숫자 처리하는 방법? ▶ math 모듈 활용하기 함수이름 의미 예제 floor 내림 floor(4.99) ceil 올림 ceil(3.14) sqrt 제곱근 sqrt(14) *모듈이란? 어떤 기능들을 모아놓은 파이썬 파일, 코드 내에서 모듈의 기능들을 가져다 쓰기 위해서는 아래 2가지 형태 중 1개의 형태 구문 적어야함 1) from 모듈이름 import 사용할 무언가 from math import * # math 모듈 내 모든 내용을 가져다 쓰..
연산자 연산자 의미 예제 + 더하기 1 + 1 = 2 - 빼기 3 - 2 = 1 * 곱하기 5 * 2 = 10 / 나누기 6/3 = 2.0 ** 제곱 2 ** 3 = 8 % 나머지 5 % 3 = 2 // 몫 5 // 3 = 1 > ~보다 크다 10 > 3 >= ~보다 크거나 같다 4 >= 7 0) or (3 > 5) not ~의 반대 not( 1!= 3) 수식 number = 4 + 2 * 5 number = number + 2 #16 print (number) #16 number += 2 #number = number + 2 와 동일 print(number) #18 number *= 2 #number = number * 2 와 동일 print(number) #36 number /= 2 #number =..
주석은 코드 내에 작성하지만 프로그램 실행에는 아무런 영향을 끼치지 않음 비주얼 스튜디오 코드 주석 단축키 주석 설정 : Ctrl + / 또는 Ctrl + k + c 주석 해제 : Ctrl + / 또는 Ctrl + k + u 주의 - 한 줄 주석인 경우 그 문장 위에 커서를 두고 단축키를 누르면 OK - 여러 줄 주석인 경우 먼저 주석 설정을 하기 위한 영역을 마우스 드래그 드롭이나 키보드 Shift + 방향키 (↑, ↓) 로 선택한 뒤 단축키 누르기
애완동물을 소개해주세요. [입력] name = "도담이" animal = "강아지" age = 4 hobby = "산책" is_adult = age >= 3 print("우리집 " + animal + "의 이름은 " + name + "에요.") print(name + "는 " + str(age) + "살이며, " + hobby + "을 아주 좋아해요.") print(name + "는 어른일까요? " + str(is_adult)) [실행결과] 우리집 강아지의 이름은 도담이에요 도담이는 4살이며, 산책을 아주 좋아해요 도담이는 어른일까요? True TIP 1 문자열과 변수 조합 : "문자열” + 변수 + "문자열" 형태 공백 필요 시 : 문자열에 공백 두기 str(age) : 숫자 자료형을 문자열 자료형으로..
숫자 자료형 1. 하나의 수 출력 print(5) # 5 출력 print(-10) # -10 출력 print(3.14) # 3.14 출력 print(1000) # 1000 출력 2. 간단한 연산 print(5+3) # 8 출력 print(2*8) # 16 출력 print(3*(3+1)) # 12 출력 문자열 자료형 ▶ 큰 따옴표나 작은 따옴표로 감싸주기 print('풍선') # 작은 따옴표로 감싼 문자열 print("나비") # 큰 따옴표로 감싼 문자열 print("ㅋㅋㅋㅋㅋㅋㅋㅋㅋ") # 긴 문자열 print("ㅋ"*9) # ㅋ 을 9번 출력 boolean 자료형 ▶ True / False (불리안 자료형이 가질 수 있는 유일한 2가지 값) print(5 > 10) # False 출력 print(5 <..