20221223 TIL | python으로 class를 어떻게 만들지?

Choog Yul Lee·2022년 12월 30일
0
post-thumbnail

📆 Date

  • 23rd December 2022

🔑 Problem

  • python으로 LinkedList 를 자료구조를 구현해보라고?

note

LinkedList 를 구현하기 위해서는 데이터를 저장하는 변수 data 와 다음 데이터의 위치를 저장하는 next 가 필요하다. datanext 를 하나로 관리하기 위해서 class 를 만들어보자. 근데 python 으로 class 를 어떻게 만드는 거야? python 문법 부터 공부! 공부!


🛰️ Reference Site

🎽 Learn

  1. class 를 선언하자
class Person:
	pass
  • class 키워드 뒤에 유일한 클래스 이름을 지어준다.
  • 클래스명은 PEP Coding Convention에 가이드된 대로 각 단어의 첫 문자를 대문자로 하는 CapWords 방식을 사용한다.
  • 클래스 이름 뒤에는 : 을 반드시 붙여준다.
  1. attribute 를 넣어보자
class Person:
	name = name = 'No Name'
    age = 20
  • Person 을 대표 할 수 있는 nameageattribute 로 넣는다.
  1. attribute 에 접근해 보자
tom = Person()

tom.name
tom.age
  • object_name.attribute 이런 형식으로 attribute 에 접근한다. class 명이 아니라 object 를 사용한다는 점. 그리고 . 을 이용한다는 점을 기억한다.
  1. method 를 넣어보자
class Person:
	name = 'No Name'
    age = 20
    
    def print_your_name(self):
    	return "my name is " + self.name
  • 파이썬 Method는 항상 첫 번째 파라미터로 self를 사용해야 한다.
  • Method 안에서 클래스 attribute를 접근할 때는 self.attribute 로 접근해야 한다.
  1. 객체의 Method 에 접근해보자
class Person:
	name = 'No Name'
    age = 20
    
    def print_my_name(self):
    	return "My name is " + self.name
    
    def set_my_info(self, name, age):
    	self.name=name
        self.age=age
  • 객체명.method명 으로 접근한다.
tom = Person()
tom.set_my_info('Tom', 20)
tom.print_my_name()

실행결과:

My name is Tom

🎁 Summary

Python OOP

  • class를 선언하기 위해 class 키워드를 사용한다.
  • self 키워드는 instance 를 나타내는 의미 이외에는 존재하지 않는다.
  • instance 귀속 된 methodattribute 에 접근할 때 명확하게 하기위해 self 키워드를 사용하는 것 뿐이다.

0개의 댓글