파이썬 파트8. 모듈

|

파이썬 파트8. 모듈

try hello world 파이썬 입문 강의

모듈 사용하기

모듈

  • 내가 직접 코드를 만들지 않아도, 아주 많은 유용한 일을 할 수 있도록
    미리 만들어진 코드 를 가져와 쓰는 방법
  • import 모듈이름
  • 사용방법 : 모듈이름.모듈안의 구성요소
math.pi # 변수 예시
random.choice() # 함수 예시

모듈의 예

  • import math : 수학과 관련된 기능
  • import ramdom : 무작위와 관련된 기능
  • import urllib.request : 인터넷의 내용을 가져오는 기능
>>> import math
>>> math.floor(1.5) #내림
1
>>> math.pi
3.141592653589793 #파이

>>> import random
>>> random.choice(['가위', '바위', '보'])
'바위'
>>> random.choice(['가위', '바위', '보'])
'가위'

모듈 만들기

my_module.py 모듈 작성

def randome_rsp():
    # 무작위로 가위바위보를 낸다
    import random
    return random.choice(['가위', '바위', '보'])

my_module.py 모듈 호출

  • 주의할 점은 사용자가 만든 모듈과 모듈을 쓸 파일이 같은 폴더에 있어야 한다.
import my_module # my_module.py 내용을 모듈로 호출

print(my_module.randome_rsp())
# my_module.py 파일 안의 randome_rsp 함수 사용

파이썬 파트7. for in 반복문, range, enumerate

|

파이썬 파트7. for in 반복문, range, enumerate

try hello world 파이썬 입문 강의

for in list

  • 코드를 필요한만큼 반복해서 실행
list = ['일', '이', '삼', '사', '오']
for v in list:
  print(v)
'''
결과값 :
일
이
삼
사
오
'''
  • 리스트 patterns의 값을 하나씩 꺼내 pattern으로 전달
  • 리스트의 길이만큼 print (pattern) 실행

자바스크립트 for in 과의 차이점

for(v in list){
	console.log(v);
}
/*
결과값 :
0
1
2
3
4
*/

for in range

range 함수

  • 필요한 만큼의 숫자를 만들어내는 유용한 기능
  • range([start,] stop [,step])는 for문과 함께 자주 사용되는 함수이다. 이 함수는 입력받은 숫자에 해당되는 범위의 값을 반복 가능한 객체로 만들어 리턴한다.
#인수 1개 - 시작 숫자를 지정해 주지 않으면 range 함수는 0부터 시작한다.

>>> list(range(5))
[0, 1, 2, 3, 4]

# 인수 2개 - 입력으로 주어지는 2개의 인수는 시작 숫자와 끝 숫자를 나타낸다.
# 단, 끝 숫자는 해당 범위에 포함되지 않는다는 것에 주의하자.
>>> list(range(5, 10))
[5, 6, 7, 8, 9]

# 인수 3개 - 세 번째 인수는 숫자 사이의 거리를 말한다.
>>> range(1, 10, 3)
[1, 4, 7]
>>> range(20, 10, -2)
[20, 18, 16, 14, 12]

for i in range(5):
  print(i)
  • for in list : 순회할 리스트가 정해져 있을 때 사용
  • for in range : 순회할 횟수가 정해져 있을 때 사용

len 함수

  • len(s)은 입력값 s의 길이(요소의 전체 개수)를 리턴하는 함수이다.
>>> len("python")
6
>>> len([1,2,3])
3
>>> len((1, 'a'))
2
rainbow=["빨","주","노","초","파","남","보"]
for i in range(len(rainbow)):
	color = rainbow[i]
	print('{}번째 색은 {}'.format(i+1,color))

enumerate 함수

  • 리스트가 있는 경우 순서와 리스트의 값을 전달하는 기능
  • enumerate는 “열거하다”라는 뜻이다. 이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴한다.
  • 보통 enumerate 함수는 아래 예제처럼 for문과 함께 자주 사용된다.
