(study) 파이썬 입문 (10주차) 5월9일
클래스 (밈과 클래스, motivation)
-
원본
-
무슨말인지 하나도 몰랐어요
-
하나하나가 요즘 많이 쓰는 말인것은 알겠음
-
멈춰까지 유행어였음!! (몰랐어요, 댓글보고 알았음)
-
이런걸 인터넷밈 혹은 줄여서 그냥 밈이라고 부른다.
-
너무 재밋어서 사람들이 따라하면서 유행시킵니다. (약간변형하기도 하고요)
- 분홍밤의 어쩔티비: https://www.youtube.com/watch?v=_lQqPec8dFU
-
밈이란? (유전자처럼) 복제가능한 something
- 이기적 유전자에서 제시한 개념
- 유전자는 (1) 복제 (2) 변형되면서 전파되는 속성이 있다는 사실을 관찰
- 종교, 사상, 이념도 유전자처럼 (1) 복제 (2) 변형되면서 전파되더라..
- 밈 = 유전자의 일반화된 개념 = 복제가능한 something
-
인터넷 밈
- 밈의 한 형태
- 인터넷을 통하여 (1)복제 (2)변형되면서 전파되는 something
-
기원: 불분명
- 가설1: 초등학생이 유투브채널 개설할때 XX티비 라고 개설하는것에서 유래?
- 가설2: "어쩌라고 티비나봐"의 줄임말?
-
발전: 인터넷을 통하여 사람들이 쓰기시작하면서 밈화
- 변형1: 저쩔티비, 안물티비, 안궁티비..
- 변형2: 어쩔냉장고, 어쩔세탁기, 어쩔다이슨청소기내돈내산..
Note: 사실 내돈내산도 밈이라고 볼 수 있음
-
유행
-
기원: 인터넷방송?
-
기원: 트위치?
-
전혀 다른 성질을 가진 밈으로 재탄생한 경우임
- 만들어진 계기: 트위치에서 tts를 이용해 조롱을 하기 위해 탄생
- 유명해진 계기: 택배실수
- 슉슈슈슈슉: 돌하르방과 결합.. (돌하르방의 기묘한 자세와 결합하여 더 재미있음)
-
기원 학교폭력, 멈춰
-
발전 (뒤늦게 생각해보니까 너무 어이없고 재미있음)
-
이것 역시 전혀 다른 성질을 가진 밈으로 재 탄생한 경우임
-
딱히 정형화 하기 어렵지만 위의예제들은 복제가 되는 어떠한 틀이 있다. 이것을 밈(=유전자)라고 부른다!!
-
많은 사람들에게 그 복제내용이 확산되어 재생산된다. 이것을 밈화라고 한다.
-
그대로 복제하지 않고 변형을 거치며 전혀 다른 성질을 가질 수 있다.
-
밈이 또 다른 밈을 만들수 있다.
- 신혜선의 어쩔티비는 다양한 밈의 결합체, 그리고 신혜선의 어쩔티비 자체가 밈화 되었음.
- 내돈내산 밈과 어쩔티비밈의 변형이 결합하여 어쩔다이슨청소기내돈내산 이 탄생.
-
클래스의 정의
- 많은 교재에서 정의를 회피한다.
- 대신에 비유적으로 설명하거나 다른 대상을 가져와서 설명한다.
-
클래스에 대한 비유적 설명 (implicit definition)
- 클래스는 과자틀과 비슷하다. 클래스란 똑같은 무엇인가를 계속 만들어 낼 수도 있는 설계도면이고 객체란 클래스로 만든 피조물을 뜻한다. (점프투파이썬)
- In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods). // 객체 지향 프로그래밍에서 클래스는 상태(멤버 변수) 및 동작 구현(멤버 함수 또는 메서드)에 대한 초기 값을 제공하는 객체 생성을 위한 확장 가능한 프로그램 코드 템플릿입니다.
- http://www.tcpschool.com/java/java_class_intro
- https://javacpro.tistory.com/29
- https://ko.wikipedia.org/wiki/%ED%81%B4%EB%9E%98%EC%8A%A4_(%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)
- 기타 서적들.. (진짜 무슨 한 챕터씩 설명하고 있음)
-
클래스에 대한 명시적 정의 (책에 나온것 아니고 제 생각입니다!!)
- 클래스는 복제, 변형, 재생산을 용이하게 하기 위해 만들어진 확장가능한 프로그램의 코드의 단위(extensible program-code-template)이다. 즉 밈이다.
-
클래스도 결국 밈이다. 생각해보면 클래스를 만들고 사용하는 과정이 인터넷에서 밈을 만들고 노는것과 닮아 있다.
- 1단계: 개념의 인지 (이거 재미있겠다 밈으로 만들자 // 이 코드 쓸모있다, 이 코드를 쉽게 찍어내는 클래스로 만들어두자)
- 2단계: 복사하고 싶은 속성을 추려 복사가능한 틀을 만듬 (밈 초기 컨텐츠 // 클래스의 선언)
- 3단계: 밈에서 다양한 컨텐츠를 재생산, 때로는 변형하여 재생산, 때로는 그것을 응용한 다른밈을 만듬 (밈화 // 클래스의 인스턴스화, 상속, 메소드오버라이딩)
-
멈춰밈을 이용하여 코스피하락, 수강신청매크로등 다양한 예제를 만들고 놀고 싶다.
from IPython.core.display import HTML
-
예제1
'제 이름은 {}입니다'.format('최규빈')
-
예제2
'제 이름은 {}이고 사는곳은 {}입니다.'.format('최규빈','전주')
'제 이름은 {}이고 사는곳은 {}입니다.'.format('전주','최규빈')
'제 이름은 {}이고 사는곳은 {}입니다.'.format('전주')
-
예제3
'제 이름은 {name}이고 사는곳은 {add}입니다.'.format(name='최규빈',add='전주')
'제 이름은 {name}이고 사는곳은 {add}입니다.'.format(add='전주',name='최규빈')
-
예제1
HTML("<p> 이름 </p>")
-
예제2
"<img src='https://stat.jbnu.ac.kr/sites/stat/atchmnfl_mngr/imageSlide/469/temp_1573001043314100.jpg'>"
HTML("<img src='https://stat.jbnu.ac.kr/sites/stat/atchmnfl_mngr/imageSlide/469/temp_1573001043314100.jpg'>")
-
예제3
HTML("<p> 전북대학교 </p> <img src='https://stat.jbnu.ac.kr/sites/stat/atchmnfl_mngr/imageSlide/469/temp_1573001043314100.jpg'>")
-
밈을 위한 이미지 주소
url1='https://github.com/guebin/IP2022/blob/master/_notebooks/2022-05-07-stop1.jpeg?raw=true'
url2='https://github.com/guebin/IP2022/blob/master/_notebooks/2022-05-07-stop2.png?raw=true'
-
예제1: 원본
htmlstr = "<p> {title} </p> <img src= '{url}'> <p> {end} </p> "
HTML(htmlstr.format(title='학교폭력',url=url1,end='멈춰~~~~'))
-
예제1: 코스피하락
HTML(htmlstr.format(title='코스피하락',url=url1,end='멈춰~~~~'))
-
예제3: 수강신청 매크로
HTML(htmlstr.format(title='수강신청 매크로',url=url1,end='멈춰~~~~'))
-
함수의 선언
def stop():
htmlstr = "<p> {title} </p> <img src= '{url}'> <p> {end} </p> "
display(HTML(htmlstr.format(title=ttl,url=url,end=end))) #display 명시해야 명확하게 출력가능
ttl = '학교폭력'
url = url1
end = '멈춰~~~~'
stop()
ttl = '코스피하락'
url = url1
end = '멈춰~~~~'
stop()
ttl = '수강신청 매크로'
url = url1
end = '멈춰~~~~'
stop()
ttl = '수강신청 매크로'
url = url1
end = '멈춰!!!!!'
stop()
ttl = '코스피하락'
url = url1
end = '멈춰!!!!!'
stop()
- 앗 실수
ttl = '코스피하락'
url = url1
end = '멈춰~~~~'
stop()
ttl = '학교폭력'
url = url1
end = '멈춰~~~~'
stop()
ttl = '코스피하락'
url = url1
end = '멈춰~~~~'
stop()
ttl = '학교폭력'
url = url2
end = '멈춰!!!!!'
stop()
ttl = 'KOSPI 하락'
url = url1
end = '멈춰!!!!!'
stop()
class STOOOP: # STOOOP 은 양식문서의 이름이라 생각할 수 있다.
title = "학교폭력"
url = url1
end = "멈춰~~~~"
def stop(self): ## 규칙1: class안에서 정의된 함수는 첫번째 입력으로 무조건 self
htmlstr = "<p> {title} </p> <img src= '{url}'> <p> {end} </p> "
display(HTML(htmlstr.format(title=self.title,url=self.url,end=self.end)))
## 규칙2: class안에서 정의된 변수 (title, url, end)를 쓰려면 "self.변수이름"의 형태로 써야함
school = STOOOP()
# STOOOP이라는 이름의 양식문서를 복사해 하나의 hwp를 파일을 만들어 밈을 생성하고 그 파일이름을 school이라고 하자.
# 그러니까 STOOP.hwp 와 school.hwp가 있는 상황
school.title
school.url
school.end
school.stop()
kospi = STOOOP() # 코스피하락 멈춰를 위해 STOOP.hwp양식문서에서 하나의 밈을 찍어낸다(=kospi.hwp 생성).
kospi.title, kospi.url, kospi.end
kospi.title = '코스피하락' # kospi.hwp 제목을 코스피하락으로 변경
kospi.title, kospi.url, kospi.end
kospi.stop()
macro = STOOOP()
macro.title, macro.url, macro.end
macro.title = '수강신청 매크로'
macro.title, macro.url, macro.end
macro.stop()
macro.end = '멈춰!!!!!'
macro.stop()
kospi.stop()
school.stop()
kospi.stop()
school.url = url2
kospi.title = 'KOSPI 하락'
school.stop()
kospi.stop()
-
"수강신청 멈춰"의 이미지를 신혜선으로 변경하고 출력해볼 것
- macro.url 변경
- macro.stop() 을 사용
macro.url = url2
macro.stop()