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

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

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

dawthana
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 604
ลงทะเบียนเมื่อ: 07/12/2016 10:55 am

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

โพสต์โดย dawthana » 17/01/2017 5:02 pm

คุณสมบัติของการสร้าง 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) เปิดดู 232 ครั้ง


ตัวอย่างวิธีการใช้ฟังก์ชัน doc (ด๊อก) จะนำคำอธิบายของคลาสมาแสดง
Built-in-class-doc.png
Built-in-class-doc.png (40.48 KiB) เปิดดู 232 ครั้ง


ตัวอย่างวิธีการใช้ฟังก์ชัน name (เนม) จะเรียกดูชื่อของ class
Built-in-class-name.png
Built-in-class-name.png (41.88 KiB) เปิดดู 232 ครั้ง


ตัวอย่างวิธีการใช้ฟังก์ชัน module (โมดูล) ที่เก็บชื่อ Module
Built-in-class-module.png
Built-in-class-module.png (40.85 KiB) เปิดดู 232 ครั้ง


ตัวอย่างวิธีการใช้ฟังก์ชัน bases (เบซ)
Built-in-class-bases.png
Built-in-class-bases.png (43 KiB) เปิดดู 232 ครั้ง


ศึกษาข้อมูลมาจาก https://www.youtube.com/watch?v=ryPb7kBPSWk&index=43&list=PLLi1ciqQAf8TVFbJpl7XY23lzdKrpxsMM


Four
PHP Super Member
PHP Super Member
โพสต์: 407
ลงทะเบียนเมื่อ: 08/01/2018 9:55 am

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

โพสต์โดย Four » 25/01/2018 1:00 am

โค้ด: เลือกทั้งหมด

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__)


ผลรัน

รูปภาพ

ภาพประจำตัวสมาชิก
Jom07
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 514
ลงทะเบียนเมื่อ: 08/01/2018 9:56 am

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

โพสต์โดย Jom07 » 25/01/2018 3:49 pm

โค้ด: เลือกทั้งหมด

    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__)


ผลรัน

รูปภาพ

ศึกษาข้อมูลจาก :https://www.youtube.com/watch?v=ryPb7kBPSWk&index=43&list=PLLi1ciqQAf8TVFbJpl7XY23lzdKrpxsMM
รูปภาพ

rangsan
PHP Hero Member
PHP Hero Member
โพสต์: 199
ลงทะเบียนเมื่อ: 30/04/2018 9:44 am

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

โพสต์โดย rangsan » 05/05/2018 3:26 pm

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

โค้ด: เลือกทั้งหมด

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) เปิดดู 75 ครั้ง


ศึกษาจาก : https://www.youtube.com/watch?v=ryPb7kB ... lzdKrpxsMM
It’s never too late to start again.

prakon
PHP Sr. Member
PHP Sr. Member
โพสต์: 71
ลงทะเบียนเมื่อ: 02/07/2018 10:45 am

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

โพสต์โดย prakon » 11/07/2018 6:18 pm

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

โค้ด: เลือกทั้งหมด

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__)


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 5 และ บุคคลทั่วไป 0 ท่าน