어려운 부분인 것 같은데 핵심적인 내용을 간결하게 설명하여 주셔서 감사드립니다. 말씀해주신 부분을 정리하면 1)class는 변수와 함수로 구성, 2)객체를 만들 때 변수를 초기화하기 위한 __init__함수, 3)객체.함수로 사용, 4)상속은 상속받은 클래스의 함수를 그대로 사용가능, 5)상속받아 만든 다른 클래스간의 함수는 서로 사용할 수 없음. Thanks a lot!
강의 너무 잘 봤어요!! 한 가지 질문이 있습니다.. init 함수와 say_hello 함수에서 self는 별다른 역할이 없는 건가요? self가 인자로 설정됐다는건 이해하겠는데 print 문장에서 실제적으로 쓰는건 결국 self.name이라고 생각이 들어서 self는 큰 의미가 없다고 느껴지네요
와... 최고의 강의 잘봤습니다. 오랫동안 이해가 안갔는데 이걸 보고 단번에 이해됐습니다! 다른것도 다 정주행하려구요~ 좋은 영상 감사합니다! class Message: def __init__(self, name, message): self.name = name self.message = message def send_message(self): print(self.message + " " + self.name + "!!") wonie = Message("Wonie", "Thank you") wonie.send_message()
으어어 완전 완전 감사구리입니다 ㅠㅠ 저번 글에 답글달아주신것도 개감동이에요 ㅠㅠ 열심히 하나씩 따라하고있습니다 아직 갈피를 못잡아서 프론트로 해야하나 백앤드를 해야 하나 하지만 취직할 실력은 안되서 학원 수료하고 집에서 공부 더 하려구 하고있어요 ! 학원선생님은 제가 자바나 이런거 어려워하니까 프론트 파라고 해서 html/css/자바스크립트 하고 있는데 그냥 선생님이 시키는거 하는게 아니고 저한테 어떤 언어가 맞는지를 찾아야하는게 먼저인것 같아서 하나씩 언어별로 맛보기? 하고있어요 길을 빨리 찾아야 방향을 정할텐데 걱정이네요 -! 긍정적인 워니님 영상 항상 감사드려요!
파이썬 책 몇권 보구 다른책 보러 서점가는 길에 워니님 책보지마란 첫 영상 보구 발길 돌려 바로 놋북들고 나왔는데 여까지 다봤어요! 강의 아주 도움 되네요.. 질문이 있는데 기초 문법을 좀 익혔으면 다음 공부법은 어떻게 해야 재미있을까요? ㅜ 인터넷에 있는 알고리즘 문제를 풀어보려니 도저히 손도 못대겠더라구요 ㅜ
워니님 질문 드려도 될까요??ㅠ 함수만 사용할 땐 def say_hello() : print("Hello!") say_hello() 해도 함수 사용이되는데, 클래스 안에 입력해서 불러오면 def say_hello(): 괄호 안에 문자나 숫자 타입 이외의 내용이 입력 돼야 작동하네요. 몇번 두드려보다가, 아래 댓글 찾아보니 init함수에는 self를 첫번째 인자로 넣어줘야 한다고 말씀해주셨는데 그거랑은 다른 내용인것 같기도 해서 따로 댓글 남겨요ㅠ 그리고, 영상 정말 잘 보고 있습니다!!
좋은 영상감사합니다만 궁금한점이 하나 있습니다. self인자가 정확하게 어떤 역할인지 쉽게 잘 이해가 되질 않아서요. 클래스 안에 포함된 모든 함수가 self를 인자로 포함하는데 막상 오브젝트를 선언하거나 함수를 사용할 때는 self에 따로 값을 배정하지 않는 것으로 보입니다. 꼭 self라는 인자를 포함해야하나요?? (say_hello를 쓸때 to_name만 받고 self에는 따로 값을 안받고 있는 것 처럼요.) 나름 추론을 해보자면 처음에 __init__을 통해 이름과 나이를 받고, 받은 값을 self.name과 self.age로 지정한 후, 아래에 새로 정의하는 다른 함수들에서 같은 값을 일일이 받지않고 그대로 self.name 같은 변수를 사용할 수 있게 되는 역할인가 싶은데요. 이것도 사실 두루뭉술하게 받아들여지는데 귀찮으시더라도 조금 명확한 설명을 받을 수 있을까요?? 최대한 간결히 적어보려고했는데.. 질문도 좀 갈팡질팡하는 것 같아 죄송스럽습니다
완전히 처음 보는 입장에서 헷갈리는 게 좀 있네용 1. 앞에 함수 강의에서 def 함수이름(인자) 였던 거 같은데 오늘 등장한 self라는 녀석은 제가 직접 지정하는 인자가 아니라 무언가 기능이 있나봐요 2. def 로는 전부 사용자가 지정하는 함수만 있는 건줄 알았는데 __init__ 이라는 녀석도 뭔가 다른거 같고... 전체적으로 뭐가 내가 정하는 건지, 뭐가 파이썬에서 제공하는 건지 헷갈리네용 강의는 정말 잘 듣고 있습니다~ 감사합니다
self의 용도는 결국 클래스 내에서 클래스가 받는 변수를 변수로 받는 함수를 언급하기 위한건가요?? Init은 그 클래스의 변수를 받는 함수를 만들때 쓰는거고요.(ex.person(변수)) 클래스 부분이 좀 어려워서 여러 강의를 보았는데 워니님 강의덕에 이해한거같은데 잘 이해한게 맞는지 모르겠네요. 그리고 클래스개념이 파이썬의 객체지향코딩인건지두..
init 함수를 넣기 전에는 name="워니" 라고 했었는데, 사실상 이때의 name 은 변수가 아니라 클래스를 만들때 say_hello 라는 함수의 self.name 에 들어가는 정해진 것(값..? 하튼 워니) 인 것인가요? 그리고 init 함수를 도입했을때 self.name=name, self.age=age 이라고 하는 것은 init에서 설정한 변수(name, age)는 그 이후의 함수(say_hello, introduce)에서는 self.name, self.age 라고 써야하기 때문에 그것을 미리 정해놓는 과정이라고 이해해도 될련지요?? 그리고 self.name=name 이라고 하는게 필수인지, 또 정해져있는 형식인지, 는 그냥 기억하면 되는 것인지요..? self.name=name 이라던지, name="워니" 라던지 init 전에는 name이 앞에있고(name="워니"), init을 넣은 후에는 self.name이 앞에있어서(self.name=name) 헷갈리네요. 질문이 장황했다면 죄송합니다.. 항상 강의 잘 듣고있습니다^^
3:30 에 함수 __init__에 인자를 self랑 name을 만드셨는데, 그러면 __init__(self, name): 이렇게 코딩이 되는것은 알겠는데요 인자의 순서를 바꿔보면 어떻게 될까 궁금해서 __init__(name, self): 로 해보면 에러가 나와요.. 에러내용은 AttributerError: 'str'object has no attribute 'name'이라는데 인자 순서를 바꾸어도 상관없는것 아닌가요??
1. 이 강좌에서 __init__ 함수가 왜 들어 와야하는지 잘 모르겠습니다. 그냥 다른 함수명을 쓰면 안되고 반드시 init함수만 써야 하나요? 다음 강좌에서는 cat과 dog 모쥴을 불러오기 위해서 쓴 것은 이해되는데요.. 차이를 잘 모르겠습니다. 2. self의 역할: 반드시 self라는 변수만 써야 하는 변수명을 바꾸면 작동을 않합니다. 말씀해주신 것과 같이 만들어진 오브젝토에서 변수를 활용하기 위한 것인데 index? 같은 건가요? 잘 몰라서요. 답변부탁드려요. 감사합니다.
init은 클래스를 만들 때 변수를 입력받는 기능 같아요. 처음에 name="워니"할 때는 클래스를 만들면서 안에 변수를 미리 적었지만 init을 쓰면 나중에 클래스를 가져다 쓰면서 변수도 나중에 적었죠. init말고 다른 함수들도 변수를 입력받을 수 있지만 클래스 만들면서 미리 변수 입력만 받아 놓는 용도로만 쓰는거죠. 다른 함수들이 공동으로 같이 쓸 수 있도록이요. self는 클래스 안에서만 쓰는 변수들을 위한 기능(?), 용어(?) 일거에요. 그러니까 저 클래스 안에서만 유효한 변수일걸요 아마?
__init__함수는 "생성자"라고 불리는 내장함수라고 생각하시면 됩니다. 인스턴스(객체)가 생성될때 자동으로(없어도) 불려지는 함수입니다. 즉 인스턴스가 생성될 때 무조건 존재하는 함수에요. __init__을 안만드셔도요. 그 함수를 재정의해서 사용하는 거라고 생각하시면 되구요. self의 역할은 함수를 호출한 객체 자기자신을 의미하기 위한 파라미터구요. 이 파라미터는 obj.func() 라는 형식으로 메소드를 호출 할 때 self가 obj를 의미하게 됩니다. 당연히 obj라는 것을 명시하였기 때문에 인자로 obj.func(obj) 처럼 명시하지 않는 것이에요.
@@davidpark2584 init 함수의 경우에는 파라미터를 전혀 갖지 않더라도 만들어도 됩니다. init 함수는 initialization. 즉 "초기화". 이 객체를 초기값으로 초기화하여 생성하기 위해서 수행하는 내장함수이고 파라미터를 주는 이유는 인스턴스마다 초기화되야하는 값이 다를 수 있으므로 (위 영상에선 사람 이름 같은) 파라미터로 준 후에 그 값으로 그 사람의 속성(필드, 변수)를 초기화해주는 것입니다. 아직 프로그래밍에 대한 개념이 전반적으로 없으신 것 같아서 제 말이 잘 이해가 안되실 텐데, 계속 궁금해하시고 자기만의 가설과 가정을 내리고, 논리적이고 타당성이 존재하는 지 검증하면서 공부하시면 될 것 같습니다. 지금은 질문하시기에는 아직 개념이 너무 부족하신 것 같아요. 현재 주신 질문처럼 가설을 내리고 가정을하고 질문하시는 태도는 너무 좋은데, 아직 모르시는게 너무 많으신 것 같아서 조금 더 공부하시고 그래도 모를 때 질문하시는 것이 훨씬 빠르고 더 많은 정보를 얻을 것 같습니다.
self 키워드에 대해서 저처럼 궁금해하는 사람들을 위해 올립니다. self 키워드 클래스 외부에서 해당 함수를 호출한 객체를 찾는 일은 객체의 이름만 알면 쉽게 찾을 수 있습니다. 하지만 클래스 내부에서 호출한 객체를 찾으려면 마땅한 방법이 없습니다. 그래서 도입된 것이 바로 self 키워드입니다. 파이썬에서 self 키워드는 해당 함수를 호출한 객체를 가리킵니다.
어려운 부분인 것 같은데 핵심적인 내용을 간결하게 설명하여 주셔서 감사드립니다. 말씀해주신 부분을 정리하면 1)class는 변수와 함수로 구성, 2)객체를 만들 때 변수를 초기화하기 위한 __init__함수, 3)객체.함수로 사용, 4)상속은 상속받은 클래스의 함수를 그대로 사용가능, 5)상속받아 만든 다른 클래스간의 함수는 서로 사용할 수 없음. Thanks a lot!
와 너무 잘 정리 해주셨어요!
얼렁얼렁 더 강의 올려주세요~!! 넘나 좋아요 강의rest api 다루는것도 언젠간 올려주시면 좋을거같아요~!! db에 넣고 빼고 데이터 가공하는거요~!!
여기서부터 난이도가 상당하네요.. 열심히 따라가보겠습니다
화이팅!
@@WonieSong self인자 받는 거부턴 단계가 바뀌는거 같아요...
강의 너무 잘 봤어요!! 한 가지 질문이 있습니다.. init 함수와 say_hello 함수에서 self는 별다른 역할이 없는 건가요? self가 인자로 설정됐다는건 이해하겠는데 print 문장에서 실제적으로 쓰는건 결국 self.name이라고 생각이 들어서 self는 큰 의미가 없다고 느껴지네요
저도요.. 그 부분에서 이해가 잘 안됬네요..ㅠ
이번꺼 어려워서 ㅜㅜ 십분 보다가 하루 쉬고 다시 봤어요 ㅎㅎ 마음 가라앉히고 보니 이해가 되네요 휴... 좋은 영상 감사합니당 ㅎㅎ
와... 최고의 강의 잘봤습니다. 오랫동안 이해가 안갔는데 이걸 보고 단번에 이해됐습니다! 다른것도 다 정주행하려구요~
좋은 영상 감사합니다!
class Message:
def __init__(self, name, message):
self.name = name
self.message = message
def send_message(self):
print(self.message + " " + self.name + "!!")
wonie = Message("Wonie", "Thank you")
wonie.send_message()
class와 상속은 참... 볼떄마다 새롭네요. 도움이 많이 됩니다. 감사합니다.
정말 이해가 잘되네요!!! 그동안class이해 못했는데 덕분에 잘 이해했습니다
시간 내서 봐주셔서 감사합니다. 헐 이제 학생들이 다들 완주를 해서 다음 강의를 또 올려야 되겠는데여?!!
1시간 강의 영상보다가 이게 화질이 더 좋아서 넘어왔어요! 쉽고 이해가 잘가게 쏙쏙 알려주시네요
이부분부터 좀 어려워서 다른 방식으로 설명된 강의 찾고 있었는데 이렇게 다양한 방법으로 원리 설명을 들으니 대충 감이 잡히는 것 같네요!!
으어어 완전 완전 감사구리입니다 ㅠㅠ
저번 글에 답글달아주신것도 개감동이에요 ㅠㅠ
열심히 하나씩 따라하고있습니다
아직 갈피를 못잡아서 프론트로 해야하나 백앤드를 해야 하나 하지만
취직할 실력은 안되서 학원 수료하고 집에서 공부 더 하려구 하고있어요 !
학원선생님은 제가 자바나 이런거 어려워하니까 프론트 파라고 해서 html/css/자바스크립트 하고 있는데 그냥 선생님이 시키는거 하는게 아니고
저한테 어떤 언어가 맞는지를 찾아야하는게 먼저인것 같아서 하나씩 언어별로 맛보기? 하고있어요
길을 빨리 찾아야 방향을 정할텐데 걱정이네요 -!
긍정적인 워니님 영상 항상 감사드려요!
클래스와 오브젝트는 연습문제가 없나용??ㅎㅎ 또 강의 들으면서 느꼈는데, 복습문제를 만들어 주신건 정말 감사해요 근데 더 많은 연습을 하려면 어디서 하면 될까요??
고맙습니다, 진짜 고맙습니다. 배열과 반복문의 연결을 이렇게 쉽게 풀어낸 강의는 처음이였습니다.
파이썬을 공부한지 1주일이 된 시점에서 클래스와 함수가 너무 어려운데 이 글이 가장 이해도가 높아지는거 같아요 이 영상은 두고두고 계속 보겠습니다!!
독학중인 아재입니다. 책을 열심히 봐도 클래스라는 개념이 감도 안왔는데 확실히 깨우친것은 아니지만 뭔가 느낌은 오네요 정말 감사합니다.
시간 내서 봐주셔서 감사합니다. 화이팅입니다!
파이썬 책 몇권 보구 다른책 보러 서점가는 길에 워니님 책보지마란 첫 영상 보구 발길 돌려 바로 놋북들고 나왔는데 여까지 다봤어요! 강의 아주 도움 되네요.. 질문이 있는데 기초 문법을 좀 익혔으면 다음 공부법은 어떻게 해야 재미있을까요? ㅜ 인터넷에 있는 알고리즘 문제를 풀어보려니 도저히 손도 못대겠더라구요 ㅜ
목적이 뭔지에 따라서 다를거 같은데 개발자로 취직이 목적이시면 알고리즘 문제를 쉬운거부터 해봐도 좋으실거 같고 그게 아니라면 일단 만들고 싶으신걸 하나 정하셔서 그걸 어떻게든 만들어 보시는게 좋은거 같아요.
강의 너무 잘 보고 있어요 ㅎㅎ 감사합니다
파이썬하면 크롤링하는 것도 나중에 알려주세요~!!
오~ 이미 코딩좀 해보셨나보네요! ㅎㅎ 좋아요
그동안 순탄했는데 여기서 벽을 만났네요 ㅜ 반복만이 답이다! 계속 돌려보고있습니다 화이팅
글로 읽는것보다 훨씬 이해가 쉽고 좋아요!
기초강의만 마스터하면 저도 파이썬 코딩할 수 있겠죠???ㅋㅋ
그럼요~ 차근차근
미쳤다... 이해가 너무 잘돼.... 스승님을 만난 기분입니다 :)
클래스, 오브젝트 강의 내용은 복습까지 이틀 걸렸네요.
덕분에 메리 크리스마스 보냈습니다 :-)
감사히 잘 배웠습니다!
늦었지만 메리 크리스마스 :)
두꺼운 책만이 정답이 아니라는걸 느끼고 갑니다.. 잘보고있어요!
최고디 이때까지 본 강의중 최곱니다!
감사합니다! 이제 강의 거의 막바지네요! 다음 편들에서는 더 재밌는거 많이 만들어 보는걸로!!
강의 잘 듣고 있습니다ㅎㅎ 댓글 보니까 저만 여기서 갑자기 뭔가 어려워졌다고 생각한게 아니었네요. 그래도 반복해서 듣다보니까 자연스럽게 이해했네요 감사합니다:)
다음주 코딩테스트 준비하는데 도움이 많이 되었습니다. 감사드리고, 많은 영상부탁드립니다~
화이팅!
여기서부터 갑자기 이해가 어려워서 앞 강의 다시 돌려봤는데 아직은 의미가 안 다가오네요ㅠㅠ열심히 해보겠습니다!! 좋은 강의 감사합니다:)
강의 내용도 내용인데 점점 영상 편집 이것저것 해보시는 게 느껴져욬ㅋㅋㅋ 빵틀 빵 사진 ㅋㅋㅋㅋ 항상 유익한 강의 감사드립니다!
이것저것 많이 해보죠? ㅋㅋㅋ
감사합니다. 책보면서 너무 이해하기 힘든거였는데.. 완전 이해가 쏙쏙 되네요!!
도움이 되서 다행입니다!
워니님 질문 드려도 될까요??ㅠ
함수만 사용할 땐
def say_hello() :
print("Hello!")
say_hello()
해도 함수 사용이되는데,
클래스 안에 입력해서 불러오면
def say_hello(): 괄호 안에 문자나 숫자 타입 이외의 내용이 입력 돼야 작동하네요.
몇번 두드려보다가, 아래 댓글 찾아보니 init함수에는 self를 첫번째 인자로 넣어줘야 한다고 말씀해주셨는데 그거랑은 다른 내용인것 같기도 해서 따로 댓글 남겨요ㅠ 그리고, 영상 정말 잘 보고 있습니다!!
다시 시작하는 코딩이지만 점점 확실한 개념이 잡혀 가는거 같아요. 감사합니다.
좋은 영상감사합니다만 궁금한점이 하나 있습니다.
self인자가 정확하게 어떤 역할인지 쉽게 잘 이해가 되질 않아서요.
클래스 안에 포함된 모든 함수가 self를 인자로 포함하는데 막상 오브젝트를 선언하거나 함수를 사용할 때는 self에 따로 값을 배정하지 않는 것으로 보입니다.
꼭 self라는 인자를 포함해야하나요?? (say_hello를 쓸때 to_name만 받고 self에는 따로 값을 안받고 있는 것 처럼요.)
나름 추론을 해보자면
처음에 __init__을 통해 이름과 나이를 받고, 받은 값을 self.name과 self.age로 지정한 후,
아래에 새로 정의하는 다른 함수들에서 같은 값을 일일이 받지않고 그대로 self.name 같은 변수를 사용할 수 있게 되는 역할인가 싶은데요.
이것도 사실 두루뭉술하게 받아들여지는데
귀찮으시더라도 조금 명확한 설명을 받을 수 있을까요??
최대한 간결히 적어보려고했는데.. 질문도 좀 갈팡질팡하는 것 같아 죄송스럽습니다
와우... 여기서부터 난이도가 많이 올라가네요. 다음 강의 이후로는 실제로 만들어본다고 하셨으니
열심히 들어볼께요
이 영상보고 몇날며칠을 고민하던 것들이 다 이해되었어요. 감사합니다.
진짜 책읽는 것 보다 훨씬 이해가 잘갔어요. 감사합니다 좋은 강의 올려주셔서
완전히 처음 보는 입장에서 헷갈리는 게 좀 있네용
1. 앞에 함수 강의에서 def 함수이름(인자) 였던 거 같은데 오늘 등장한 self라는 녀석은 제가 직접 지정하는 인자가 아니라 무언가 기능이 있나봐요
2. def 로는 전부 사용자가 지정하는 함수만 있는 건줄 알았는데 __init__ 이라는 녀석도 뭔가 다른거 같고...
전체적으로 뭐가 내가 정하는 건지, 뭐가 파이썬에서 제공하는 건지 헷갈리네용
강의는 정말 잘 듣고 있습니다~
감사합니다
self의 용도는 결국 클래스 내에서 클래스가 받는 변수를 변수로 받는 함수를 언급하기 위한건가요?? Init은 그 클래스의 변수를 받는 함수를 만들때 쓰는거고요.(ex.person(변수)) 클래스 부분이 좀 어려워서 여러 강의를 보았는데 워니님 강의덕에 이해한거같은데 잘 이해한게 맞는지 모르겠네요. 그리고 클래스개념이 파이썬의 객체지향코딩인건지두..
대충 맞게 이해하신거 같은데 여러번 돌려보세요! self는 클래스 안에 있는 인자나 함수에 접근하기 위함, init은 클래스 안에 있는 인자를 초기 설정 해주기 위한 함수, 이런식으로 이해하면 될거 같아요
아따~ 좋아요와 댓글을 안쓸수가 없게 만드는 영상입니다. 설명 진짜 잘하시네요~!!
ㅎㅎ 꼭 끝까지 완주하세요!
저는 이해가 조금 어려워서 여러번 보고 이해했어요 정말 최고의 강의에요 워니님 감사해요 앞으로도 잘 부탁드려요~
class animal:
def __init__(self, sound, name):
self.sound = sound
self.name = name
def animalsound(self):
print(self.name + ":" + self.sound + self.sound)
class nosound(animal):
def nanimal(self):
print(self.name + ":" + " (.....)")
사자 = animal("어흥", "사자")
사자.animalsound()
거미 = nosound(",,,,", "거미")
거미.nanimal()
방금 보면서 저혼자 이렇게 짜봤는데 결괏값에서 "어흥어흥" 사이에 띄어쓰기 하고싶은데,
그냥 print에 " " 이렇게 공백을 추가해주는것 말고는 방법이 없을까요?
강의는 정말 잘해주셔서 감사합니다.
그런데 제 목표는 안드로이드 스튜디오로 어플 한번 만들어보는건데 어떤식으로 배워가야 할까요?
일단은 올려주신 파이썬강의는 다 마스터 해놓고 넘어갈 생각입니다.
format 을 쓰는 방법도 있는데 " " 를 넣는것도 안 좋은 방법은 아니에요. 제가 올려놓은 "앱/웹사이트 만들고 싶으세요?" 영상에서 전반적인 내용을 알려드리니 한번 참고해보세요!
워니님 덕에 파이썬에 다시 관심을 가지게 되었습니다. 감사합니다.혹시 value의 값 뒤에 "개" 라는 것을 붙히기 위해서는 어떻게 해야 하나요?'사과' : 1개 이런식으로요
뜬금없이(?)나온 self는 그냥 일단 무조건 써줘하 하는 것이라고 외워도 무방할까요?(입문자 기준)
3회독이상했는데 이제 다 이해됐습니다 !! 마지막 클래스도 이해완료했네용 감사합니당 트윌리오이후로 좀만 더 올려주시면 감사하겠습니다 ㅠㅠ
유후~ 네 제가 담에 또 영상 올려드릴게요! 수고하셨어요
init 함수를 넣기 전에는 name="워니" 라고 했었는데, 사실상 이때의 name 은 변수가 아니라 클래스를 만들때 say_hello 라는 함수의 self.name 에 들어가는 정해진 것(값..? 하튼 워니) 인 것인가요? 그리고 init 함수를 도입했을때 self.name=name, self.age=age 이라고 하는 것은 init에서 설정한 변수(name, age)는 그 이후의 함수(say_hello, introduce)에서는 self.name, self.age 라고 써야하기 때문에 그것을 미리 정해놓는 과정이라고 이해해도 될련지요?? 그리고 self.name=name 이라고 하는게 필수인지, 또 정해져있는 형식인지, 는 그냥 기억하면 되는 것인지요..? self.name=name 이라던지, name="워니" 라던지 init 전에는 name이 앞에있고(name="워니"), init을 넣은 후에는 self.name이 앞에있어서(self.name=name) 헷갈리네요. 질문이 장황했다면 죄송합니다.. 항상 강의 잘 듣고있습니다^^
설명을 정말 정말 쉽게 해주시는 거 같습니다. 굿
쉽게 설명 잘하시네요 ㄷㄷ
내일 프로그래밍기초 시험인데 이 강의를 보고 클래스를 이해하는 데 큰 도움이 된것같아요! 감사합니다~
강의 좋네요.
지난학기 수업에서 열심히 class배웠는데 빠르게 복습할 수 있어서 좋았어요~~~
좋아요~~~
너무 재밌고 쉽게 알려주셔서 잘 따라가고 있습니다 감사합니다ㅎㅎ
꼭 더 발전해서 사람들에게 더 나은 가치를 제공하는 프로그래머가 되도록 성장해보겠습니다 ^^
화이팅!!
강의 정말 좋아요! 짧은 시간에 몰입도 되구요!
만 2일만에 이해했습니다. 감사합니다! ㅎㅎ
3번 들어보니까 겨우 이해가 되네요... 감사합니다.
항상 어려워하던 것 인데 도움이 많이 되는 영상입니다! 감사합니다
정말 감사합니다. 열심히 배워서 워니님처럼 컴퓨터 잘 다룰거에요!!
13분만에 클래스를 이렇게 이해가 쏙 되게 설명해주시다니! 너무 잘 봤습니다:)
봐주셔서 감사합니다 ㅎㅎ
잠깐 유니티 하다가 다시 파이썬 보니깐 이해가 확가네요 ㅋㅋㅋㅋ
강의 너무 좋아요 감사합니다!!!
시간 내서 봐주셔서 감사합니다
좋은강의 감사합니다 ^^
다음영상나올떄까지 복습할게요~
좋아요!!
헐 전까진 괜찮다가 여기서 훅 막혀버리는건 뭐죠 ㅠㅠㅠㅠ
3:30 에 함수 __init__에 인자를 self랑 name을 만드셨는데,
그러면 __init__(self, name): 이렇게 코딩이 되는것은 알겠는데요
인자의 순서를 바꿔보면 어떻게 될까 궁금해서 __init__(name, self): 로 해보면
에러가 나와요..
에러내용은 AttributerError: 'str'object has no attribute 'name'이라는데
인자 순서를 바꾸어도 상관없는것 아닌가요??
넘 좋은 질문입니다! 클래스 안의 함수들은 특별해서 첫번째 인자를 항상 self 인자로 줘야돼요
Teccboi Wonie 아아아아 그렇군요ㅋㅋㅋ 감사합니다!!
좋은 강의 감사합니다 잘보고있어요
와 최고의 강의~!! 너무 재밌어요
좋은 말씀 해주셔서 감사합니다. 이제 얼마 안남았어요 완주까지!
구독, 좋아요 꾹꾹 누릅니다
ㅎㅎ 동영상 완전 유익한거같아요 !!
잘보고있습니다
화이팅하세요 !!
같이 끝까지 달려요~
궁금한 점이 있는데요 함수 내에서 변수 선언할 때는 단순히 x=1이런 식으로 선언 하는게 아닌
self.x=1 이런식으로 선언해야 하는것인가요?
이해가 잘돼요!
안녕하세요. 강의 잘 보고 있습니다 :)
2:20 초에서
p = Person()
p.say()
를 했는데,
Person.say() 로 하면 오류가 나는데 이렇게는 하면 안되는 건가요?~
넹 왜냐면 Person은 빵틀이고 p 는 그 빵틀로 빵을 만든거니까 달라요! 나중에 시간 나시면 instance method vs class method 를 한번 검색해보세요
@@WonieSong 더 공부해볼게요 ! 감사합니다 :)
이거 대박이네요
Self에 대해 제가 공부한 것이 도움이 될까 해서 적어봅니다.
self는 해당 클래스의 인스턴스를 가리킵니다.
와... 바로 이해 됐네요 ㅎㅎ
뭔가 쉽게 설명해주는데 뇌가 막힌다...
class Person:
def__init__(self,name):
self.name=name
def say_hello(self):
print("안녕! 나는"+ self.name)
wonnie=Person("워니")
micheal=Person("마이클")
jenny=Person("제니")
wonnie.say_hello()
micheal.say_hello()
jenny.say_hello()
2번쨰 라인 유효하지않다는데 뭐가 문제 인가요???
파이썬은 들여쓰기/내어쓰기가 중요해요! 그걸 한번 고쳐보세요.
10분 17초에 12번라인의 의미가. Person클래스가 부모클래스이고 Police클래스가 자식클래스여서 Person의 기능들을 Police에게 상속해준다는 뜻인가요..??
넹 맞아여
파이썬엔 퍼블릭, 프리베잇같은 접근제한자개념이 없는건가요그럼?
와 나만알고싶은 유튜버다!!!
나만 알고싶은 구독자다
파이썬의 기초처럼 알고리즘도 기초에 대해 공부할 수 있는 교재나 강좌가 없을까요? 교재는 찾아보니까 대부분 대학교재여서 왠만큼 수학공부를 하지않으면 볼수 없게 되어있던데...
Cracking the coding interview 라는 책이 유명해요!
@@WonieSong 감사합니다~
append의 사용은 기존 리스트 끝에 새로운 데이터를 추가한다고 알고있습니다. a=[“x”, ”y”, ”z”] 일때 f를 추가하려면 print(a.append(“f))를 했는데 None 이 뜹니다 해결방법에 대해 알려주시면 감사하겠습니다!
self가 다른 프로그램에서 this와 같다고 생각되는데 맞나요?
넵 맞습니다!
다 좋은데 화질이 넘 아쉬워요 ㅜㅜㅜ 오래 보고 있으려니 눈이 아프네유
class란 의미가 어렵네요 ㅠㅠ 몇번 더 봐야겠어요 ㅠㅠ
화이팅! 계속 보시면 이해 하실거에요
c언어 기초공부로 입문중에 있다가 워니님 알고나서 바로 고수가 될것같아요
와~ 좋아요
유튜브에서 간단한 게임 따라 만드는 연습을 하고 있습니다. 그 때 클래스를 만들어 쓰게 되는데 만든 클래스의 reference를 찾을 수 없다고 뜨네요ㅜㅜ 물론 코딩한 것을 봐야 아시겠지만 이런 경우는 보통 어떤 것들 때문에 문제가 발생하는지 궁금해요!
이것만 보고는 도저히 ㅠㅠㅠ 쓰려고 하는 클래스가 정의가 안된거 아니에요? 클래스 이름 오타 났거나 파일 임포트가 제대로 안됐거나
@@WonieSong pycharm을 쓰고 있는데 재부팅하니 reference 오류는 갑자기 해결이 됐어요! 알쏭달쏭하네요ㅠㅠㅠㅠ
혹시 14살인데 컴퓨터 시작하기에 너무 늦지 않았을까요?
네 10년 뒤에 시작해도 안 늦겠네용..
댓글 보다가 제일 웃겼음 ㅋㅋㅋㅋㅋㅋ
14살이면 여기서 아마 제일 어릴거임.. 파이팅 혜빈쓰
이런건 돈 주고도 할 수없는 질문... 너무 깨어있는 친구넹...ㅎㅎ파이팅...
class 생성할때요 class():랑 class: 의 차이점은 뭔가용 ㅠㅠ
class Person:
def __init__(self,name, age):
self.name = name
self.age = age
def say_hello(self, to_name):
print("안녕!" + to_name + "나는" + self.name)
def introduce(self):
print("내 이름은" + self.name + " 그리고 나는" + str(self.age) + "살이야")
wonie = Person("워니",20)
wonie.introduce()
입력해도 아무것도 안뜨는데 뭐가 문제인지모르겠어요ㅠ
Self의 용도가 뭔가요?
if문,where문 잘하는,쉽게 이해하고 잘쓰는방법 좀 알려주세요~돌아서면 까먹어요ㅜ
굳이 외우려고 하지 마시고 그냥 코딩을 많이 하다 보면 한글 쓰는 것처럼 안 까먹어요 ㅎㅎ
1. 이 강좌에서 __init__ 함수가 왜 들어 와야하는지 잘 모르겠습니다. 그냥 다른 함수명을 쓰면 안되고 반드시 init함수만 써야 하나요?
다음 강좌에서는 cat과 dog 모쥴을 불러오기 위해서 쓴 것은 이해되는데요.. 차이를 잘 모르겠습니다.
2. self의 역할: 반드시 self라는 변수만 써야 하는 변수명을 바꾸면 작동을 않합니다.
말씀해주신 것과 같이 만들어진 오브젝토에서 변수를 활용하기 위한 것인데 index? 같은 건가요?
잘 몰라서요. 답변부탁드려요. 감사합니다.
init함수는 class가 하나의 parameter를 받을 때는 생략가능하나 두개 이상을 받을 때는 알 수 없으니 init 함수에서 지정해주는 것이 맞는건가요?
init 쓰지 않은 예제와 쓴 예제를 보니 그런 것 같습니다.
init은 클래스를 만들 때 변수를 입력받는 기능 같아요.
처음에 name="워니"할 때는 클래스를 만들면서 안에 변수를 미리 적었지만
init을 쓰면 나중에 클래스를 가져다 쓰면서 변수도 나중에 적었죠.
init말고 다른 함수들도 변수를 입력받을 수 있지만
클래스 만들면서 미리 변수 입력만 받아 놓는 용도로만 쓰는거죠.
다른 함수들이 공동으로 같이 쓸 수 있도록이요.
self는 클래스 안에서만 쓰는 변수들을 위한 기능(?), 용어(?) 일거에요.
그러니까 저 클래스 안에서만 유효한 변수일걸요 아마?
__init__함수는 "생성자"라고 불리는 내장함수라고 생각하시면 됩니다. 인스턴스(객체)가 생성될때 자동으로(없어도) 불려지는 함수입니다. 즉
인스턴스가 생성될 때 무조건 존재하는 함수에요. __init__을 안만드셔도요.
그 함수를 재정의해서 사용하는 거라고 생각하시면 되구요.
self의 역할은 함수를 호출한 객체 자기자신을 의미하기 위한 파라미터구요. 이 파라미터는 obj.func() 라는 형식으로 메소드를 호출 할 때
self가 obj를 의미하게 됩니다. 당연히 obj라는 것을 명시하였기 때문에 인자로 obj.func(obj) 처럼 명시하지 않는 것이에요.
@@davidpark2584 init 함수의 경우에는 파라미터를 전혀 갖지 않더라도 만들어도 됩니다.
init 함수는 initialization. 즉 "초기화". 이 객체를 초기값으로 초기화하여 생성하기 위해서 수행하는 내장함수이고
파라미터를 주는 이유는 인스턴스마다 초기화되야하는 값이 다를 수 있으므로 (위 영상에선 사람 이름 같은)
파라미터로 준 후에 그 값으로 그 사람의 속성(필드, 변수)를 초기화해주는 것입니다.
아직 프로그래밍에 대한 개념이 전반적으로 없으신 것 같아서 제 말이 잘 이해가 안되실 텐데,
계속 궁금해하시고 자기만의 가설과 가정을 내리고, 논리적이고 타당성이 존재하는 지 검증하면서 공부하시면
될 것 같습니다. 지금은 질문하시기에는 아직 개념이 너무 부족하신 것 같아요.
현재 주신 질문처럼 가설을 내리고 가정을하고 질문하시는 태도는 너무 좋은데, 아직 모르시는게 너무 많으신 것 같아서
조금 더 공부하시고 그래도 모를 때 질문하시는 것이 훨씬 빠르고 더 많은 정보를 얻을 것 같습니다.
은근 세뇌당하는 중 ㅎㅎ 워니님은 스무살임 ㅋ
대부분의 예제에 워니님은 스물ㅎㅎㅎ
안녕하세요 지금 쓰시는 에디터 이름이 뭔가요?..
미쳤다... 모르겠어
self와 .(점찍기)의 역할과 원리가 궁금합니다ㅜㅜ 검색해봐도 잘 안나오네요
self는 해당 클래스의 인스턴스를 가리킵니다.
상속을 하나만 받는데 만약에 jenny가 police와 programmer class를 모두 상속받을 때는 어찌 해야 하나요?
테크보이님~! ㅠ
self 라는 인자에 직접 이름을 주면 작동이 안되던데 왜 그런거에요?
워니님 제가 한번에 이해가 안됩니다 그럴 땐 어떻게 해야 되나요??
10번 봐야해요
상속한 클래스의 인자는 왜 사용 못하나염 ㅠㅠ
Self 와 init이 이해가 어렵네요 ㅠ
갑자기 self가 나오는데...이건 뭔데 이리저리 쓰이는거죠?
self 키워드에 대해서 저처럼 궁금해하는 사람들을 위해 올립니다.
self 키워드
클래스 외부에서 해당 함수를 호출한 객체를 찾는 일은 객체의 이름만 알면 쉽게 찾을 수 있습니다.
하지만 클래스 내부에서 호출한 객체를 찾으려면 마땅한 방법이 없습니다.
그래서 도입된 것이 바로 self 키워드입니다.
파이썬에서 self 키워드는 해당 함수를 호출한 객체를 가리킵니다.
클래스랑 펑션의 차이는 없습니다. 더 넓은 펑션을 그냥 편의상 클래스라고 부를 뿐입니다.
클래스는 공통적으로 쓰일 인자를 설정 그러나 실행은 하지 않는다. 환경설정 같다. 함수는 어떠한걸 실행.