>>> for i, name in enumerate(['body', 'foo', 'bar']):
...     print(i, name)
...
0 body
1 foo
2 bar

for문처럼 반복되는 구간에서 객체가 현재 어느 위치에 있는지 알려주는 인덱스 값이 필요할때 enumerate 함수를 사용하면 매우 유용하다.

names = ['철수', '영희', '영수']
for i, name in enumerate(names):
  print('{}번: {}'.format(i + 1, name))

파이썬 파트6. 리스트

|

파이썬 파트6. 리스트

try hello world 파이썬 입문 강의

리스트

  • 여러개의 값을 담을 수 있는 변수
    list1 = [1,2,3,4,5]
    
  • 값 읽어오기
    • 리스트를 사용할때는 0번째가 첫번째
    • 첫번째 값 list1[0]
    • 두번째 값 list1[1]
    • 뒤에서 첫번째 값 list1[-1]
    • 뒤에서 두번째 값 list1[-2]
    • 리스트에 들어있는 값 보다 큰 값을 읽어오려고 하면 에러
      • 예. 위의 list1에서 list1[5] 또는 list1[-6]은 에러
  • 값 쓰기
    • 변수와 같이 list1[0]=10이라고 하면 list의 첫번째 값이 10으로 변경

리스트 수정

리스트에 새로운 값을 추가하는 방법

  • list = [1, 2, 3] 이라고 할 때
  • .append() 를 이용
    • list1.append(4)
    • append를 이용하면 리스트에 새로운 값이 뒤에 추가
    • 자바스크립트의 .push() 메소드와 유사한 기능
  • 뒤에 새로운 리스트를 더하기
    • list2=list1+[4]
    • list1은 그대로 두고 새로운 리스트를 만들어 낸다.

리스트에 해당 값이 들어있는지 확인하는 방법

  • 자바스크립트의 Array.includes(), indexOf() 메소드와 유사한 기능
  • in 연산을 이용
#12라는 값이 리스트에 들어있는지 확인하는 코드
n=12
if n in list1: # Boolean 값 반환
    print('{}가 리스트에 있다.'.format(n))
  • 리스트에서 필요 없는 값을 지우는 방법
    • del을 이용해서 특정 위치의 값을 지우기
      • del list1[10] 리스트의 10번째 값을 지워라
      • del(list1[10])
    • remove를 이용해서 특정 값을 지우기
      • list1.remove(40)을 하면 리스트에 40이라는 값이 있는경우 삭제
      • 여러개의 값이 있는 경우 가장 앞에 있는 하나만 지워짐
list = [1, 5, 10, 15, 20, 10]
del(list[1]) # [1, 10, 15, 20, 10, 30]
del list[0] # [10, 15, 20, 10, 30]

list.remove(15) # [10, 20, 10, 30]
list.remove(10) # [20, 10, 30] 가장 앞의 10 하나만 삭제

파이썬 파트5. 자료형

|

파이썬 파트5. 자료형

try hello world 파이썬 입문 강의

문자열.format()

  • 문자열의 대괄호 자리에 format 뒤의 괄호안에 들어있는 값을 하나씩 넣는다.
  • 문자열에 포함된 대괄호 개수 보다 format안에 들어 있는 값의 수가 많으면 정상 동작
    • print(‘{} 번 손님’.format(number,greeting)) -문자열에 포함된 대괄호 개수 보다 format안에 들어 있는 값의 수가 적으면 에러
    • print(‘{} 번 손님 {}’.format(number))

예시

number = 20
welcome = '환영합니다'
base = '{} 번 손님 {}'

#아래 3개의 print는 같은 값을 출력
print(number,'번 손님',welcome)
print(base.format(number,welcome))
print('{} 번 손님 {}'.format(number,welcome))
#=>20 번 손님 환영합니다

문자열

