클래스 변수를 이용한 코드를 혼자서 작성하다가, 조금 궁금한 부분이 있어 질문드립니다. 사람이 가방에 물건을 넣는 동작을 클래스로 구현해보고자 했는데요 class Person : bag = [] def put_bag ( self , stuff ): self . bag . append ( stuff ) james = Person () james . put_bag ( '책' ) maria = Person () maria . put_bag ( '열쇠' ) print ( james . bag ) print ( maria . bag ) 다음과 같이 bag 라는 클래스 변수를 선언하고, 코드를 실행해보니 james.bag와 maria.bag를 출력한 결과가 같게 나왔습니다. 각각 다른 인스턴스를 생성하여 bag에 물건을 넣었는데도 결과가 같게 나온 이유를 생각해 보았는데요... james . put_bag ( '책' ) 이 코드를 실행하면 def put_bag ( self , stuff ): self . bag . append ( stuff ) 이 메소드에서 self에는 james가 할당되므로 결과적으로 james.bag.append('책') 이 실행될 것입니다. 그런데 코드 상에서 james 인스턴스는 bag라는 변수가 네임스페이스에 존재하지 않으므로, 그 대신 Person 클래스의 네임스페이스에서 bag 변수를 찾아 여기에 '책'을 넣었다고 생각을 하였습니다. 혹시 잘못된 부분이 있으면 설명 부탁드립니다. 감사합니다
안녕하세요! level 1을 마치고 level 2를 들을려고 합니다. level 2와 동시에 Django로 웹 개발공부를 해볼려고 합니다. 인프런에서 Django 로 코스를 선택했습니다. 그런데, 그 강좌에서 선수 파이썬 기본지식으로 `함수/클래스/상속/일급함수/장식자` 내용을 알아야 들을 수 있다고 하네요. 함수와 클래스는 Level 1에서 들었다고 하면 일급함수, 장식자는 TOC를 보면 Level2 에서 충분히 확인할 수 있는데, 상속은 어디서 들을 수 있는 건가요??? Level 3으로 가야 하나요????
안녕하세요! 이제 강의를 들을려고 합니다. 먼저 저의 상황은 이와 같습니다. Django를 통해 전체적인 웹개발에 대한 흐름을 공부해볼려고 시작합니다. 그 후, backend web 개발자나 Devops나 Data 분야로 가는 것을 결정해볼라고 합니다. Django에 대해 그냥 유튜브 검색을 해보니 [Django를 추천하지 않는 이유](https://www.youtube.com/watch?v=ObelJbEt8-Y) 를 보게 되었습니다. 이 영상에서 봤을 때, 웹 개발을 공부하고 싶으면 Django를 하지 말고 Spring을 해야 한다는 의견이었습니다. Django는 너무 dB에 집중되어 있다고 했습니다. 3년 전 영상이라 지금은 어떨지 모르겠습니다. java spring 시장이 한국에서 매우 거대하여 python Django가 상대적으로 적어도, 절대적으로는 적은 수는 아니라고 생각합니다. (그리고 python은 너무너무 가용성이 좋은 언어라 개인적으로 좋아하는 언어입니다 : ) ) 이에 대해 어떻게 생각하시는 지 궁금합니다.
안녕하세요 선생님 휴일인데 죄송합니다. 저는 강의를 듣기전에 미리 한번 먼저 해보고 하는 방식으로 공부중입니다. 다만 로그인이나 프로필 수정쪽은 FBV를 사용해서 직접 구현을 하셔서 이번 비밀번호 변경도 FBV로 구현을 하겠구나 생각하고 AUTH앱의 PasswordChangeForm과 FBV로 구현해보고 강의를 수강하였습니다. 선생님께서는 CBV로 구현을 하셔서 질문드립니다. CBV와 FBV를 다양하게 쓰는 예를 보여주시려고 사용하신건가요? 아니면 CBV는 AUTH앱의 passwordchangeVIew를 가져오면 기능들이 갖춰져 있기 때문에 편리하고 더 효율적이기 때문에 사용하신건가요? 아니면 그냥 아래 처럼 맞는지는 모르겠지만 함수로 구현해도 상관은 없는건가요? 처음 질문이라 좀 요점이 없는것 같은데 죄송합니다. @login_required def password_change ( request ): if request.method == 'POST' : form = ChangeForm(request.POST) if form.is_valid(): form.save() messages.success(request, "비밀번호 변경 성공" ) else : form = ChangeForm() return render(request, "accounts/password_change_form.html" ,{ 'form' :form,})
선생님 수업 잘듣고 있습니다 다름이 아니라 검색기능 수업중에서 select 의 value 와 keyword의 value 자바스크립트로 self.location.href를 이용하여 get방식으로 값을 넘기는 내용이 있습니다 약 48분 정도쯤에 있는 내용이구요 select 값의 value를 0, 1, 2, 3, 4 로 설정해놓아서 이중에서 하나의 값을 넘기는데요 get방식으로 넘길때, 숫자가 넘어가는게 아니라 false가 넘어가는데 도저히 해결이 안되네요 get방식 값이 http://192.168.1.13:9000/list?search=false&keyword=%ED%8C%8C%EC%9D%B4%EC%8D%AC 이렇게 나옴니다 search = 숫자 이렇게 나와야 하는데 false가 들어가니 해결이 안되네요 영상에는 잘되는데 저는 잘안되서 이후 강의에 있는 선생님이 수업자료로 첨부하신 코드를 가져와서 실행해도 안됩니다 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1) 선언과 정의의 차이를 알고 싶습니다. 선언은 영어로는 declaration 이고, 정의는 definition인데 , 선언과 정의를 혼용해서 쓰는 것 같습니다. 2) list 선언 a = [] 와 b = list () 의 각각 id 값이 다릅니다. 비어있으니 동일한 값으로 생각되어, `동시 선언`으로 동일한 id 값이어야 하지 않나요?? 3) python의 function 객체라서 함수에도 id가 있다고 하는데, 다른 프로그래밍 언어에는 없는 건가요?? function 객체라서 있다는 게 잘 모르겠습니다.
AttributeError: 'NoneType' object has no attribute 'get_text' 오류가 발생했습니다. 해당 오류는 none 값일때 어떻게 해야 하는지 결정되지 않았을 때 발생하는 오류로 알고 있는데 제가 크롤링 하는 사이트 특성상 없는 값이 있을 수 있습니다. (입력을 안했을 경우가 있습니다.) 아래 소스에서 for item in itmes : print ( item .find( "h2" , attrs ={ "class" : "camp_tt" }).get_text()) print ( item .find( "li" , attrs ={ "class" : "addr" }).get_text()) print ( item .find( "li" , attrs ={ "class" : "call_num" }).get_text()) print () print ( item .find( "li" , attrs ={ "class" : "call_num" }).get_text()) 의 부분이 문제 입니다. 해당 값은 없는 값이 있을 수 있는데 이럴 경우 오류 처리를 어떻게 해야 하나요?
안녕하십니까? 파이썬 공부중인 학생입니다. 도저히 어떻게 해결 해야 할지 모르겠어서 질문 남깁니다. 1. data=[{'A':'0000','B':1234}, {'A':'0200','B':151}, {'A':'0300','B':11},{'A':'0400','B':2014},{'A':'1600','B':32}] 가 있습니다. 2. 이 데이터를 data = pd.DataFrame(data) 로 정의하여 새롭게 만듭니다. 3. 아래(맨밑) 와 같은 엑셀 포맷을 excel_format = load_workbook('엑셀포맷.xlsx',data_only=True) 로 불러왔습니다. 4. 불러온 포맷을 data의 값으로 자동으로 채워주고 싶습니다. 하지만 1. data 를 보시면 'A':'0100' 값과 또 중간에 'A':0500~1500까지의 B 값이 없습니다. 이러한 부분을 B를 0 으로 채워주고 'A':'0000','A':'0200','A':'0300','A':'0400','A':'1600'처럼 B값이 있는값들은 그에 맞게 B값을 채워주고싶습니다. load_ws.cell(1,2,350) 이런식으로 일일이 없는값은 0으로 채우고 있는값은 데이터를 보고 채울순있겠지만 꼭 자동화로 되도록 코드를 작성하고싶습니다. 긴 글 읽어주셔서 너무 감사합니다.
파이참 툴을 이용해서 파이썬 공부를 하는 중인데, 라이브러리에서 기본으로 제공되는 sort() 함수에서 key 매개변수를 사용하려 할 때마다 저렇게 오류가 발생합니다. 헌데 문제는 검색을 아무리 해봐도 정보가 잘 나오지 않았다는 점입니다 ㅠㅠ. 이 밖에 중복순열을 이용하려 할 때에도 비슷한 오류가 발생합니다. 분명 순열 관련된 라이브러리를 import 해서 사용하는 중인데( from itertools import product ), 왜 이러는지 도저히 잘 모르겠어서 질문 남기게 되었습니다. 부디 조언 부탁드립니다.
알고리즘 문제는 혼자 생각하고 해결하는 과정이 중요한 것을 알기에 정말 최대한 저혼자 2시간동안 디버깅을 해보았지만 무엇이 잘못된 것인지 모르겠어서 질문 남깁니다. 조합만들기 식으로 풀어봤는데 제가 생각하기에 논리상으로는 맞는것 같은데 계속 답이 이상하게 나옵니다. 한번만 코드 검토 부탁드립니다... import sys sys.stdin= open ( "input.txt" , "rt" ) def DFS (v , money): global maxMoney if maxMoney<money: maxMoney=money if v>n: return for i in range (v , n+ 1 ): DFS(v+sch[i][ 0 ] , money+sch[i][ 1 ]) if __name__== '__main__' : n = int ( input ()) ch=[ 0 ]*(n+ 1 ) sch=[(- 1 , - 1 )] maxMoney=- 1 for _ in range (n): # t는 걸리는 시간(일), p 는 보수 t , p = map ( int , input ().split()) sch.append((t , p)) DFS( 1 , 0 ) print (maxMoney)
RUN python manage.py collectstatic --noinput 위 명령어를 입력하고 설정을 했으나 아래와 같은 메시지가 뜨는데요 ㅠㅠ 선생님께서 설정해주신 부분과 상당히 유사하게 진행하고 있는데 왜 그런지 궁금합니다. 혹시 추측이 가능한 부분이 있으실까요? # 오류 # 디렉토리 구조 # settings.py
계속 이해해보려고 구글링했는데 뭔가 속시원게 해답이 안나와서 한번만 더 질문하겠습니다. ㅜㅜ 지난강의에서 피처맵의 그리드포인트 마다 앵커 9개를 매핑한다고 하셨는데, 이번 강의에서 RPN 네트워크는 피처맵을 이진 분류 하기 까지 그리드포인트 매핑과정이 없어서 뭔가 연결이 잘 안되는 것 같습니다. 다른 문제는 5:50초에 40x50x9 는 그리드포인트마다 9개의 앵커박스를 나타내는 것이고, 앵커박스마다 FG인지 BG인지 판단한다고 하셨는데, 제 머리로는 1x1 컨볼루션을 하고 9output을 뽑는다는게 잘 이해가 안되는 것 같습니다. 1x1 컨볼루션은 차원의 축소를 하는 역할을 하는것인데 9가지 모양의 그리드를 어떻게 1x1 컨볼루션 40x50피처맵 포인트마다 연결을 시키는 것인지 잘 이해가 되지 않습니다...ㅜㅜ