self

  • self로 전달되는 것은 인스턴트 자체이다.
  • self를 정의하지 않아도 에러가 나지 않는다.
  • self를 정의하지 않은 메서드를 호출하면 오류가 발생한다.
  • 파이썬 메서드의 첫 번째 인자로 항상 인스턴스가 전달되기 때문이다.
  • 클래스 내에 정의된 self는 클래스의 인스턴스이다.
  • 인스턴스.메서드( ) 와 클래스.메서드(인스턴스)는 같은 것이다.
  • 클래스는 네임스페이스이므로 인스턴스를 생성하지 않아도 클래스 안의 메서드를 호출 할 수 있다.
class UserId:
    def pass_self():
        print("pass_self")

    def create_id(self):
        print(id(self))  # id로 인스턴스가 할당된 메모리 주소를 확인
        print("create_id")


a_user = UserId()
print(id(a_user))

#a_user의 객체(클래스)와 create_id 메서드가 동일한 id를 갖는다.

a_user.create_id()

    *a_user.pass_self( ) 는 오류, a_user.create_id( )는 결과를 호출한다.

         => 항상 첫 번째 인자로 인스턴스가 넘어가기 때문이다.

    *UserId.pass_self( )는 결과, UserId.create_id( )는 오류를 호출한다.

         => self 위치에 인자를 전달하지 않았기 때문이다.


 

 

 

네임스페이스

  • 변수가 객체를 바인딩할 때의 관계를 저장하고 있는 공간이다.
  • 인스턴스마다 각자의 네임스페이스를 유지한다.

      *바인딩이란? 변수가 객체를 가르키는 행위이다.

 

 


 

 

클래스 변수와 인스턴스 변수

 

 

클래스 변수

    클래스 내부에 선언된 변수. 클래스 네임스페이스에 위치

인스턴스 변수

    self 가 붙은 변수. 인스턴스 네임스페이스에 위치

 

  • 인스턴스가 서로 공유해야 하는 값은 클래스 변수를 통해 바인딩 해야한다.
  • 인스턴스 네임스페이스에 없는 이름은 클래스의 네임스페이스에서 찾는다.

 

'Python' 카테고리의 다른 글

[Python] 클로저(Closure)  (0) 2023.03.23
[Python] 클래스 if __name__ =="__main__":  (0) 2023.03.23
[Python] 클래스 생성자(init 함수)  (0) 2023.03.23
[Python] CSV(comma-separated values) 파일  (0) 2023.03.22
[Python] json 파일  (0) 2023.03.22

__init__ 함수 

  • 인스턴스를 생성하자마자 자동으로 생성된다.
  • initialize의 약자이다.
  •  init 함수에서 인자를 받고, 인스턴스를 생성할 때 인자를 정해주지 않으면 에러가 발생한다.
  • 인스턴스 생성과 초기값 저장을 한 번에 할 수 있어 편리하다.
class CreateMonster:
    def __init__(self, sort, hp, mp):
        self.sort = sort
        self.hp = hp
        self.mp = mp

    def pretty_print(self):
        print("Sort: ", self.sort)
        print("HP: ", self.hp)
        print("MP: ", self.mp)


ork = CreateMonster("ork", 50, 2)  
#생성자를 사용하면 클래스를 생성하고 인스턴스에 인자를 넘겨줄 필요 없이 한번에 해결 할 수 있다.

ork.pretty_print()

    *__del__ : 소멸자. 클래스의 인스턴스가 소멸 될 때 자동으로 호출된다.

 

 

 

 

https://winterakoon.tistory.com/68

 

[Python] 클래스(Class)

Class 클래스는 모형틀, 찍어낸 몬스터가 객체(=object, instance)라고 생각하면 된다. 인스턴스를 생성 할 때 함수처럼 클래스명( ) 형식으로 사용한다. 클래스 내부에 정의된 함수를 매서드라고 부른

winterakoon.tistory.com

 

'Python' 카테고리의 다른 글

