ทำความรู้จักกับภาษา python (43) : คุณสมบัติของการสร้าง Class (คลาส)

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderators: mindphp, ผู้ดูแลกระดาน

dawthana
PHP Super Hero Member
PHP Super Hero Member
Posts: 604
Joined: 07/12/2016 10:55 am

ทำความรู้จักกับภาษา python (43) : คุณสมบัติของการสร้าง Class (คลาส)

Post by dawthana »

คุณสมบัติของการสร้าง Class (คลาส)
ในการสร้างคลาสแต่ละครั้ง python (ไพทอน) จะทำการสร้าง Attributes (แอททริบิวต์) ของ Class (คลาส) ให้อัตโนมัติ เพื่อบอกคุณสมบัติของ class โดยสามารถเรียกดูได้ด้วยฟังก์ชัน Built-in (บิวต์-อิน)

ฟังก์ชัน Built-in ของ class
__dict__ เป็น Dictionary (ดิกชันนารี) สำหรับเก็บ Namespace (เนมสเปช) ของ class
__doc__ เป็น Desination String (เดซทิเนชั่น สตริง) ของ Class หรือคำอธิบายของ Class
__name__ เก็บชื่อ Class
__module__ เก็บ Module (โมดูล) ต่างๆ
__bases___ เก็บเป็นตัวแปรชนิด Tuple (ทูเปิล) ที่ใช้สำหรับเก็บ Base Class (เบซ คลาส)

ตัวอย่างวิธีการใช้ฟังก์ชัน dict (ดิก)
Built-in-class-dict.png
Built-in-class-dict.png (41.31 KiB) Viewed 859 times
ตัวอย่างวิธีการใช้ฟังก์ชัน doc (ด๊อก) จะนำคำอธิบายของคลาสมาแสดง
Built-in-class-doc.png
Built-in-class-doc.png (40.48 KiB) Viewed 859 times
ตัวอย่างวิธีการใช้ฟังก์ชัน name (เนม) จะเรียกดูชื่อของ class
Built-in-class-name.png
Built-in-class-name.png (41.88 KiB) Viewed 859 times
ตัวอย่างวิธีการใช้ฟังก์ชัน module (โมดูล) ที่เก็บชื่อ Module
Built-in-class-module.png
Built-in-class-module.png (40.85 KiB) Viewed 859 times
ตัวอย่างวิธีการใช้ฟังก์ชัน bases (เบซ)
Built-in-class-bases.png
Built-in-class-bases.png (43 KiB) Viewed 859 times
ศึกษาข้อมูลมาจาก https://www.youtube.com/watch?v=ryPb7kB ... lzdKrpxsMM


Four
PHP Super Hero Member
PHP Super Hero Member
Posts: 813
Joined: 08/01/2018 9:55 am

Re: ทำความรู้จักกับภาษา python (43) : คุณสมบัติของการสร้าง Class (คลาส)

Post by Four »

Code: Select all

class employee:

    count = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        employee.count += 1
    def discount(self):
        print("total %d" % employee.count)
    def disemployee(self):
        print("name:", self.name, "salary:", self.salary)

print(employee.__bases__)
print(employee.__name__)
print(employee.__dict__)
print(employee.__doc__)
print(employee.__module__)
ผลรัน

Image
I am slow walker, but I never walk back. (Abraham Lincoln)

User avatar
Jom07
PHP Super Hero Member
PHP Super Hero Member
Posts: 514
Joined: 08/01/2018 9:56 am

Re: ทำความรู้จักกับภาษา python (43) : คุณสมบัติของการสร้าง Class (คลาส)

Post by Jom07 »

Code: Select all

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        employee.count += 1
    def discount(self):
        print("total %d" % employee.count)
    def disemployee(self):
        print("name:", self.name, "salary:", self.salary)

print("ฟังก์ชัน ของ _dict_:", employee.__dict__)
ผลรัน

Image

ศึกษาข้อมูลจาก :https://www.youtube.com/watch?v=ryPb7kB ... lzdKrpxsMM
Image

