goodthings4me.tistory.com
■ 객체 변수의 선언과 초기화
# 아래 클래스에서 메서드 정의만 보이고 변수 선언은 없지만, 파이썬은 객체에 필요한 변수 i를 알아서 생성해준다. i변수가 생성되는 시점은 객체 내에서 해당 변수를 대상으로 대입연산을 처음 진행하는 순간임
class Simple1:
def set_i(self, i):
self.i = i
def get_i(self):
return self.i
s1 = Simple1()
s1.set_i(200) # 객체 내 변수 i 생성, 200 대입(할당)
print(s1.get_i()) # 200
s12 = Simple1()
#s12.get_i() # 객체 내 i 변수 미생성 단계에서 호출하면 오류 발생
# AttributeError: 'Simple' object has no attribute 'i'
# 클래스 정의할 때, 객체 생성 시 자동으로 호출되는 __init__ 메서드 정의로 객체 내 필요한 모든 변수를 초기화한다.
class Simple2:
def __init__(self):
self.i = 0
def set_i(self, i):
self.i = i
def get_i(self):
return self.i
s2 = Simple2() # 객체 생성과 변수 초기화 완료
print(s2.get_i()) # 0
■ 파이썬 클래스와 객체의 독특한 특성
# 객체 생성 후 변수와 메서드 추가하는 특성
class Simple3:
def get_i(self):
return self.i
s3 = Simple3()
s3.i = 20 # 생성된 객체에 변수 i 추가, 값 20 대입
print(s3.get_i()) # 20
s3.hello = lambda : print('hi~~') # 생성된 객체에 hello() 메서드 추가
print(s3.hello())
# 클래스에 변수 추가하기
class Simple4:
def __init__(self, i):
self.i = i
def get_i(self):
return self.i
Simple4.n = 7 # 클래스 변수 n 추가, 초기화
# 클래스에 직접 클래스 변수를 만들 수 있다.
s4 = Simple4(5)
print(s4.i) # 5
print(s4.get_i()) # 5
print(Simple4.n) # 7
print(s4.n) # 7
# 객체에 찾는 변수가 없으면 클래스에서 그 변수를 찾는다.
# 자료형 확인 시 사용하는 type의 정체
print(type(type)) # <class 'type'> - 클래스임
print(type([1, 2])) # <class 'list'> - [1, 2]는 list 클래스의 객체
print(type(list)) # <class 'type'> - list는 type 클래스의 객체
print(type(tuple)) # <class 'type'>
print(type(str)) # <class 'type'>
print(type(int)) # <class 'type'>
print(type(bool)) # <class 'type'>
print(type(Simple4)) # <class 'type'>
# Simple4 클래스도 type 클래스의 객체임
#### 클래스는 type이라는 클래스의 객체이다.
#### 고로, 객체를 대상으로 할 수 있는 것 대부분을 클래스를 대상으로도 할 수 있다.
# 클래스가 객체이기 때문에 변수에 클래스를 담을 수 있다.
Simple4.x = 10
Simple4.y = 20
simple = Simple4
ss1 = simple(10)
ss2 = simple(20)
print(ss1.get_i(), ss1.n, ss1.x, ss1.y) # 10 7 10 20
print(ss2.get_i(), ss2.n, ss1.x, ss1.y) # 10 7 10 20
참고자료 : 윤성우의 열혈파이썬 중급편
블로그 인기글
엑셀 시트 분리 저장 - 엑셀 파일의 시트를 분리하여 저장하기
엑셀을 사용하다 보면 엑셀 시트를 분리해서 저장해야 할 때가 있다. 최근에도 이런 경우가 발생하여 구글링 후 엑셀 시트 분리 업무를 수행하고 내친김에 다른 사람들도 사용할 수 있도록 파이썬 tkinter로 프로그램으로 만들어 보았다. Excel Sheets 분리 저장하는 프로그램(with 파이썬 Tkinter) ※ 프로그램 다운로드(네이버 MYBOX에서 공유) : ExcelSeparateSheets.zip ▶ 프래그램을 실행하면 다음과 같이 초기 화면이 보인다. 찾아보기 : 엑셀 파일이 있는 폴더를 선택한다. (프로그램이 있는 최상위 디렉터리가 열린다) 실행하기 : 프로그램 실행 버튼 상태 변경 순서 : 실행전 → 실행 중 → Sheet "OOO" 분리 저장 중 → 실행 완료 실행 결과 확인 : 엑셀 파..
goodthings4me.tistory.com
[엑셀] 근무연수 및 근무 개월수 계산하는 함수
직장을 다니다 보면 몇 년 몇 개월 또는 전체 며칠을 다니고 있는지 궁금할 때가 있다. 아니면, 총무나 인사 일을 할 때 직원들의 근속연수 또는 근속개월수 등을 계산하고 싶을 때도 있다. 이런 경우 엑셀 함수를 활용하면 어떨까!! 근무연수 및 근무 개월수 계산 함수 알아보기 엑셀에서 근무연수 또는 근무 개월수 계산하는 것은 datedif() 함수를 사용하면 간단하게 해결할 수 있다. 아래 이미지를 보면서 설명하면, 셀 E1에 기준일자를 입력하고, 근무연수를 구할 때는 =datedif(B3,$E$1,"Y")&"년" 을 입력한다. 근무개월수는 =datedif(B3,$E$1,"M")&"개월" 처럼 입력한다. 일수까지 파악할 때문 별로 없지만, 심심풀이로 구해보고 싶을 때 =datedif(B3,$E$1,"D")..
goodthings4me.tistory.com
유튜브 영상 등의 URL 주소를 QR코드로 만들기
네이버 QR코드, makeQR, MUST QRcode, 무료 온라인 QRCode 생성기 등의 웹사이트에서 유튜브 영상 등의 URL을 입력하여 QR코드를 만들 수 있다. QR코드를 생성할 수 있는 사이트와 프로그램 URL 주소를 붙여넣기 한 후 "QR 코드 생성" 버튼을 클릭하면 큐알코드가 이미지로 생성되고, 다운로드도 할 수 있는 사이트 https://truedoum.com/useful/qrcode/ # 유튜브에서 동영상 URL을 복사하는 방법 유튜브에서 QR코드를 만들 동영상을 검색한다. 해당 동영상을 클릭한다. 동영상 위에서 마우스 우클릭 후 나오는 팝업창에서 “동영상 URL 복사”를 클릭하거나 영상 하단의 “공유”를 클릭하여 나온 창에서 URL를 복사한다. 아래의 웹사이트 중 하나를 선택한 후 복사..
goodthings4me.tistory.com
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
[python] 파이썬 파일 쓰기, 읽기 - open(), read(), readline(), readlines() (0) | 2020.09.11 |
---|---|
[python] 파이썬 클래스 상속(inheritance) (0) | 2020.09.10 |
[python] 파이썬 sort(), sorted() 알아보기 (0) | 2020.09.08 |
[python] 파이썬 enumerate와 문자열 비교 (0) | 2020.09.08 |
[python] 파이썬 시간 관련 함수, time() datetime() timezone() (0) | 2020.09.08 |
댓글