1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#-*- coding:utf-8
'''
Created on 2022. 4. 7.
@author: hwakgo
'''
class Person :
lastname = '김' #★ java에선 스테틱 변수에 해당(=클래스 변수)
def setname(self,name):#★ class 안에서 함수를 만들면 def setname(self)처럼 self가 자동으로 붙음
#print(self) #★ self에는 객체의 주소가 들어가는 것을 확인할 수 있음. self 대신에 s로 대체 가능(지우면 안 된다)
self.fullname = self.lastname + name #★ fullname은 java에선 인스턴스 변수(클래스 영역에서 static이 아닌 변수)
return self.fullname
#★ 객체 생성 - java에선 Person p1 = new Person()
p1 = Person()
p2 = Person()
print('p1:',p1)#▶p1: <__main__.Person object at 0x0000022789884D31>
print('p2:',p2)#▶p2: <__main__.Person object at 0x00000227898848B1>
#객체 생성할 때마다 주소가 다르게 잡히는 것을 알 수 있음
print(p1.lastname)#▶김
print(p2.lastname)#▶김
print(Person.lastname)#▶김
#여러 객체가 클래스 변수를 공유해서 사용하고 있음
fn1 = p1.setname("수현")
print('fn1:',fn1)#▶김수현
fn2 = p2.setname("민호")
print('fn2:',fn2)#▶김민호
|
cs |
▼ (이전 게시물) [확고의 쓱~ 훑어보는 기록] Python - 화일입출력 예제(3) (txt파일에 구구단 입력하기 / read, readline, readlines 함수 차이)
▼ (첫 번째 게시물) [확고의 쓱~ 훑어보는 기록] Python - 출력 예제 (print / str, int 함수 / 서식 문자 사용)
728x90
반응형
댓글