본문 바로가기
728x90

분류 전체보기143

Unit 29. 함수의 return 참고 | 매개변수는 없고 반환값만 있는 함수 함수를 만들 때 매개변수는 없지만 값만 반환하는 함수를 만들 수도 있습니다. 다음은 매개변수 없이 1만 반환합니다. >>> def one(): ... return 1 ... >>> x = one() >>> x 1 참고 | return으로 함수 중간에서 빠져나오기 return은 값을 반환하는 기능뿐만 아니라 함수 중간에서 바로 빠져나오는 기능도 있습니다. 다음은 매개변수 a가 10이면 함수를 그냥 빠져나옵니다. >>> def not_ten(a): ... if a == 10: ... return ... print(a, '입니다.', sep='') ... >>> not_ten(5) 5입니다. >>> not_ten(10) >>> not_ten 함수에 5를 넣으면 pr.. 2022. 11. 29.
참고) zip( ) 함수 zip 여러개의 iterable 객체 (like. list, tuple, dic..) 을 객체로 받으면서, 각 객체가 담고 있는 원소를 차례로 접근할 수 있는 능력자 iterator. 원래는 이렇게 for문을 두 리스트에 돌리겠지만, >>> numbers = [1, 2, 3] >>> letters = ["A", "B", "C"] >>> for i in range(3): ... pair = (numbers[i], letters[i]) ... print(pair) ... (1, 'A') (2, 'B') (3, 'C') zip을 사용하면, >>> for i in range(3): ... pair = (numbers[i], letters[i]) 이렇게 두 줄이 >>> for pair in zip(numbers,.. 2022. 11. 29.
Unit30. *args / **kwargs (가변인자; Variadic Parameters) 인자 Argument에는 두 종류가 있다. 그리고 항상 함수를 실행시키는 인자를 줄 때에는, positional은 필수조건이므로 무조건 줘야 하고, 앞에 줘야하고, keyword는 필수가 아니므로 안주면 생략가능하고, positional갯수를 채운 뒤에 줘야한다. Positional arguments : 정해지는 인자 ; first, second Keyword arguments : 키워드로 잡는 인자 ; third, fourth 코드로 보면, def save_ranking(first, second, third=None, fourth=None): .... save_ranking('Alice', 'Bella', 'Mike', fourth = 'Daniel') 이렇게 될 때, Positinal 두개 다 채워서.. 2022. 11. 29.
참고) map + lambda lambda (원래모습 : 바뀐모습) print( (lambda x,y: x + y)(10, 20) ) 인자까지 한꺼번에 줄 수있음 map (def명, 넣을것) 순회가능한 데이터를 저 함수에 넣어 ouput을 도출하겠다. 는 뜻. map(변환 함수, 순회 가능한 데이터) map은 꼭 list로 변환해줘야 값을 볼 수 있음. def list_mul(x): return x * 2 result = list(map(list_mul, [1, 2, 3])) print(result) lambda + map map이 lambda 식 자체를 인수로 가짐. i 를 i*2로 바꿀꺼고 (lambda), [1,2,3]을 i로 돌릴꺼야 (map) result = list(map(lambda i: i * 2 , [1, 2, 3]).. 2022. 11. 29.
참고) iterable, iterator 차이점 iterable : 순환 가능한. 그냥 가능하다는 능력치. 나는 수학을 잘한다. 이런거. iterator : 순환가능자. 그 능력치를 컨트롤하는자. 수학선생님. 선생님은 수학을 당연히 잘한다. iterator는 당연히 iterable 하다. 지도 편달하는 코드가 들어간다. 학생이 수학을 잘해도 지도편달은 어려울 수 있따. iterable하다고 iterator는 아니다. 참고 : https://velog.io/@clueless_coder/%ED%8C%8C%EC%9D%B4%EC%8D%AC-iterable%EA%B3%BC-iterator-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EA%B0%80-%EB%AD%90%EC%98%88%EC%9A%94 [파이썬] iterable과 iterator 의 차이가 .. 2022. 11. 29.
참고) 최댓값, 최솟값 (함수에서 return 잘 활용하는법) list_data = [30, 20, 30, 40] def minmax_function(x_list): # 1번 함수에 최솟값, 최댓값 함수를 품는다. def inner_min_function(x): # 1-1 최솟값 length = len(x) min_result = x[0] for i in range(length): if min_result > x[i]: min_result = x[i] return min_result # "인덱스별" 최솟값 리턴받음. 계속 갱신하게되고 제일 마지막값남음. def inner_max_function(x): # 1-2 최댓값 length = len(x) max_result = x[0] for i in range(length): if max_result < x[i]: max.. 2022. 11. 29.
참고) Enumerate/Yield/Generator/Try/Accept/Multiprocessing Enumerate for문에서 인덱스도 같이 출력할 때. for i, value in enumerate(리스트명) my_list = ['a','b','c','d'] for i, value in enumerate(my_list): print("순번 : ", i, " , 값 : ", value) Generator, yield yield를 쓰면 generator로 연결된다. generator는 lazy iterator. 반복문을 출력할 때에도 주르륵 출력하는 것이 아니라, 하나 출력하고 쉬고, 하나 출력하고 쉬고. 데이터가 많을 때 메모리 사용이 효율적이어서 자주 사용하는 파이썬의 기능. 참고 사이트 : https://www.daleseo.com/python-yield/ 파이썬의 yield 키워드와 제너레이터.. 2022. 11. 29.
AI에게 필수과목이 필요하지 않을까. 사람이 사람다워야 사람이다. 그렇다면, AI도 AI다워야 AI겠지? 내가 생각하는 AI의 제 1 강령. AI는 사람에게 이로워야 한다.. ㅠㅠ 제발 ㅠㅠ --- 사람과 AI가 가장 다른점이 무엇일까. 아니 사람이 달라하야 하는 이유는 무엇인가. 사람이 사람답다는 의미가 어떤 의미인가. 우리는 가정교육을 받는다. 물론 어려운 가정도 있겠지만, 가정에서 되지 않는 부분은 학교에서, 사회에서 받고있다. 능력을 배우기보다는 소위말하는 도덕적관념을 학습한다. 양심, 배려, 협동, 선과악, 예절, 그리고 종교와 사랑. 이런것들을 베이스로 학습시킨 후에 능력을 학습해야하지 않을까. 똑똑한 범죄자 하나를 잡으려면 한나라 전체 경찰들이 다 동원되어야 한다. 그 사실에 더 무서운 방법으로 발전하는 범죄 수법들을 우리는 매.. 2022. 11. 29.
프로그래머스) 배열의 평균값, 중복된 숫자갯수, 피자나눠먹기 내 답안 평균구하는거,, 예전에 엄청 힘들게 했던거 같은데 잘풀려서 너무 좋다.. import math를 해와서, 올림은 .ceil() 버림은 .floor() 반올림은.round() 2022. 11. 28.
프로그래머스) 머쓱이네 양꼬치 답안 잘 실행되는데,, 프로그래머스에서 안넘어간다. 여튼 머쓱이는 이렇게 양꼬치를 먹었네. 2022. 11. 28.
728x90