코드로 우주평화

김왼손의 왼손코딩 #함수, 모듈, 객체, 코딩 스타일, 구글링 방법 본문

나는 이렇게 학습한다/Language

김왼손의 왼손코딩 #함수, 모듈, 객체, 코딩 스타일, 구글링 방법

daco2020 2021. 7. 24. 23:18
반응형

 오늘 배운 것 

 

<함수>

함수란, 반복되는 코드를 묶어서 이름을 붙여놓은 것 (필요할 때 불어와 사용할 수 있게)

= 마술모자와 같다!

 

함수의 종류

1. 내장함수 

ex. print() , type()

 

2. 모듈의 함수

ex. 임포트하여 가져다 쓰는 함수

 

3. 사용자 정의 함수

ex. 내가 직접 만들어 쓰는 함수

 

함수 만드는 방법

def 함수이름(인자1, 인자2, ...)

     실행할 명령1 

     실행할 명령1

     return 결과

 

> def = define 의 약자 (정의하다) 

> 인자 = 매개변수 > 숫자나 리스트 등을 넣을 수 있다.

 

<함수를 사용하는 이유>

1. 재사용 가능 > 일단 만들어두면 언제든지 사용가능

2. 코드관리가 쉽다 > 반복되는 코드를 모아놓았으므로

3. 조립해서 사용하기 유용하다 > 함수는 하나의 블럭이다

# ex. daco 라는 함수는 입력된 토마토와 바나나를 곱해준다
# 여기서 5와 3 이 인자(=매개변수) 이다

>>> def daco(tomato, banana):
	return tomato * banana

>>> daco(5,3)
15

 

<여러개 돌려주기>

리턴 값에 , 을 넣으면 여러 값을 출력할 수 있다.

단, 함수는 결과값을 하나로 패킹하여 하나의 튜플로 출력한다. 

ex. (672, 0.21428571428571427, -44)

>>> 
>>> def daco(tomato, banana):
	return tomato * banana , tomato / banana , tomato - banana

>>> daco(12, 56)
(672, 0.21428571428571427, -44)
>>> 

# 소괄호는 튜플을 의미한다. 
# 소괄호가 있따는 것은 함수가 여러개의 결과값을 하나의 패킹으로 묶어 출력한 것이다

 

<모듈 Module>

비슷한 함수들을 모은 파일

파이썬은 이미 만들어진 모듈이 많아서 날개달린듯 사용할 수 있다! (배터리 포함)

있는 바퀴를 만들지 마라! 전문가가 만든 바퀴를 사용하라

 

<랜덤>

모듈 중에 하나

사용방법

import random > 랜덤 모듈 가져오기

 

ex. random.choice() > 랜덤으로 하나 출력하기

>>> import random
>>> sako = [1,2,3,4,5,6,7,8,9]
>>> 
>>> random.choice(sako)
4
>>> print(random.choice(sako))
5
>>> 
>>>

 

ex. random.sample() > 랜덤으로 지정된 수 만큼 출력하기

>>> random.sample(sako,3)
[7, 3, 1]
>>> print(random.sample(sako,5))
[5, 4, 1, 9, 8]
>>>

 

ex. random.randint() > 지정된 수 안에서 랜덤하게 하나 출력

>>> random.randint(3,6)
3

>>> print(random.randint(50,99))
90

 

<객체, object>

객체는 현실의 물건처럼 컴퓨터 안에 재현한 것을 말한다

함수와 데이터를 한꺼번에 묶어서 만든 것을 의미한다

파이썬은 대부분이 객체이다

cf) 기타 > 가격, 색상, 모델명, 연주법, 등등 / 용사 > 레벨, 체력, 행동, 상태, 등등 

 

 

<코딩 스타일>

기본적으로 코드는 작성자보다 보는 사람이 훨씬 많다

그렇기 때문에 코드는 보기 좋게 코딩하면 좋다

 

PEP8 > 파이썬을 보기 좋게 코딩하는 스타일 가이드

 

단, 일관성있게 코드를 작성하는 것은 좋지만, 강박적으로 규칙을 지킬 필요는 없다!

 

<구글링>

 

코딩을 하다보면 검색을 할 수 밖에 없다. 모든 걸 다 외우지는 못하기 때문이다

'오늘 날짜 구하기' > 직접 구글링하여 문제 해결하기

구글링을 할수록 실력이 쌓인다!

 

>>> import datetime
>>> 
>>> 
>>> now_time = datetime.datetime.now()
>>> 
>>> 
>>> print(now_time)
2021-07-24 23:09:01.777558
>>> 
>>>
>>> print(now_time.year, "년", now_time.month, "월", now_time.day,"일", "/", now_time.hour, "시",now_time.minute, "분",now_time.second,"초")
2021 년 7 월 24 일 / 23 시 9 분 1 초
>>>

 


 

 오늘 느낀 것 

드디어 완강했다! 

파이썬 흠 이걸 이제 어떻게 써먹는지는 목적과 방향성에 따라 달라질 듯

퀴즈도 풀고 다음 강의도 들으면서 방향성을 잡아보자!

 

PEP8 한국어 번역본 링크, 여기서 코드 작성 스타일에 대해 살펴보자!

 

소개 | PEP8 한국어 번역

소개 이 문서는 메인 Python 배포판의 표준 라이브러리를 구성하는 Python 코드에 대한 코딩 컨벤션을 제공한다. Python 내의 C 구현에서는 C 코드에 대한 스타일 가이드라인을 설명하는 PEP 정보 지침

zerosheepmoo.github.io

 

반응형