languages

[python] ๊ฐ์ฒด์™€ ์ธ์Šคํ„ด์Šค

nani-jin 2024. 4. 17. 16:51

๐Ÿค” ๊ฐ์ฒด์™€ ์ธ์Šคํ„ด์Šค์˜ ์ฐจ์ด๊ฐ€ ๋ญ˜๊นŒ?ํ•˜๋Š” ๊ถ๊ธˆ์ฆ์ด ๋“ค์–ด ์ฐพ์•„๋ดค๋‹ค.

 

  1. ํด๋ž˜์Šค๊ฐ€ ์„ค๊ณ„๋„๋ผ๋ฉด, ์ธ์Šคํ„ด์Šค๋Š” ์ œํ’ˆ์ด๋‹ค. 
  2. ์ธ์Šคํ„ด์Šค๋Š” ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒด๋‹ค.

 

  • ๊ฐ์ฒด(object)
    - ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋…์˜ ์ผ๋ฐ˜์ ์ธ ์ธ์Šคํ„ด์Šค
    - ํ•˜๋‚˜์˜ ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค (์ƒํƒœ-๋ณ€์ˆ˜์™€ ํ–‰์œ„-๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์˜ ์ง‘ํ•ฉ)
    - ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค = ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋งŒ๋“ ๋‹ค๋กœ ๋งํ•  ์ˆ˜๋„ ์žˆ๋‹ค

  • ์ธ์Šคํ„ด์Šค(instance)
    - ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒด

 

 

์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด django์—์„œ ์‹ค์Šตํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ดํŽด๋ณด์ž

1) ๋จผ์ € models.py์—์„œ Question์˜ ์„ค๊ณ„๋„๋ฅผ ๊ทธ๋ฆฐ๋‹ค.

class Question(models.Model): # models.Model ์ƒ์†
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField(auto_now_add=True)
    
    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
 
    def __str__(self):
        if self.was_published_recently():
            new_badge = 'NEW!!!'
        else:
            new_badge = ''
            
        return f'{new_badge} ์ œ๋ชฉ: {self.question_text}, ๋‚ ์งœ : {self.pub_date}'

 

2) shell์—์„œ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด๋ณธ๋‹ค.

from polls.models import *

q1 = Question(question_text = "๋„๋„› vs ๋งฅ๋„๋‚ ๋“œ")

 

 

 

 

 

[์ฐธ๊ณ ] ์ƒํ™œ์ฝ”๋”ฉ, chatGPT