20.08.28 파이썬 5일차

ToastEggsToast·2020년 8월 28일
0

We!

목록 보기
7/33

오늘의 위스터디 미션

# list method 중 append, pop, sort 을 활용한 함수를 작성해보세요

파이썬 개인공부

파이썬 패키지

패키지(Packages)는 도트(.)를 사용하여 파이썬 모듈을 계층적(디렉터리 구조)으로 관리할 수 있게 해준다.
예시가 나온걸 해보려고 했는데.. 왜인지 실행이 잘 안 돼서 포기ㅠㅠ 다음에 다시 도전하기로~!

파이썬 예외 처리

예외 처리?: 발생하는 오류를 무시하기 위해 try, except를 이용해 예외적으로 오류를 처리할 수 있도록 해주는 것

기본적인 사용법:

 try: 
     <수행문>
 except [발생오류 [as 오류메시지 변수]]:
     <수행문>

try ... finally ... : 오류 발생 여부와 관계없이 finally는 실행된다.

f = open('foo.txt', 'w')
try:
    # 무언가를 수행한다.
finally:
    f.close()

일부러 오류를 발생시키는 raise:

class Bird:
    def fly(self):
        raise NotImplementedError

파이썬 내장함수

내장함수? : 파이썬에서 제공하고 있는 (내장되어있는) 함수.
abs all any chr dir divmod enumerate filter hex id input int isinstance len list map max min oct ord range round sorted str sum tuple type zip 등이 있다.
점프 투 파이썬 내장함수 바로가기

abs : 제공받은 숫자의 절대값을 돌려준다.

 abs(-3) => 3

all : 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 돌려준다.

all([1,2,3]) => True
all([0,1,2]) => False (0 은 false)
all([]) => True 입력 변수가 빈 값일 경우에는 True를 리턴한다.

any : any(x)는 반복 가능한(iterable) 자료형 x를 입력 인수로 받으며 이 x의 요소 중 하나라도 참이 있으면 True를 돌려주고, x가 모두 거짓일 때에만 False를 돌려준다.

chr : 아스키 코드 값을 입력받아 그 코드에 해당하는 문자를 출력하는 함수.

아스키 코드: 0에서 127사이의 숫자를 각각 하나의 문자 또는 기호에 대응시켜 놓은 것.

dir : dir은 객체가 자체적으로 가지고 있는 변수나 함수를 보여 준다.
divmod : (a,b) 2개의 숫자를 인수로 받고, a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려주는 함수이다.

divmod(7,3) => (2,1)
(//사용값,%사용값)

enumerate : enumerate(열거하다). 순서가 있는 자료형을 인수로 받아, 인덱스 값을 포함하는 enumerate 객체를 돌려준다.

for i,name in enumerate(['body','foo','bar'])"
    print(i,name)
    
=> 0 body, 1 foo, 2 bar

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

filter : 첫 번째 인수로 함수 이름을, 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형을 받는다. 그리고 두 번째 인수인 반복 가능한 자료형 요소가 첫 번째 인수인 함수에 입력되었을 때 반환 값이 참인 것만 묶어서(걸러 내서) 돌려준다.

def positive(l): 
    result = [] 
    for i in l: 
        if i > 0: 
            result.append(i) 
    return result

print(positive([1,-3,2,0,-5,6]))

===

def positive(x):
    return x > 0

print(list(filter(positive, [1, -3, 2, 0, -5, 6])))

결과값: [1, 2, 6]

=> lambda함수를 사용하면
list(filter(lambda x: x > 0, [1, -3, 2, 0, -5, 6])) 
로 짧게 줄일 수 있다.
lambda 함수: 

hex : 정수 값을 입력받아 16진수 표기법으로 변환하여 돌려줌

id : 객체를 입력받아 객체 고유 주소 값(레퍼런스)을 돌려준다.

input : 사용자의 입력을 받는 함수.

int : 문자열 형태의 숫자나 소수점이 있는 숫자 등을 정수 형태로 돌려주는 함수.

isinstance : 첫 번째 인수로 인스턴스, 두 번째 인수로 클래스 이름을 받는다. 입력으로 받은 인스턴스가 그 클래스의 인스턴스인지를 판단하여 참이면 True, 거짓이면 False를 돌려준다.

class Person: pass

a = Person()
isinstance(a,Person)
=> True 

객체(Object)는 소프트웨어 세계에 구현할 대상이고, 이를 구현하기 위한 설계도가 클래스(Class)이며, 이 설계도에 따라 소프트웨어 세계에 구현된 실체가 인스턴스(Instance)이다.

len : 입력값의 길이(요소의 전체 개수)를 돌려준다. 튜플, 리스트, 문자열 전부 사용이 가능하다.

list : 반복 가능한 자료형을 인수로 입력받아 리스트로 만들어 돌려주는 함수이다. 리스트를 입력 할 경우 리스트를 복사하여 돌려준다.

map : map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받는다. map은 입력받은 자료형의 각 요소를 함수 f가 수행한 결과를 묶어서 돌려주는 함수이다

def two_times(x): 
    return x*2

list(map(two_times, [1, 2, 3, 4])) => [2, 4, 6, 8]

max, mix : 인수로 반복 가능한 자료형을 입력받아 최대, 최소값을 돌려준다.

oct : 정수 형태의 숫자를 인수로 받아 8진수 문자열로 바꾸어 돌려줌.

open : "파일 이름"과 "읽기 방법"을 입력받아 파일 객체를 돌려주는 함수이다. (4일차 학습 참고하기)

ord : 문자의 아스키 코드 값을 돌려준다. chr과 반대

pow : 두 개의 숫자(a,b)를 인수로 입력받아 a의 b제곱한 결과값을 돌려준다.

range : range([start,] stop [,step] )는 for문과 함께 자주 사용하는 함수이다. 이 함수는 입력받은 숫자에 해당하는 범위 값을 반복 가능한 객체로 만들어 돌려준다.

 # 인수가 하나일 경우
 list(range(5)) => [0, 1, 2, 3, 4]
 
 # 인수가 두 개일 경우
 list(range(5, 10)) => [5, 6, 7, 8, 9]
 
 # 인수가 세 개일 경우
 list(range(1, 10, 2)) => [1, 3, 5, 7, 9]
 list(range(0, -10, -1)) => [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
 

round : round(number[, ndigits]) 함수는 숫자를 입력받아 반올림해 주는 함수이다.

round(4.6) => 5
round(4.2) => 4
round(5.678, 2) => 5.68  #소수점 2자리 수 까지만 반올림 하여 표시.

sorted : 입력값을 정렬한 후 그 결과를 리스트로 돌려줌.

str : 문자열 형태로 객체를 변환하여 돌려주는 함수.

sum : 입력받은 리스트나 튜플의 모든 요소의 합을 돌려주는 함수이다.

tuple : 반복 가능한 자료형을 입력받아 튜플 형태로 바꾸어 돌려주는 함수이다.

type : 입력값의 자료형이 무엇인지 알려주는 함수

zip : 동일한 개수로 이루어진 자료형을 묶어 주는 역할을 하는 함수이다.

list(zip([1, 2, 3], [4, 5, 6])) => [(1, 4), (2, 5), (3, 6)]
list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9])) => [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
list(zip("abc", "def")) => [('a', 'd'), ('b', 'e'), ('c', 'f')]
profile
개발하는 반숙계란 / 하고싶은 공부를 합니다. 목적은 흥미입니다.

0개의 댓글