본문 바로가기
정보처리이론

1-6. Python 의 기초와 라이브러리

by 공부합시다홍아 2020. 10. 17.

Python의 기본 문법

- 변수의 자료형에 대한 선언이 없다.
- 문장의 끝을 의미하는 세미콜론(;)을 사용할 필요가 없다.
- 변수에 연속하여 값을 저장하는 것이 가능하다.
- if나 for와 같이 코드 블록을 포함하는 명령문을 작성할 때 코드 블ㄹ록은 콜론(:)과 여백으로 구분
- 여백은 일반적으로 4칸 또는 한 개의 탭만큼 띄워야하며, 같은 수준의 코드들은 반드시 동일한 여백을 가져야 한다.



Python의 데이터 입/출력 함수

input() 함수

python의 표준 입력함수로, 키보드로 입력받아 변수에 저장하는 함수
입력되는 값은 문자열로 취급되어 저장

변수 = input(출력문자)

변수1, 변수2,,,,,변수n = input(출력문자).split(분리문자)

printf()함수
printf(출력값1, 출력값2, .... , sep = 분리문자, end = 종료문자)

printf(서식문자열 * % (출력값1, 출력값2, ....))

 

Python의 문자열

문자열은 작은 따옴표(' '), 큰따옴표(" "), 3개의 작은 따옴표(''' ''')로 표현 가능
3개의 따옴표를 사용하는 경우 문자열 내에서 작은 따옴표와 큰 따옴표를 자유롭게 문자로 사용할 수 있다.

제어문자를 사용할 수 있다.

문자열의 주요 메소드

형식 내용
upper() 대문자로 변경
lower() 소문자로 변경
capitalize() 문자열 첫 글자는 대문자, 나머지는 모두 소문자로 변경
title() 각 단어의 첫 글자만 대문자로 변경
replace(값1, 값2) 문자열에서 값1을 찾아 값2로 교체
split(값) 값을 기준으로 문자열을 분리하여 리스트로 반환
count(값) 문자열에서 값을 검색하여 값의 개수를 반환
find(값) 문자열에서 처음 검색되는 값의 위치를 반환
index(값) 문자열에서 처음 검색되는 값의 위치를 반환

 

리스트(List)

리스트는 필요에 따라 개수를 늘이거나 줄일 수 있기 때문에 리스트를 선언 할 때 크기를 적지 않는다.

배열과 달리 하나의 리스트에 정수, 실수, 문자열 등 다양한 자료형을 섞어서 저장 가능

1차원 리스트

리스트명 = [ 값1, 값2, ....]
리스트명 = list([값1, 값2,.....값n])



2차원 리스트

리스트명 = [ [값1, 값2, 값3 ], [값4, 값5, 값6] ]

리스트명 A = [값1, 값2, 값3]
리스트명 B = [값4, 값5, 값6]
리스트명 = [ 리스트A, 리스트B ]

리스트 관련 주요 메소드

형식 내용
pop(위치) 리스트의 '위치'에 있는 값을 출력하고 해당 요소를 삭제
index(값) 리스트에서 값이 저장된 요소의 위치를 반환
count(값) 리스트에서 값이 저장되어 있는 요소들의 개수를 반환
extend(리스트) 리스트의 끝에 새로운 리스트를 추가하여 확장
reverse() 리스트의 순서를 역순으로 뒤집는다
sort() 리스트를 정렬하며, 기본값은 오름차순이다.
reverse 속성을 이용하여 정렬 방식을 지정 가능
- True : 내림차순, False : 오름차순
[2,1,3].sort() -> [1,2,3]
[2,1,3].sort(reverse = True) -> [3,2,1]
copy() 리스트를 복사
a= [1,2,3]
b = a.copy()

 

Range
연속된 숫자를 생성하는 것으로, 리스트, 반복문 등에서 많이 사용된다. 

range(최종값)
range(초기값, 최종값)
range(초기값, 최종값, 증가값)

 

슬라이스(Slice)
문자열이나 리스트와 같은 순차형 객체에서 일부를 잘라(slicing) 반환하는 기능

객체명[초기위치 : 최종위치]
객체명[초기위치:최종위치:증가값]

슬라이스는 일부 인수를 생략하여 사용할 수 있다.

객체명[:]또는 객체명[::]
객체명[초기위치]
객체명[:최종위치]
객체명[::증가값]

라이브러리 

프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체
- 자주 사용하는 함수들의 반복적인 코드 작성을 피하기 위해 미리 만들어 놓은 것, 필요할 때는 언제든지 호출 가능
- 표준 라이브러리와 외부 라이브러리

표준 라이브러리  : 프로그래밍 언어에 기본적인 포함, 여러 종류의 모듈이나 패키지 형태
외부 라이브러리  : 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 것, 다운받아 설치

c언어의 대표적인 표준 라이브러리
c언어는 라이브러리를 헤더 파일로 제공하는데, 각 헤더 파일에는 응용 프로그램 개발에 필요한 함수 정의

헤더파일 기능
stdio.h 데이터의 입출력에 사용되는 기능들을 제공
주요함수 : printf, scanf, fprintf, fscanf, fclose, fopen등
math.h 수학 함수들을 제공
주요함수 : sqrt, pow, abs
string.h 문자열 처리에 사용되는 기능 제공
주요함수 : strlen, strcpy, strcmp 등
stdlib.h 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능 제공
주요함수 : atoi, atof, srand, rand, malloc, free등
time.h 시간 처리에 사용되는 기능들을 제공
주요함수 : time, clock 등

 

JAVA의 대표적인 표준 라이브러리

자바는 라이브러리를 패키지에 포함하여 제공
각 패키지에는 JAVA 응용프로그램 개발에 필요한 메소드들이 클래스로 정리

패키지 기능
java.lang Java에 기본적으로 필요한 인터페이스, 자료형, 예외처리 등에 관련된 기능 제공
import 문 없이도 사용
주요 클래스 : String, System, Process, Runtime, Math, Error 등
java.util 날짜 처리, 난수 발생, 복잡한 문자열 처리 등에 관련된 기능을 제공
주요 클래스 : Date, Calender, Random, StringTokenizer등
java.io 파일 입출력과 관련된 기능 및 프로토콜을 제공
주요 클래스 : inputStream, OutputStream, Reader, Writer 등
java.net 네트워크와 관련된 기능을 제공
주요 클래스 : Socket, URL, InetAddress 등
java.awt 사용자 인터페이스(UI)와 관련된 기능을 제공
주요 클래스 : Frame, Panel, Dialog, Button, Checkbox 등

 

Python의 대표적인 표준 라이브러리

java와 동일하게 라이브러리를 패키지로 제공, 패키지에는 응용프로그램 개발에 필요한 클래스와 메소드들이 정의

클래스 기능
내장 함수 Python에 기본적인 인터페이스, import문이나 클래스명 없이도 사용
주요 메소드 : abs(), slice(), pow() 등
os 운영체제와 상호 작용하기 위한 기능 제공
주요 메소드 : getcwd(), chdir(), system() 등
re 고급 문자열 처리를 위한 기능을 제공
주요 메소드 : findall(), sub() 등
math 복잡한 수학 연산을 위한 기능을 제공
주요 메소드 : cos(), log() 등
random 무작위 선택을 위한 기능을 제공
주요 메소드 : choice(), sample(), random(), randrange()등
statistics 통계값 산출을 위한 기능을 제공
주요 메소드 : mean(), median(), variance()등
datetime 날짜와 시간 조작을 위한 기능을 제공
주요 메소드 : today(), date(), strftime() 등
728x90