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

Python/Syntax 47

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는 ..

Python/Syntax
[Python] 한 줄에 두 개의 정수 입력 받기 (input, map)

C나 C++에서는 변수형을 미리 알려주고 'scanf' 함수나 '>>' 연산자를 사용해 연속해서 변수를 입력받을 수 있다. 하지만 파이썬의 경우는 input으로 값을 입력받으면 str타입으로 입력 받게 되고 따로 정수로 형변환을 시켜주어야 한다. x, y = input('두 개의 값을 입력: ').split() print(type(x), type(y)) print(x+y) x와 y를 입력받고 둘을 더하고 싶다면, 각 변수를 정수형으로 변환시킨 후 더해주어야 한다. x, y = input('두 개의 값을 입력: ').split() x = int(x) y = int(y) print(x+y) 이 때, map함수를 사용하면 x와 y를 정수형으로 바꿔주는 과정을 줄여줄 수 있다. 함수 하나와 리스트 하나를 입력받..

Python/Syntax
[Python] split

split은 string의 함수로 주어진 문자를 기준으로 string을 나누어 리스트를 반환한다 default는 'white space'로 아무것도 주어지지 않으면 띄어쓰기를 기준으로 나눈다 기준 문자는 리스트에 포함되지 않는다 test ='''This is a test text''' print(test.split()) * 1을 인자로 받은 경우 test ='''This1is1a1test1text''' print(test.split('1')) * split을 이용하면 한 번에 여러 문자를 입력받아 초기화 시킬 수 있다 x, y = input('두 개의 문자를 입력하세요: ').split() print(x) print(y) 여러 개의 변수를 초기화하는 방법 이외에도 split을 이용하면 웹문서를 파싱할 때..

Python/Syntax
[Python] 가상환경 설정

최근 아나콘다, VS Code, IDLE 개발환경을 이것저것 사용하다 보니 라이브러리 경로 설정도 헷갈려 이리저리 헤매게 되고, 버전 관리의 필요성을 느끼게 되었다. 원래는 따로 가상 환경을 설정해서 사용하지 않았지만 지금부터라도 별도의 가상 환경을 설정해보려 한다. 1. 가상환경 설정 먼저 터미널에 들어가서 가상 환경을 만들 폴더로 이동한다 다음으로 파이썬 가상환경 생성 명령어를 이용해 가상 환경을 만든다 python -m venv python_virtual_env python_virtual_env는 자기가 설정할 가상환경의 이름으로 바꾸어 적어주면 된다 python2.0이 깔려 있는 경우 명시적으로 python3을 적어주어야 한다 python3 -m venv python_virtual_env 폴더를 ..

Python/Syntax
정규표현식(Regular Expression, regex)

1. 정규표현식이란? - 정규표현식은 특정한 조건의 문자를 검색하거나 치환하는 과정을 간단하게 할 수 있도록 도와준다. 처음 보면 익숙하지 않은 문법에 당황할 수 있고, 직접 정규표현식을 작성하더라도 나중에 다시 보면 내가 짠 정규표현식을 이해하기 어려울 때도 있다... 하지만 문자열 처리를 할 때는 없어서는 안 되는 꼭 필요한 형식 언어이다:) - 웹 프로그래밍을 할 때, url을 동적으로 지정할 때도 사용되며 웹 크롤링에서 파싱할 때도 항상 사용된다. 문자열이 많이 사용되는 웹 프로그래밍 관련 부분에서는 정규표현식이 없으면 문자열 처리가 매우 복잡해지므로 필수적으로 사용된다 - 대문자와 소문자를 구분하며 뛰어 쓰기를 구분한다 2. 메타 문자 - 정규표현식에서 특수한 의미를 갖는 특수문자를 메타 문자라..