’ 또는 “로 문자열 만들기

  • ’ 또는 “로 글의 양쪽을 감싸면 문자열로 인식
  • ‘로 감싼 문자열 안에는 “를 쓸 수 있다.
  • “로 감싼 문자열 안에는 ‘를 쓸 수 있다.
string1 = '따옴표로 싼 문자열 안에는 큰따옴표(")를 사용할 수 있다.'
string2 = "큰따옴표로 싼 문자열 안에는 따옴표(')를 사용할 수 있다."

따옴표/큰따옴표 3개로 문자열 만들기

  • 줄 바꿈도 인식 가능
  • 따옴표와 큰따옴표를 섞어 쓸 수 있다.
    string3="""줄도 바꾸고
    큰따옴표"와 따옴표'를 마음대로 쓸 수 있음"""
    

정수와 실수

정수

  • 영어로 integer, 줄여서 파이썬에서는 int라고 표현
  • 정수끼리 더하거나 곱하거나 빼면 정수
  • 정수끼리 나누면 실수가 나올 수 있으나, 나눗샘의 몫만을 구하려면 //연산자를 이용
    a = 5//3 #계산결과 a=1
    
  • 실수를 정수로 바꾸려면 int를 이용
    • a=int(5.4)라고 하면 a는 5를 값으로 가지게 된다.

실수

  • 영어로 floating point, 줄여서 파이썬에서는 float이라고 표현
  • 부동소수점이라는 표현법을 이용해 소숫점을 표시할 수 있는 숫자
  • 어느정도의 계산 정확도는 가지지만, 계산에 있어서 완벽한 정확성은 가지지 않는다.
0.1+0.1+0.1 == 0.3 #FALSE
정수를 실수로 바꾸려면 float를 사용
  • 정수를 실수로 바꾸려면 float를 사용
    • a=float(5)라고 하면 a는 5.0을 값으로 가지게 된다.

input()

  • 자바스크립트의 prompt()와 유사한 기능

    프로그래밍의 3단계

  • 사용자 입력
  • 자료 처리
  • 결과 출력

    input()

  • 사용자의 키보드 입력을 return
    print('가위 바위 보 중 하나를 내주세요> ', end = ' ')
    mine = input()
    print('mine:', mine)
    
  • 간단한 print기능을 내장
    mine = input('가위 바위 보 중 하나를 내주세요> ')
    print('mine:', mine)
    
  • Ctrl + c : 프로그램 즉시 종료

파이썬 파트4. 함수

|

파이썬 파트4. 함수

try hello world 파이썬 입문 강의

함수

  • 함수는 코드의 덩어리에 이름을 붙인 것이다.
  • 새 함수를 정의할 수 있다.
  • print는 미리 만들어진 함수이다.
  • 함수를 한번 만들고 나면, 그 안은 잊어버려도 좋다.

문법

def function():       # 함수의 정의
       print('안녕, 함수!')

 print('첫줄 실행')
 function()          # 함수의 호출
 print('끝줄 실행')

매개변수와 실행인자

매개변수

  • 함수를 정의할 때 사용하는 이름

    실행인자

  • 함수를 실행할 때 넘기는 변수, 값

    매개변수와 실행인자

  • 매개변수와 실행 인자의 개수는 동일해야 한다.
  • 여러 개일 경우 쉼표로 구분
# 함수의 정의
def print_round(number):   
    rounded = round(number) # 반올림 함수 round()
    print(rounded)  

# 함수의 호출
print_round(4.6) # 5
print_round(2.2) # 2

함수 - return

  • return을 이용해 값을 돌려줄 수있다.
def add_10(value):
    result = value + 10
    return result

n = add_10(5)
print(n)
  • 여러 값 반환
    • return 뒤에 여러 값을 쉼표로 구분해서 값을 보내고, 받을때도 쉼표로 구분하여 받는다.
def add(a, b):
    plus = a + b
    multiply = a * b
    return plus, multiply

r1, r2 = add (2, 3)
print(r1) # 5
print(r2) # 6