zenn.skin 무료버전 배포중!
자세히보기

Python/Syntax 51

Python/Syntax
[Python] Bitwise 연산자를 이용한 홀/짝 판단

(오늘 게시물에서 사용하는 AND, OR 연산자는 모두 Bitwise 연산자를 의미한다.) 홀수와 짝수를 판단할 때 2로 나눈 나머지를 이용해 판단할 수도 있지만 Bitwise 연산자를 이용해서 구하는 방법도 있다. 1. 2의 나머지를 이용한 홀수, 짝수 판단 num = int(input()) if num % 2 == 0: # 짝수인 경우 print("Even") elif num % 2 == 1: # 홀수인 경우 print("Odd") 2. Bitwise 연산자를 이용한 홀수, 짝수 판단 - Bitwise 연산자를 이용해 홀수와 짝수를 판단하려면 우선 AND연산과 XOR연산에 대해 알아야 한다. ① AND 연산자(&) 0 1 0 0 0 1 0 1 정수를 2진수를 이용해 나타내면 짝수인 경우 마지막 자리가..

Python/Syntax
[Pandas] DataFrame - 2 (행/열 추가, 값 선택/변경, 전치)

1. 행/열의 추가 1) 행의 추가 - DataFrame의 loc() 메서드를 이용해 행을 추가 - DataFrame.loc['새로운 행 이름'] = value or List - value를 전달할 경우 해당 행에 모두 동일한 값이 들어간다 - List를 전달할 경우 행에 값이 차례로 들어간다 - 전달되는 리스트의 개수는 열의 개수와 동일해야 한다 ① 값의 추가 df = pd.DataFrame([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]], index=list('xyz'), columns=list('ABCDE')) df.loc['v'] = 30 print(df) ② 리스트의 추가 df.loc['w'] = [16, 17, 18, 19, 20] pri..

Python/Syntax
[Pandas] DataFrame - 1 (자료형, 생성, 행/열 이름변경, 행/열 삭제)

1. DataFrame? - 행과 열로 만들어지는 2차원 배열 구조의 자료형 - 행을 index, 열을 columns, 값을 values로 갖는다 df = pd.DataFrame([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]], index=list('xyz'), columns=list('ABCDE')) print('index: ', df.index) print('columns: ', df.columns, end='\n\n') print('values: ', df.values, end='\n\n') print('dtypes: ', df.dtypes) 2. DataFrame의 생성 1) Dictionary를 인자로 받는 경우 - Dictionary의 k..

Python/Syntax
[Python] Pickle

1. Pickle? - 객체를 저장할 때 사용할 수 있는 라이브러리 - 객체를 직렬화(Serialize)하고 역직렬화(Deserialize)할 수 있게 해준다 - 직렬화: 객체의 데이터를 바이트로 바꾸어 저장 - 역직렬화: 바이트로 저장된 데이터를 다시 원래의 객체로 복원 - 객체는 문자열처럼 일반 텍스트로 저장할 수 없기 때문에 바이너리로 바꾸어 저장해야 한다 - 바이너리로 저장된 파일은 읽을 수 없지만 저장, 전송에 효율적임 - 바이너리로 저장된 파일은 txt가 아닌 bin형식으로 저장 2. Pickle의 사용법 - pickle.dump(객체, "파일이름") 를 이용해 객체를 직렬화 - pickle.load("파일이름") 를 이용해 객체를 역직렬화 3. Pickle을 이용한 객체 저장 1) List ..

Python/Syntax
read_excel로 xlsx 파일 열기

pandas 라이브러리의 read_excel을 이용해 xlsx파일을 읽으려하면 지원하지 않는다며 오류가 발생한다. df = pd.read_excel('data/회원정보.xlsx', sheet_name='Sheet1') print(df) xlrd는 파이썬에서 엑셀 파일을 불러올 수 있도록 도와주는 라이브러리인데 xlrd2부터 xls파일 이외의 파일은 지원하지 않는다고 한다. pandas는 엑셀파일을 읽을 때 기존과 동일하게 xlrd를 기본엔진으로 사용하고 있어 지원하지 않는다고 뜨는 것이다. engine을 xlrd이외의 라이브러리로 변경해주면 정상적으로 xlsx파일을 읽을 수 있다. df = pd.read_excel('data/회원정보.xlsx', sheet_name='Sheet1', engine='ope..

Python/Syntax
[Python] sys.stdin.readline

sys 모듈의 stdin.readline을 사용하면 input과 동일하게 값을 입력받을 수 있다 1. sys.stdin.readline과 input의 차이점? - 두 함수 모두 값을 입력받는 것은 동일 - input을 이용하면 여러 줄의 입력을 받을 때 시간 초과가 발생할 수 있다 - sys.stdin.readline은 한 줄씩 입력을 받으므로 개행 문자를 포함해 입력받는다 * 빠른 입력을 요구하는 백준 15552번 문제 1) input 사용 for _ in range(int(input())): x, y = map(int, input().split()) print(x+y) 2) sys.stdin.readline 사용 import sys for _ in range(int(input())): x, y = m..

Python/Syntax
[Python] List의 요소 삭제하기 (pop, remove, clear, del)

리스트에서는 메소드(pop, remove, clear)를 사용하거나, del 키워드를 사용해 요소를 삭제할 수 있다. 1. pop - pop은 index를 입력받아 리스트에서 해당 index에 존재하는 값을 삭제한다 - index를 입력하지 않는 경우 리스트의 마지막 요소가 삭제된다 ->stack에서 유용하게 사용가능 - 입력받은 인자에 해당하는 index가 존재하지 않는 경우 IndexError가 발생한다 - 리스트의 index는 0부터 시작한다 lst = [10, 20, 30, 40, 50] lst.pop(3) print(*lst) 3번 인덱스에 해당하는 40이 삭제된다 2. remove - remove는 값을 입력받아 리스트에 값이 존재할 경우 값을 삭제한다 - 값이 존재하지 않는 경우 ValueE..

Python/Syntax
[Python] 접근 제어자 (Access Modifier)

1. 접근 제어자란? - 접근 제어자는 클래스와 클래스 멤버를 선언을 할 때 사용하는 제어자로 정보 은닉을 구현하기 위해 사용된다 - 정보 은닉을 이용하면 사용자는 내부의 구현은 신경 쓰지 않고 주어진 최소한의 정보(인터페이스)만을 이용해 프로그램을 사용할 수 있다 - 접근 제어자의 종류는 public, protected, private 가 있다 - python에서는 다른 객체지향 언어와 달리 실제로 접근을 막지 않는다 - python에서는 멤버 이름 앞에 언더바('_')를 이용해 접근 제어자 기능을 수행한다 private > 2개의 언더바 사용(__) protected > 1개의 언더바 사용(_) public > 언더바 사용 x 2. 접근 제어자의 종류 1) private private member는 ..