[Python] 클래스 if __name__ =="__main__":  (0) 2023.03.23
[Python] 클래스 self  (0) 2023.03.23
[Python] CSV(comma-separated values) 파일  (0) 2023.03.22
[Python] json 파일  (0) 2023.03.22
[Python] requests  (0) 2023.03.22

 개발자 공부를 하다가 조금 지친다는 생각이 들어서 휴식이 필요하다는 걸 느꼈다. 때마침 밀리의 서재에 일본어 원서 읽기라는 글귀가 눈에 띄어서 책을 읽기 시작했다. 글은 20페이지로 사실 사설 5페이지를 제외하면 그리 길지 않은 분량에 단어자체도 쉬운편이라 시작했다.

 

 한창 일본어 공부하는 동안에는 힘들었던것 같은데, 잊어버리는건 왜 순식간인지 모르겠다. 책읽기 목적이 '원서 읽기' 였으므로 여기엔 모르는 일본어 단어를 정리하고자 한다. 사실 내용도 그리 특별한 건 없다.

 

 사람 좋아하는데 츤데레인 아저씨가(뒤에 나올 여성과 사귀는 사이가 아니라고 했으니 맞겠지) 작업실(仕事部屋)을 다니는데, 그 작업실이 은행 다니는 여성의 집이다. 근데 사귀는 사이가 아니다. 뭔소리야?

 

 일본어를 공부하고 싶긴하고 분량을 스스로 못 정하겠다면 이정도 원서를 읽는 것도 괜찮을 듯 하다. 매일 읽지는 못할 것 같고, 시간 날때 10분 정도씩 공부한다는 마음으로 접해볼 생각이다.

 

단어장

더보기
  • 友あり
  • ひそかに : 몰래
  • 玄関
  • がらっと : 덜컥
  • 眉をひそめ : 눈살을 찌푸리고
  • ゆがめ : 일그러지다
  • 胸をおどらせ
  • 原稿用紙
  • 某所 : 어떤 장소(모소)
  • 設ける : 마련하다
  • 訪れる : 방문하다
  • 進行
  • 恋しい : 그립다
  • 頃合い : 때마침
  • 帰宅
  • 日本橋 : 일본교
  • 退出
  • 或る : 어느, 어떤
  • わかれわかれ : 따로따로 헤어짐
  • 東北 : 토호쿠
  • 暮らし
  • 寄こす : 보내(오)다
  • 縁談 : 혼담
  • 就いて : ~관하여
  • 候補者 : 후보자
  • 青年

 

 

'책 리뷰 > 기타' 카테고리의 다른 글

일본어 원서 읽기 : 아침 마지막  (0) 2023.03.25
일본어 원서 읽기 : 아침 2일차  (1) 2023.03.24

csv파일

    쉼표를 사용해 필드를 구분하는 파일을 말한다.

 

csv 파일 읽기

import csv

csv_path = "경로와 파일명"

csv_file = open(csv_path, "r", encoding="utf-8")
# 파일을 csv로 읽기, 리스트로 출력
csv_data = csv.reader(csv_file)
#csv.DictReader(csv_file) : 딕셔너리 형태로 출력
for i in csv_data:
    print(i)

# open했으니 close로 닫기
csv_file.close()

# csv를 dict 자료형으로 읽기
csv_file = open(csv_path, "r", encoding="utf-8")

 

 

csv 파일 쓰기

import csv

csv_path = "sample.csv"

# csv 파일을 쓸 때는 newline='' 은 ※공백 라인(엔터)이 생기는 것을 방지※
csv_file = open(csv_path, "a", encoding="utf-8", newline='')
# csv에 데이터를 추가
csv_writer = csv.writer(csv_file)

# csv에 어떤 데이터를 추가할 것인가
csv_writer.writerow(["lee@sparta.com", '1989', "lee", "Seoul"])

csv_file.close()

 

'Python' 카테고리의 다른 글

[Python] 클래스 self  (0) 2023.03.23
[Python] 클래스 생성자(init 함수)  (0) 2023.03.23
[Python] json 파일  (0) 2023.03.22
[Python] requests  (0) 2023.03.22
[Python] 정규표현식(regular expression)  (0) 2023.03.22

json(javascript object notation)이란?

  • 데이터 통신 할 때 주로 사용하며 key와 value 쌍으로 이루어진 파일을 말한다.
  • 딕셔너리와 유사하다.
  • 파이썬에서는 dictionary와 json 파일을 상호 변환 할 수 있다.

 

import json
import requests

url = "https://jsonplaceholder.typicode.com/"

#json 형태의 문자열로 가져옴
r = requests.get(f"{url}users/1")

# json => dictionary 변환
response_content = json.loads(r.text)

 

 ※ 단 서버에서 json형태로 보내줘야 가능하다.

'Python' 카테고리의 다른 글

[Python] 클래스 생성자(init 함수)  (0) 2023.03.23
[Python] CSV(comma-separated values) 파일  (0) 2023.03.22
[Python] requests  (0) 2023.03.22
[Python] 정규표현식(regular expression)  (0) 2023.03.22
[Python] 예외처리문(try-except)  (0) 2023.03.22

+ Recent posts