rangsan
PHP Hero Member
PHP Hero Member
Posts: 199
Joined: 30/04/2018 9:44 am

Re: ทำความรู้จักกับภาษา python (43) : คุณสมบัติของการสร้าง Class (คลาส)

Post by rangsan »

คุณสมบัติของการสร้าง Class (คลาส)

Code: Select all

class workker:
    'Example class with 3 method'
    
    empCount = 0 #Class Variable
    
    def __init__(self,name,salary):
        self.name = name
        self.salary = salary
        workker.empCount += 1
        
    def displayCount(self):
        print "Tottal Workker %d : " % workker.empCount
    def displayWorkker(self):
        print "Name : ",self.name, ", Salary : ",self.salary
    

print "Function Built-in of __dict__: \n",workker.__dict__
print "------------------------------------------------------"
print "Function Built-in of __doc__: \n",workker.__doc__
print "------------------------------------------------------"
print "Function Built-in of __name__: \n",workker.__name__
print "------------------------------------------------------"
print "Function Built-in of __module__: \n",workker.__module__
print "------------------------------------------------------"
print "Function Built-in of __bases__: \n",workker.__bases__
ผลการรันโค้ด
output_propperty.png
output_propperty.png (11.91 KiB) Viewed 702 times
ศึกษาจาก : https://www.youtube.com/watch?v=ryPb7kB ... lzdKrpxsMM
It’s never too late to start again.

prakon
PHP Super Hero Member
PHP Super Hero Member
Posts: 561
Joined: 02/07/2018 10:45 am

Re: ทำความรู้จักกับภาษา python (43) : คุณสมบัติของการสร้าง Class (คลาส)

Post by prakon »

ในการที่เราสร้าง class หลายๆ class ฟังก์ชั่น built in เหล่านี้เหมาะแก่การเรียกใช้มากครับ เพราะสามารถดูรายละเอียดต่างๆของ class

Code: Select all

class Employee:
    "ง่วงจัง"
    #ตัวอย่างการสร้าง class โดยภายในมี 3 method
    empCount=0
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1

    def displayCount(self):
        print("Total Employee %d"%Employee.empCount)

    def displayEmployee(self):
        print("Name :", self.name, ",Salary",self.salary)
print("ฟังก์ชั่น built in ของ Dict:",Employee.__dict__) # dict เก็บ namespace ของ คลาส
print("ฟังก์ชั่น built in ของ Doc:",Employee.__doc__)
print("ฟังก์ชั่น built in ของ name:",Employee.__name__)
print("ฟังก์ชั่น built in ของ module:",Employee.__module__)

bolue
PHP VIP Members
PHP VIP Members
Posts: 1081
Joined: 04/06/2020 10:05 am

Re: ทำความรู้จักกับภาษา python (43) : คุณสมบัติของการสร้าง Class (คลาส)

Post by bolue »

Code: Select all

'oop __dict__ คุณสมบัติ'
'oop __doc__ คำอธิบายclass'
'oop __nane__ ดูชื่อclass'
'oop __module__ เก็บชื่อของ module'
'oop __bases__ เก็บ bases ของ class'

class Employee:
    'นี่คือคำอธิบายเมื่อใช้ doc จะเห็นนะ'
    empcount = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empcount += 1

    def disempcount(self):
        print("Total %d" % Employee.empcount)

    def disEmployee(self):
        print("Name:", self.name, "salary:", self.salary)

print("ฟังก์ชั่น Built-in ของ dict : " , Employee.__dict__)
print("ฟังก์ชั่น Built-in ของ doc: " , Employee.__doc__)
print("ฟังก์ชั่น Built-in ของ name: " , Employee.__name__)
print("ฟังก์ชั่น Built-in ของ module: " , Employee.__module__)
print("ฟังก์ชั่น Built-in ของ bases: " , Employee.__bases__)
ผลลัพธ์
Python Knowledge-1.png
Python Knowledge-1.png (19.82 KiB) Viewed 149 times

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Python Knowledge”

Who is online

Users browsing this forum: No registered users and 32 guests