55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
car_list(car1,car2,car3) 인스턴스 tuple 타입 문의
안녕하세요 car1 ~ car3 라는 3개의 인스턴스 참조값을 car_list에 담고 print(car_list[0].company)인스턴스 변수를 참조 하려 했을 떄 튜플 타입 이라고 조회가 되지 않습니다 AttributeError: 'tuple' object has no attribute 'company' 위에 rep 나 이런 생성자 외 리스트에 담겨 있는 3개의 인스턴스 참조 값들의 변수값을 뽑기 위해서는 어떻게 해야 할까요? 자바는 해당 명령어로 company 변수를 가져올 텐데 파이썬은 방법이 다를까요..? ㅠprint(car_list[0].company) car1 = Car("ferrari", {"color ": "White" ,"housepower" : 400 ,"price" : 8000}), car2 = Car("BMW", {"color ": "Black" ,"housepower" : 270 ,"price" : 5000}), car3 = Car("Audi", {"color ": "Silver" ,"housepower" : 300 ,"price" : 6000}) car_list = []; car_list.append(car1); car_list.append(car2); car_list.append(car2);
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
coroutine에 대한 질문
sequential하게 처리되어햐만 하는 경우가 아니면 무조건 coroutine을 적용하는게 좋은건지 궁금합니다!그리고 multithread/multiprocess도 언제 사용해야할지 판단하시는 기준이 있으실까요?
- 해결됨우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
제너레이터 이터레이터 질문이 있습니다.
안녕하세요사진에서 iter를 쓰지않고 temp = generator_ex1()을 해도next가 써지던데 굳이 iter로 감싸는 이유가 궁금합니다.
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
atom install package search not working
위와 같이 package를 검색했더니 계속 이런 문구가 나오는데 어떻게 해결하면 되나요?
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
Magic Method - Not Implemented
안녕하세요,magic method를 다양하게 연습해보고 있었는데 하기와 같이 코드를 작성하니 에러는 아니지만 값 대신 'Not Implemented' 라는 문구가 출력되더라구요. 왜 그런걸까요? n = 10f = 12.345print (n.__mul__(f)) print (n.__mul__(12.345))는 값을 반환해주는 걸로 보아 int, float 차이 때문은 아닌 것 같습니다.
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
가상환경 질문!
가상환경설정 Venv수업을 듣고 문의드립니다.activate를 실행하고 pendulum, pytest를 설치했어야 했는데,activate하지 않고, 그냥 커맨드에다 대고 인스톨을 해버렸습니다.이 부분을 원상복구 하려면 어떻게 해야 하나요?
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
병렬처리 추가 질문이 있습니다.
안녕하세요. 병렬처리 관련하여 질의가 있어 글 남겨요. 개인 데스크탑이 1cpu-4core의 데스크탑을 사용하고 있는데요. concurrent.futures로 병렬계산 수행 시, 제가 코어가 4개인 상태이지만, 2개의 코어에만 작업을 할당하는 기능도 있나요?
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
멀티프로세싱 관련 질의
안녕하세요.수업에서 다루고 있는 멀티프로세싱 관련하여 궁금한 점이 있어 글남깁니다. 저희가 수업에서 다루고 있는 멀티프로세싱은 여러 cpu를 사용하는 멀티프로세서 개념인건가요? 아니면 단일 cpu에 프로세스를 여러개 나누는 개념인가요? 구글에 검색해보니 사람들마다 설명이 다달라서요. 파이썬에서 멀티프로세싱은 프로세스를 메모리에 여러개 할당하는 것이라고 말하는 글도 있고, 여러 cpu에 할당하는 것이라는 글도 있고, 설명이 다달라서 질문드립니다.
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
함수 관련 질의
안녕하세요.제네레이터 예제 강의듣다가 궁금한 점이 있어아래와 같은 코드를 작성해서 실행해보았는데요. 여기서 궁금한게, 제가 c라는 변수에 test함수의 결과를 반환했는데, 이때 c = test()를 실행했을때, 왜 test함수의 print('Called test')가 실행이 되는 건가요?해당 프로세스가 궁금합니다.
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
함수 호출 시 변수 할당
여기서 보면, 10이라고 입력한 매개변수가 알아서 avrager로 할당이 되는데, 이와 관련해서clousre_ex1(10)으로 바로 입력하니 에러가 뜨더라구요.이게 어떻게 작동이 되는지 궁금합니다.아래 다른분이 그다음 예제에 대해 동일한 질문을 하셨는데, 강사님이 아래 링크 참고하라고 하셨는데, 해당 링크에 이와 관련한 자세한 내용이 없더라구요.이게 어떻게 작동이 되는 건가요?풀어서 설명 좀 부탁드립니다.
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
클래스 메소드 및 호출 관련 질의
안녕하세요.클래스내에서의 str, repr 등을 special method라고 부르는데, dicit, doc, class와 같이 속성에 접근하는 함수들은 뭐라고 칭하나요?
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
클래스 메쏘드 질문
사진처럼 클래스 메쏘드로 정의안하고 클래스내에 메소드로 정의해도, 클래스 변수 바꾸는 게 가능하던데,굳이 클래스 메쏘드로 클래스변수 바꾸도록 코딩하는 이유가 뭔가요?스네이크, 카멜 표기법처럼 암묵적인 룰인가요?
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
가상환경설정 문의드립니다.
안녕하세요.선생님이 가상환경 설정하실때는 3.7.3으로 python_ex라는 환경을 만드셨는데, vscode로 예시 보여주실때, 3.7.3이 안떠서, 3.7.1 파이썬으로 그냥 실행하셨었는데, 왜 화면에서는 (base) (python_ex)로 뜨는 건가요?python_ex폴더를 가져왔을뿐이지, 내가 파이썬 구동하는 환경은 만드신 가상환경(python_ex)가 아닌 3.7.1(아나콘다)인데, 왜 저렇게 뜨는지 궁금합니다..
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
코루틴 Ex2 관련 질문 드립니다.
안녕하세요. 강의 감사히 잘 듣고 있는 수강생입니다.코루틴 Ex2 관련 내용 중 궁금한 점이 있어 질문 드립니다.def coroutine2(x): print('>>> coroutine started : {}'.format(x)) y = yield x print('>>> coroutine received : {}'.format(y)) z = yield x + y print('>>> coroutine received : {}'.format(x+y)) print('>>> coroutine received : {}'.format(z)) cr3 = coroutine2(10) from inspect import getgeneratorstate print(getgeneratorstate(cr3)) # 상태 체크 print(next(cr3)) print(getgeneratorstate(cr3)) cr3.send(100) print(getgeneratorstate(cr3)) cr3.send(30) 위 코드를 실행하면GEN_CREATED>>> coroutine started : 1010GEN_SUSPENDED>>> coroutine received : 100GEN_SUSPENDED>>> coroutine received : 110>>> coroutine received : 30 결과가 이처럼 나오는데, 두번째 GEN_SUSPENDED 이후가 이해가 잘 가지 않습니다.첫 번째 cr3.send(100)은 y = yield x 의 x에 100을 넣어서 y의 print 문에서 received : 100이 나온 것으로 생각했는데,두 번째 cr3.send(30)은 z = yield x + y의 x에 30을 넣는다고 생각하여 z의 print문(마지막 부분)이 130이 나와야 할 것 같은데 30이 나와서 혼란스럽습니다. z = yield x + y 에 suspended 상태일 때send를 통해서 서브루틴으로 값을 보내면 x와 y 값에 상관 없이 그냥 z에 30을 넣는 것인가요?z = yield x + y 대신에z = yield x 를 넣어도 결과는 동일한 것 같은데 어떤 차이가 있는지 궁금합니다.메인루틴에서 받는 것만 달라지는 걸까요?그리고 print(cr3.send(30)) 과 같은 형태로 서브루틴에서 메인루틴으로 준 것을 볼 수 있다고 하셨는데, print 말고 제가 직접 그 값을 쓰려면 어떻게 해야 하는지도 여쭤봅니다.감사합니다.
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
클로저 예시 함수에서 nonlocal 사용이 필요한 여부에 대해 질문드립니다.
안녕하세요. 강의 감사히 잘 듣고 있는 수강생입니다.클로저 관련 내용을 듣다 궁금한 점이 있어 질문 드립니다.해당 문제와 관련하여 다른 분들도 동일한 질문을 여러 번 올려주셨는데 "명확하게 이렇기 때문이다"라는 답변이 없이 외부 링크를 걸어주시거나 단답형으로 답변을 주셨던 것 같아 다시 질문을 드립니다.def closure_ex1(): # Free variable series = [] # 클로저 영역 def averager(v): # series = [] # 주석 해제 후 확인 series.append(v) print('inner >>> {} / {}'.format(series, len(series))) return sum(series) / len(series) return averager avg_closure1 = closure_ex1()# 잘못된 클로저 사용 def closure_ex2(): # Free variable cnt = 0 total = 0 def averager(v): cnt += 1 # cnt = cnt + 1 total += v return total / cnt return averager avg_closure2 = closure_ex2()위 두 함수 closure_ex1과 closure_ex2를 비교하면 차이는series는 list, cnt와 total은 int형 변수라는 것,averager 함수 내부에서 series는 append 작업을 하고, cnt와 total은 값을 더해주는 작업을 한다는 것입니다. 그런데 closure_ex1에서는 오류가 나지 않고, closure_ex2에서는 averager 안에 nonlocal cnt, total을 작성하지 않으면 오류가 납니다.여쭤보고 싶은 것은,[1] closure_ex1의 averager 함수 내부에 nonlocal series 라는 코드를 작성하지 않아도 되는 이유가 무엇 때문인가 입니다.closure_ex2의 averager 안에 nonlocal cnt, total 이 필요한 것은 내부 함수의 영역은 local 영역이고 closure_ex2 내부이면서 average 외부인 영역은 nonlocal 영역이기 때문에 local 영역에서 free variable을 write 작업하기 위해서는 nonlocal 변수 선언이 필요한 것으로 알고 있습니다. 하지만 series 변수에 대해서는 왜 nonlocal series 라는 코드가 필요하지 않은 것인지요?제가 추가로 공부할 링크를 주시는 것은 감사하지만, 이 질문에 대한 답변을 명확하게 댓글로 작성해주시면 감사드리겠습니다. 다른 분들의 질문에 올려 주신 링크는 모두 읽어보았습니다. 또한 명확한 답변을 주시면 공부하시는 다른 분들께도 유용할 것이라고 생각합니다. 감사합니다.ps. 강의 영상을 확인하라는 답변도 주셨었는데, 수업에서 정확하게 list나 int형 자료의 scope 별 생명 주기까지 설명한 내용은 찾지 못하였으니 만약 해당 내용이 필요하다면 강의 시간을 알려주시면 감사드리겠습니다.
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
sort 질문
안녕하세요,강의에서print('sort - ', f_list.sort(reverse=True), f_list) 를 했을 때 객체가 직접 변경되서 수정된다고 하셨는데위 코드를 두 번하면 실행하면 두 번 reverse 되지는 않던데 안되는 이유가 뭔가요?
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
가상 환경 질문
안녕하세요가상환경 실행에 대해 질문이 있습니다.강의를 들으면서 vscode를 실행할 때마다 매번 cmd로 가상환경을 activate하고 끝날 때 deactivate 하는 과정을 거쳐야 하나요?
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
클래스 내 함수 정의할 때 인스턴스 입력을 못 받습니다ㅠ
class Fruit(): def __init__(self, name, price): self.name = name self.price = price def __str__(self): return f'str, Fruit Class Info : {self.name}, {self.price}' def __repr__(self): return f'repr, Fruit Class Info : {self.name}, {self.price}' # def __add__(self,x, y): # print('called__add__') # return self.price + x.price + y.price def __add__(self, x): print('called__add__') return self.price + x.price def __sub__(self, x): return self.price - x.price s1 = Fruit('Orange', 6000) s2 = Fruit('Banana', 3000) s3 = Fruit('Apple', 5000) # print(s1 + s2 + s3) print(s1 + s2) print(s1) Chpater03-01 수업 내용 중에x 자리에 s2가 알아서 찾아 들어가는 게 신기해서하나 더 넣어보면 어떨까 해서 s3을 넣어봤습니다역시나 안되더군요 ㅠ주석 처리 해놓은 부분이 작동이 되지 않아 여쭤봅니다 그래서 검색을 해봤는데 답을 못찾아서 여쭤봅니다 하나 더 넣어서s1 + s2 + s3 구현 하려면 어떤 방법을 써야 할까요? 답변에 미리 감사드립니다
- 미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
Atom 서비스 종료 되었으니 vs code로 하면 되는거죠??
우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original) 과목을 수강하려 하는데 영상이 오래되어서 그런지 아톰으로 설명하시네요 vs code 쓰면 되는거죠??
- 해결됨우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
클로져를 학습 중에 궁금한게 생겨 질문드립니다
#1def clos(): series = [] def averager(v): series.append(v) return sum(series) / len(series) return averager avg_clos = clos() print(avg_clos(10)) print(avg_clos(20)) print(avg_clos(30))#2def clos(): a = 0 b = 0 def averager(v): a += v b += 1 return a / b return averager avg_clos = clos() print(avg_clos(10)) print(avg_clos(20)) print(avg_clos(30)) series든 a,b든 변수에 할당하고 수정하는건 같은데 왜 #2번만 nonlocal을 적용해야 실행이 되는 건지 잘모르겠습니다 . ㅠ.ㅠ