# 클래스 - 함수랑 변수들의 합
# 오브젝트(인스턴스) - 클래스를 이용해서 만든 물체
# ex) 클래스 == 빵틀 / 오브젝트 == 빵
class Person:
name = "워니"
def say_hello(self):
print("안녕! 나는" + self.name) # say_hello() 함수의 self라는 인자가 하는 역할
p = Person() # p라는 오브젝트 생성
p.say_hello() # p라는 인자에서 say_hello()라는 함수를 가져옴
print("================")
print("================")
# name이라는 변수를 "워니"로 고정시키지 않고 오브젝트를 만들때 새로 이름 할당
class Person: # initialize(초기화)를 줄여서 init이라고 함
def __init__(self, name): # __init__() 함수는 self를 첫 인자로 받고,
# Person()에서 새로 쓸 변수를 설정할 수 있음
self.name = name
def say_hello(self):
print("안녕! 나는" + self.name) # say_hello() 함수의 self라는 인자가 하는 역할
wonie = Person("워니") # wonie라는 오브젝트 생성
michael = Person("마이클") # michael라는 오브젝트 생성
jenny = Person("제니") # jenny라는 오브젝트 생성
wonie.say_hello() # wonie라는 인자에서 say_hello()라는 함수를 가져옴
michael.say_hello() # michael라는 인자에서 say_hello()라는 함수를 가져옴
jenny.say_hello() # jenny라는 인자에서 say_hello()라는 함수를 가져옴
print("================")
print("================")
class Person: # initialize(초기화)를 줄여서 init이라고 함
def __init__(self, name): # __init__() 함수는 self를 첫 인자로 받고,
# Person()에서 새로 쓸 변수를 설정할 수 있음
self.name = name
def say_hello(self, to_name):
print("안녕! " + to_name + " 나는 " + self.name) # say_hello() 함수의 self라는 인자가 하는 역할
wonie2 = Person("워니") # wonie라는 오브젝트 생성
michael2 = Person("마이클") # michael라는 오브젝트 생성
jenny2 = Person("제니") # jenny라는 오브젝트 생성
wonie2.say_hello("철수") # wonie라는 인자에서 say_hello()라는 함수를 가져옴
michael2.say_hello("영희") # michael라는 인자에서 say_hello()라는 함수를 가져옴
jenny2.say_hello("미지") # jenny라는 인자에서 say_hello()라는 함수를 가져옴
print("================")
print("================")
class Person: # initialize(초기화)를 줄여서 init이라고 함
def __init__(self, name, age): # __init__() 함수는 self를 첫 인자로 받고,
# Person()에서 새로 쓸 변수를 설정할 수 있음
self.name = name
self.age = age
def say_hello(self, to_name):
print("안녕! " + to_name + " 나는 " + self.name) # say_hello() 함수의 self라는 인자가 하는 역할
def introduce(self):
print("내 이름은 " + self.name + " 그리고 나는 " + str(self.age) + " 살이야")
# age 는 숫자 타입을 가진 변수로 문자열 타입으로 캐스팅을 해줘야 함
wonie3 = Person("워니", 20) # wonie라는 오브젝트 생성
wonie3.introduce()
print("================")
print("================")
# 과일 숫자 세는 프로그램 만들기
fruit = ["사과", "사과", "바나나", "바나나", "딸기", "키위", "복숭아", "복숭아", "복숭아"]
d = {}
# d = {"사과": 1}
for f in fruit: # 반복문으로 fruit이라는 list에 있는 값들이 f로 하나씩 들어옴
# f = "사과"
if f in d: # "사과" 라는 key가 d 라는 딕셔너리에 들어있어?
d[f] = d[f] + 1 # 그럼 "사과"" 갯수를 하나 올려줘
else:
d[f] = 1 # 만약 "사과"란느 애가 없으면, 그걸 딕셔너리에 넣고 value는 1로 만들어줘
print(d)
# 자료구조 (리스트, 튜플, 딕셔너리)
# List(리스트) -- 엘레멘트 element 여러개를 그룹핑할 때 쓰임
# Tuple(튜플) - list에서 쓰는 것들 대부분 사용 가능
# Dictionary(딕셔너리) - Key와 Value로 이루어져 있는 자료구조
x = dict()
y = {}
print(x)
print(y)
print("================")
print("================")
x = {
"name" : "워니",
"age" : 20,
}
print(x)
print(x["name"]) # x라는 Dictionary(딕셔너리)에 name이라는 Key에 있는 Value가 뭔지 출력
print(x["age"]) # x라는 Dictionary(딕셔너리)에 age라는 Key에 있는 Value가 뭔지 출력
# * List(리스트)는 mutable(가변)이기에 Dictionary(딕셔너리)의 Key를 쓸 수 없음
print("================")
print("================")
# Dictionary(딕셔너리)는 여러가지 Type을 넣을 수 있음
x = {
0 : "Wonie",
1 : "Hello",
"age" : 20,
}
print(x[0]) # x라는 Dictionary(딕셔너리)에 0이라는 Key에 있는 Value가 뭔지 출력
print(x[1]) # x라는 Dictionary(딕셔너리)에 1이라는 Key에 있는 Value가 뭔지 출력
print(x["age"]) # x라는 Dictionary(딕셔너리)에 age라는 Key에 있는 Value가 뭔지 출력
print("age" in x) # age라는 Key가 x라는 Dictionary(딕셔너리) 안에 들어있는지 확인 가능
print("name" in x) # name이라는 Key가 x라는 Dictionary(딕셔너리) 안에 들어있는지 확인
# True / False
print("================")
print("================")
print(x.keys()) # x라는 Dictionary(딕셔너리)에 있는 Key 값을 출력
print(x.values()) # x라는 Dictionary(딕셔너리)에 있는 Value 값을 출력
print("================")
print("================")
for key in x : # 튜플과 마찬가지로 반복문 이용 가능
print(key) # x라는 Dictionary(딕셔너리) 안에 있는 key 값 전체 출력
print(x[key]) # x라는 Dictionary(딕셔너리) 안에 있는 Value 값 전체 출력
print("================")
print("================")
for key in x : # 튜플과 마찬가지로 반복문 이용 가능
print("key: " + str(key)) # x라는 Dictionary(딕셔너리) 안에 있는 key 값 전체 출력
print("value: " + str(x[key])) # x라는 Dictionary(딕셔너리) 안에 있는 Value 값 전체 출력
# Dictionary(딕셔너리)에서는 Assignment = Dictionary 안의 값을 업데이트 하는 것이 가능
print("================")
x = {
0 : "Wonie",
1 : "Hello",
"age" : 20,
}
x[0] = "워니"
print(x)
print("================")
# Dictionary(딕셔너리)에서는 Assignment = Dictionary 안의 새로운 값을 넣는 것이 가능
x["school"] = "한빛"
print(x)
# 자료구조 (리스트, 튜플, 딕셔너리)
# List(리스트) -- 엘레멘트 element 여러개를 그룹핑할 때 쓰임
# Tuple(튜플) - list에서 쓰는 것들 대부분 사용 가능
x = tuple()
y = ()
print(x)
print(y)
print("================")
print("================")
x = (1,2,3)
y = ('a', 'b', 'c')
z = (1, "hello", "there")
print(x+y)
print('a' in y) # a이라는 element가 y라는 Tuple에 존재 여부 확인 True / False
print(z)
print(z.index(1)) # 1이라는 element가 z라는 Tuple에 몇 번째에 위치하는지 확인
print("================")
print("================")
# Tuple과 List의 차이점
# Tuple에서는 Assignment = 튜플 안의 값을 업데이트 하는 것 -> 안됨
x[0] = 10 # Tuple은 안에 들어있는 element 애들을 못 바꿈
# mutable(가변) vs immutable(불변)
# mutable(가변) : 값을 바꿀 수 있음
# immutable(불변) : 값을 바꿀 수 없음