티스토리 뷰
#. 리스트 생성
R에서 vector라고 불렀다면.. Python에서는 list라고 불러다오..
# 대괄호로 리스트 생성
>>> l1 = [1,2,3]
>>> l1
[1, 2, 3]
# 리스트는 중첩으로 생성 가능 -> R에서는 벡터 안에 벡터 생성이란 불가능했지만, 파이썬에서는 가능하다는 것!
>>> l1 = [1,2,[3,4]]
>>> l1
[1, 2, [3, 4]]
#. 리스트 색인
>>> l1
[1, 2, 3]
# 파이썬의 색인은 0부터 시작
>>> l1[1]
2
# list[n:m] : n ~ m-1 까지 추출
>>> l1[0:2]
[1, 2]
# 1차원 색인 시, 차원의 숙소가 일어나 리스트가 아닌 벡터로 출력
>>> l1[0]
1
#. 리스트 원소 추가
>>> l1 = [1,2,3]
>>> l1.append(4) # 원본이 바로 갱신
>>> l1
[1, 2, 3, 4]
>>> l1 = []
>>> l1.append('a')
>>> l1.append('b')
>>> l1.append('c')
>>> l1
['a', 'b', 'c']
#. 출력 (print)
# "return format" % (원본 데이터)
# 포멧의 종류 : %d(정수), %s(문자열), %f(실수)
>>> a1 = 100
>>> print("%.2f" % a1)
100.00
>>> print("%5d" % a1)
100
>>> print("%005d" % a1)
00100
>>> print("%d %d" % (2,3))
2 3
>>> print("%d + %d = %d" % (2,3,2+3))
2 + 3 = 5
# format 형식으로 출력 시, 출력되는 데이터의 순서 조정 가능
>>> print("{0:02d} {1:d}" .format(2,3))
02 3
>>> print("{1:d} {0:02d}" .format(2,3))
3 02
# print() 함수의 다양한 출력
>>> print('Enter는 \n기호를 사용')
Enter는
기호를 사용
>>> print('Tab은 \t 기호를 사용')
Tab은 기호를 사용
>>> print('\\를 출력하고 싶다면 \\ 를 사용')
\를 출력하고 싶다면 \ 를 사용
>>> print('\"를 출력하고 싶다면 \" 를 사용')
"를 출력하고 싶다면 " 를 사용
>>> print('\*를 출력하고 싶다면 \* 를 사용')
\*를 출력하고 싶다면 \* 를 사용
#. 입력 (input)
>>> a = input('아무 키 입력 : ')
아무 키 입력 : hi
>>> a
'hi'
>>> b = input('아무 키 입력 : ')
아무 키 입력 : 123
>>> b
'123' # input 메서드는 무조건 문자로 값을 저장
#. 연산
# 파이썬에서는 원소별, 벡터 연산이 불가합니다. -> 적용함수로 연산
# +, -, *, / 는 동일
>>> 20 // 3 # 나눗셈 결과의 몫(//)
6
>>> 20 % 3 # 나눗셈 결과의 나머지(%)
2
#. 모듈 사용(메서드)
R에서 package라고 불렀다면.. Python에서는module이라고 불러다오..
모듈은 R에서의 package처럼, 여러 함수와 메서드의 집합을 의미합니다.
# 함수(function) : f(x) 형태로 함수 안에 인자를 전달 -> func(data)
# 메서드(method) : x.f() 형태로 적용 대상을 앞에 먼저 호출 -> data.method(인자..)
# function in R : replace('a-b-c', '-', '')
# method in Python : 'a-b-c'.replace('-','')
>>> 'a-b-c'.replace('-','')
'abc'
>>> '1,000'.replace(',','')
'1000'
# 모듈 불러오기 : (R) library -> (Python) import
>>> import math
>>> import math as ma # 모듈의 alias 설정
파이썬에서 모듈 사용 시 모듈명도 같이 작성해주어야 합니다.
. (온점)은 해당 모듈의 메소드 호출을 위한 특수 기호이므로 변수 혹은 함수 이름에 .(온점)을 사용하면 안 됩니다 !
# .(온점)은 하위 함수, 하위 메서드, 하위 모듈을 호출하기 위한 기호
>>> math.pi
3.141592653589793
>>> round(1.27643,2) # 반올림 함수(round)
1.28
>>> abs(-10) # 절대값 함수(abs)
10
>>> math.trunc(1.27643) # 버림 함수(trunc)
1
>>> math.factorial(3) # 펙토리얼 함수(factorial)
6
>>> 3 ** 3 # 제곱 (R에서는 ^ 이었다면 Python은 **) -> 분석에서 자주 사용
27
>>> math.sqrt(25) # 제곱근(sqrt) -> 분석에서 자주 사용
5.0
>>> math.log(100,10) # log10의 100
2.0
>>> math.log10(100)
2.0
>>> math.log2(10)
3.3219..
# 모듈의 하위 함수 확인
>>> dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd' ...
#. 문자열 다루기
# Python은 문자열에서 ''(작은 따움표), ""(큰 따움표) 모두 사용 가능
>>> print('Hi')
Hi
>>> print("Hi")
Hi
# 여러 줄로 이루어진 문자열 작성 시 ''' 또는 """ 사용
>>> aaa = '''aabab
cccc
ddfdfdf'''
>>> aaa
'aabab\ncccc\nddfdfdf'
# 문자열 결합 '+' -> 중요 !! (함수가 아니므로 결합 시 구분기호는 사용 불가)
>>> year = '2019'
>>> mon = '01'
>>> day = '22'
>>> year + '/' + mon + '/' + day
'2019/01/22'
# 문자열 분리
>>> h = 'Hello'
>>> h[0:3]
'Hel'
# 문자열 색인
>>> h[4]
'o'
# 문자열 검색 (in)
>>> 'He' in h
True
# 문자열 길이 계산 (len)
>>> len(h)
5
#. 형 변환
# 숫자형으로 변환 (int)
>>> int('001')
1
# 실수형으로 변환 (float)
>>> float('1.234')
1.234
# 문자열로 변환 (str)
>>> str(1234)
'1234'
#. 변수 타입 확인
>>> l1 = [1,2,3]
>>> type(l1) # 변수 타입 확인
<class 'list'>
>>> a = 1
>>> type(a)
<class 'int'>
# 덧셈 프로그램 만들기(test1.py)
print('[[ Addition program ]]\n')
a = input('Input first number : ')
b = input('Input second number : ')
print(a+b) # input 메서드는 문자 형태로 값 저장
print(int(a)+int(b)) # 연산을 위해 형태 변환이 필요
print('%s + %s = %d' % (a, b, int(a)+int(b)))
# 결과
============= RESTART: D:/test1.py =============
[[ Addition program ]]
Input first number : 1000
Input second number : 500
1000500
1500
1000 + 500 = 1500
'Python > Process' 카테고리의 다른 글
[Python] 리스트 (list) (0) | 2019.01.25 |
---|---|
[Python] 반복문(for, where, 무한루프, break, continue, pass, next) (0) | 2019.01.25 |
[Python] 조건문(if, ifelse, elseif) (0) | 2019.01.24 |
[Python] 문자열 메서드(method) (0) | 2019.01.23 |
[Python] 사용자 정의 함수 및 적용 함수(def, lambda, map) (0) | 2019.01.23 |