[Python] 13.외부 클래스 사용하기
- Develop/Python
- 2020. 12. 30.
□ 외부 클래스 사용하기
파이선에도 여러가지 유용한 클래스를 제공합니다. 수학, 스트링, 랜덤수, 시간등등 여러가지 외부에서 임포트해서 유용하게 사용할 수 있는 여러 클래스를 제공합니다. 이 클래스에 대해 사용하는 방법을 알아봅니다.
■ 파이선 외부 클래스 종류
requests : http 요청/응답 모듈
numpy : 수치해석모듈
pandas : 데이터 분석 모듈
math : 수학관련 모듈
■ 외부 클래스 import 방법
사용법은 자바와 비슷하게 import문법으로 사용합니다.
▶︎ 사용방법
import class명.
■ string 클래스
string 클래스중 특수문자를 가지고 있는 punctuation메소드에 대해 알아봅니다.
string 클래스 지원 메소드들 : https://docs.python.org/ko/3/library/string.html
▶︎ 사용방법
import string
string.punctuation
▶︎ 예제 코드
코드 :
import string
def find_words(text):
text = text.replace("\n", " ")
# string.punctuation이 가지고 있는 특수 문자들을 모두 가져옵니다.
for char in string.punctuation:
# 특수문자들은 모두 "특수문자"라는 글로 교체합니다.
# print("특수문자 : ", char)
text = text.replace(char,"특수문자")
words = text.split(" ")
return words
sp_text = "파이선 @ 입문을 $ 위한 % 기초 ^ 강의"
words = find_words(sp_text)
print(words)
결과 : split메소드 때문에 띄워쓰기 항목은 모두 잘려져 있습니다.
['파이선', '특수문자', '입문을', '특수문자', '위한', '특수문자', '기초', '특수문자', '강의']
참고 :
punctuation 안의 특수 문자들 : "!@#$%^&*()[]{}~\/:;|
■ random 클래스
사용방법에 따라 여러 숫자를 발생시킵니다.
▶︎ 사용방법
import random
random.method
▶︎ 예제 코드
코드 :
import random
# 0부터 1사이의 난수를 반환.
r = random.random()
print(r)
# a와 b사이의 정수를 반환.
a = 1
b = 10
r = random.randint(a,b)
print(r)
# L원소중 하나를 선택
L = ["1","2","3","4","5"]
r = random.choice(L)
print(r)
# 원하는 숫자만큼 원소 선택
r = random.sample(["원빈","현석","정해","미석"], 3)
print(r)
# 범위안의 숫자 난수 발생.
r = random.randint(1, 20)
print(r)
결과 :
0.709917184129056
6
1
['현석', '미석', '원빈']
3
■ random 클래스(고정값)
난수를 고정으로 하는 방법입니다. 특정 이유로 고정값을 나오게 할 필요가 있을때 주로 사용됩니다.
▶︎ 사용방법
random.seed
random.randint
▶︎ 예제 코드
코드 :
import random
print ("Random number with seed 30")
random.seed(30)
print ("first Number ", random.randint(25,50))
random.seed(30)
print ("Second Number ", random.randint(25,50))
random.seed(30)
print ("Third Number ", random.randint(25,50))
결과 :
Random number with seed 30
first Number 42
Second Number 42
Third Number 42
■ math 클래스
수학관련 메소드를 모아둔 클래스입니다.
▶︎ 예제 코드
코드 :
import math
# 입력 숫자를 라디안으로 변환
print(math.radians(10))
# 사인값으로 변환.
print(math.sin(10))
# 코사인 값으로 변환.
print(math.cos(10))
결과 :
0.17453292519943295
-0.5440211108893699
-0.8390715290764524
■ time 클래스
시간과 관련된 메소드를 모아둔 클래스입니다.
▶︎ 예제 코드
코드 :
import time
# 클럭의 현재 시간을 나노초(ns) 단위로 가져옴.
print(time.perf_counter())
결과 :
6530.085492916
■ 스크립트 매개변수 대입
파이선 스크립트를 실행할 때 스크립트 이름 뒤에 매개변수를 주어 실행할 수 있습니다. 사용방법에 대해 알아봅니다.
▶︎ 사용방법
파이선 명령어를 입력하고 스크립트명을 입력합니다. 그리고 뒤에 매개변수를 필요한만큼 입력합니다.
python script_name.py arg1 arg2 arg3 ....
script_name.py : 매개변수 0에 해당합니다.
arg1 : 매개변수 1에 해당합니다.
arg2 : 매겨변수 2에 해당합니다.
arg3 : 매겨변수 3에 해당합니다.
....
▶︎ 예제 코드
코드 :
# sys를 import합니다.
import sys
# 매개변수를 받습니다. 입력된 매개변수들에 대해 차례대로 출력합니다.
args = sys.argv[1:]
for i in args:
print(i)
결과 :
python arg_test.py arg1 arg2 arg3
arg1
arg2
arg3
참고 :
args = sys.argv[1:]에서 argv[0:]으로 바꾸면 스크립트 이름부터 출력됩니다.
arg_test.py
arg1
arg2
arg3
■ 파이선 다른 회차
[Python] Intro : Very Quick Python : https://myinfrabox.tistory.com/169
[Python] Intro : Very Quick Python
개인적으로 공부하면서 정리해 놓은 파이선 자료를 업로드합니다. 여기의 내용은 문법에 대한 자세한 설명은 생략합니다. 개발 경험이 있는 분들에게 굳이 문법에 대한 자세한 설명은 필요없으
myinfrabox.tistory.com
[Python] 01.Python 준비 : https://myinfrabox.tistory.com/170
[Python] 01.Python 준비
파이선을 처음 접할때 콘솔로 프로그래밍하기 보다는 편리한 IDE툴을 이용해서 접해보기를 권합니다. 보통 프로그래밍을 처음 배울때 날(raw)코딩으로 처음 접하기를 권하고 저또한 마찬가지이
myinfrabox.tistory.com
[Python] 02.Python 스크립트 작성 방법 : https://myinfrabox.tistory.com/171
[Python] 02.Python 스크립트 작성 방법
리눅스, 유닉스에서 파이선을 실행시 맨위에 스크립트 종류를 선언합니다. 물론 선언하지 않고도 수행은 가능합니다. 그러나 리눅스, 유닉스에서 실행되는 대부분의 스크립트는 맨위에 특정 스
myinfrabox.tistory.com
[Python] 03.변수 선언 및 할당 : https://myinfrabox.tistory.com/172
[Python] 03.변수 선언 및 할당
1. 변수 할당 파이선에서 변수할당은 다른 스크립트 언어(php, shell script)처럼 특정 스트링을 입력 후 값을 할당합니다. 좌측은 변수명, 우측은 값을 입력합니다. 또한 변수명은 숫자로 시작할 수
myinfrabox.tistory.com
[Python] 04.문자열 처리 : https://myinfrabox.tistory.com/173
[Python] 04.문자열 처리
■ 문자열 인덱스 스트링으로 값을 받을때는 자동으로 인덱스 처리가 됩니다. 스트링 인덱스는 0부터 시작되며 끝에서 읽어올 시 -1부터 시작합니다. ▶︎ 사용방법 변수명[1] : 특정 인덱스에 값
myinfrabox.tistory.com
[Python] 05.조건문 : https://myinfrabox.tistory.com/174
[Python] 05.조건문
■ 조건문이 참 혹은 거짓일경우. 조건문의 True, False에 따라 그에 맞는 분기를 실행합니다. ▶︎ 사용방법 if 조건문: ▶︎ 예제 코드 코드 : num_a = 2 if num_a > 0: print("num_a가 0보다 큽니다") else: pr..
myinfrabox.tistory.com
[Python] 06.반복문 : https://myinfrabox.tistory.com/175
[Python] 06.반복문
■ for문 시퀀스의 모든 요소가 처음부터 마지막 수행될때까지 계속 반복힙ㄴ;디/ ▶︎ 사용방법 for <루프변수> in <튜플, 리스트등의 시퀀스>: ▶︎ 예제 코드 • 예제 1 : 시퀀스의 부분을 순서대
myinfrabox.tistory.com
[Python] 07.튜플(Tuple) : https://myinfrabox.tistory.com/176
[Python] 07.튜플(Tuple)
■ 튜플 뒤에서 배울 리스트와 비슷합니다. 데이터를 열거하는 식으로 만듭니다. ()안에 데이터를 열거합니다. 튜플의 특징은 tuple = (1,)처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를
myinfrabox.tistory.com
[Python] 08.리스트(List) : https://myinfrabox.tistory.com/177
[Python] 08.리스트(List)
■ 리스트 선언 리스트를 선언하는 방법입니다. ▶︎ 사용방법 기본적으로 []를 사용해서 선언합니다. ["리스트요소","리스트요소","리스트요소","리스트요소"] ▶︎ 예제 코드 strlist = ["TV","냉장
myinfrabox.tistory.com
[Python] 09.사전(Dictionary) : https://myinfrabox.tistory.com/178
[Python] 09.사전(Dictionary)
■ 사전 선언 방법 - 1 컬렉션중 사전을 만드는 방법입니다. 사전은 키:값 방식의 선언 방법입니다. {}(중괄호)문으로 시작합니다. 그리고 key:value방식으로 항목을 만듭니다. ▶︎ 사용방법 사전명
myinfrabox.tistory.com
[Pytho] 10.set : https://myinfrabox.tistory.com/179
[Pytho] 10.set
□ set이란? 키만 활용하는 데이터 구조로 이해합니다. 수학에서 집합과 동일한 개념입니다. ■ set 선언 방법 set을 선언하는 방법입니다. ▶︎ 사용방법 set변수 = {항목1, 항목2, ....} ▶︎ 예제 코
myinfrabox.tistory.com
[Python] 11.함수(Function) : https://myinfrabox.tistory.com/180
[Python] 11.함수(Function)
□ 사전 습득 지식 : 독 스트링(주석 묶기) 함수에는 보통 함수 명세서라 부르는 주석이 있습니다. 이곳에는 함수의 사용방법, 파라미터등을 설명합니다. 의무는 아니지만 팀으로 개발하는 소스
myinfrabox.tistory.com
[Python] 12.클래스(Class) : https://myinfrabox.tistory.com/181
[Python] 12.클래스(Class)
□ 클래스 파이선을 이용하여 클래스를 만들 수 있습니다. 다른 객체지향 언어와 거의 비슷합니다. 클래스를 만들고 객체로 선언하여 사용합니다. 그리고 객체의 메소드를 호출해서 사용합니다
myinfrabox.tistory.com
[Python] 14.파일처리 : https://myinfrabox.tistory.com/183
[Python] 14.파일처리
□ 파일처리 파일을 생성, 수정, 읽기를 하는 방법을 알아봅니다. ■ 파일 생성. 신규 파일을 생성합니다. 만약 기존 파일이 있을시 덮어씁니다. 파일을 생성하고 그 파일안에 내용을 작성할 수
myinfrabox.tistory.com
[Python] 15.MySQL Database : https://myinfrabox.tistory.com/184
[Python] 15.MySQL Database
□ MySQL데이터베이스 사용방법 MySQL 데이터베이스에 대해 사용방법을 알아봅니다. DB생성, 테이블 생성-삭제, DML문법을 알아봅니다. ■ 데이터 베이스 사용을 위한 환경설정. 파이선에서 MySQL데이
myinfrabox.tistory.com
'Develop > Python' 카테고리의 다른 글
[Python] 15.MySQL Database (0) | 2020.12.30 |
---|---|
[Python] 14.파일처리 (0) | 2020.12.30 |
[Python] 12.클래스(Class) (0) | 2020.12.30 |
[Python] 11.함수(Function) (0) | 2020.12.30 |
[Pytho] 10.set (0) | 2020.12.30 |