บทความนี้จะแนะนำคุณเกี่ยวกับหัวข้อที่น่าสนใจที่เรียบง่าย แต่เป็นแกนหลักสำหรับการเขียนโปรแกรมที่ฉันอ้างถึง ช่างก่อสร้าง คำแนะนำต่อไปนี้จะกล่าวถึงในบทความนี้
- ตัวสร้าง Python
- ตัวสร้างใน Python คืออะไร?
- การสร้าง Constructor ใน Python
- ความแตกต่างระหว่างตัวสร้างพารามิเตอร์และไม่ใช่พารามิเตอร์
- ในฟังก์ชันคลาสที่สร้างขึ้นใน Python
- แอตทริบิวต์คลาสที่สร้างขึ้น
มาเริ่มกันเลย
ตัวสร้าง Python
หากคุณเคยเขียนโปรแกรมมาแล้วบางครั้งคุณอาจเจอชื่อ Python หนึ่งหลายครั้งเกินไป Python เป็นภาษาการเขียนโปรแกรมตามการวางแนววัตถุซึ่งหมายความว่าทุกอินสแตนซ์ที่สร้างขึ้นบนแพลตฟอร์มถูกกำหนดให้เป็นวัตถุ แม้ว่าส่วนประกอบส่วนใหญ่ใน Python จะมีข้อมูลออนไลน์มากมาย แต่หัวข้อหนึ่งที่ยังคงได้รับการค้นคว้าซ้ำแล้วซ้ำเล่าก็คือตัวสร้างใน Python ดังนั้นในบทความนี้เราจะพูดถึงทั้งหมดเกี่ยวกับตัวสร้างใน Python วิธีที่คุณสามารถใช้ประโยชน์จากสิ่งเหล่านี้และประโยชน์ที่พวกเขานำมาสู่ตาราง เอาล่ะ!
ไปต่อกับบทความนี้เกี่ยวกับ Python Constructors
ตัวสร้างใน Python คืออะไร?
คอนสตรัคเตอร์สามารถกำหนดเป็นเมธอดหรือฟังก์ชันชนิดพิเศษที่สามารถใช้เพื่อเริ่มต้นอินสแตนซ์ของสมาชิกต่างๆในคลาส
ใน Python มีตัวสร้างสองประเภทที่แตกต่างกัน
- ตัวสร้างแบบไม่กำหนดพารามิเตอร์: ตัวสร้างใน Python ซึ่งไม่มีพารามิเตอร์อยู่เรียกว่าตัวสร้างที่ไม่ใช่พารามิเตอร์
- ตัวสร้างพารามิเตอร์: ตัวสร้างที่มีพารามิเตอร์ที่กำหนดไว้ล่วงหน้าเรียกว่าตัวสร้างพารามิเตอร์
ตัวสร้างถูกกำหนดในขณะที่เราสร้างวัตถุภายในคลาส การมีอยู่ของคอนสตรัคเตอร์ยังตรวจสอบว่ามีทรัพยากรเพียงพอเพื่อให้งานเริ่มต้นทำงานได้อย่างง่ายดายผ่านอ็อบเจ็กต์ของคลาส
ไปต่อกับบทความนี้เกี่ยวกับ Python Constructors
การสร้าง Constructor ใน Python
เมื่อคุณทำความคุ้นเคยกับคำจำกัดความและประเภทของตัวสร้างใน Python แล้วให้เราสำรวจว่าเราจะสร้างตัวสร้างใน Python ได้อย่างไร
ใน Python หากคุณต้องการสร้างโครงสร้างคุณต้องใช้ฟังก์ชัน __init__ และหรือวิธีการ คุณต้องเรียกใช้เมธอดนี้ในขณะที่คลาสถูกสร้างอินสแตนซ์ เมื่อกำหนดและเรียกใช้ฟังก์ชัน __init__ แล้วเราสามารถส่งผ่านอาร์กิวเมนต์จำนวนเท่าใดก็ได้ในเวลาที่สร้างวัตถุคลาสขึ้นอยู่กับความต้องการของคุณ การใช้ตัวสร้างใน Python โดยทั่วไปคือการเตรียมใช้งานแอตทริบิวต์ของคลาส
บันทึก:
แท็ก html สำหรับแทรกตัวแบ่งบรรทัด
ทุกคลาสที่คุณสร้างใน Python จำเป็นต้องมีตัวสร้างอยู่เพื่อให้มันทำงานได้แม้ว่าจะเป็นตัวสร้างเริ่มต้นก็ตาม
เพื่อให้เข้าใจแนวคิดนี้ได้ดียิ่งขึ้นลองดูตัวอย่างด้านล่าง
คลาสพนักงาน: def __init __ (self, name, id): self.id = id self.name = name def display (self): print ('ID:% d nName:% s'% (self.id, self.name )) emp1 = พนักงาน ('John', 101) emp2 = พนักงาน ('David', 102) #accessing display () วิธีการพิมพ์ข้อมูลพนักงาน 1 ข้อมูล emp1.display () #accessing display () วิธีการพิมพ์พนักงาน 2 ข้อมูล emp2 .แสดง()
เมื่อคุณรันโปรแกรมด้านบนผลลัพธ์จะมีลักษณะดังนี้
ID: 101
ชื่อ: จอห์น
ID: 102
วิธีการเพิ่มใน java
ชื่อ: เดวิด
ไปต่อกับบทความนี้เกี่ยวกับ Python Constructors
ความแตกต่างระหว่างตัวสร้างพารามิเตอร์และไม่ใช่พารามิเตอร์
ดังที่กล่าวไว้ในคำจำกัดความข้างต้นตัวสร้างพารามิเตอร์คือค่าที่มีค่าที่กำหนดไว้ล่วงหน้าและตัวสร้างที่ไม่ใช่พารามิเตอร์คือค่าที่ไม่มีการกำหนดค่าให้ แม้ว่าการเขียนโปรแกรมกรณีการใช้งานจะแตกต่างกันไปขึ้นอยู่กับบริบทและเพื่อให้เข้าใจถึงสิ่งนี้ได้ดีขึ้นโปรดดูตัวอย่างด้านล่าง
class Student: #Constructor - non parameterized def __init __ (self): print ('This is non parametrized constructor') def show (self, name): print ('Hello', name) student = Student () student.show (' จอห์น')
ด้านบนเป็นตัวอย่างของ Non-Parameterized Constructor และเอาต์พุตจะเป็นดังต่อไปนี้
นี่คือตัวสร้างที่ไม่ใช่พารามิเตอร์
สวัสดีจอห์น
class Student: #Constructor - พารามิเตอร์ def __init __ (self, name): print ('This is parametrized constructor') self.name = name def show (self): print ('Hello', self.name) student = Student (' John ') student.show ()
ด้านบนเป็นตัวอย่างของตัวสร้างพารามิเตอร์และเอาต์พุตจะเป็นดังต่อไปนี้
นี่คือตัวสร้างพารามิเตอร์
สวัสดีจอห์น
ไปต่อกับบทความนี้เกี่ยวกับ Python Constructors
ในฟังก์ชันคลาสที่สร้างขึ้นใน Python
ตอนนี้พื้นฐานของตัวสร้างใน Python ชัดเจนแล้วให้เราสำรวจคลาส inbuilt ต่างๆที่มีอยู่ใน Python
บทเรียน microsoft sql สำหรับผู้เริ่มต้น
- getattr (obj, ชื่อ, ค่าเริ่มต้น): สิ่งนี้ในฟังก์ชันที่สร้างขึ้นใน Python ใช้เพื่อเข้าถึงแอตทริบิวต์ของคลาส
- delattr (obj, name): หากคุณต้องการลบแอตทริบิวต์เฉพาะในคลาสให้ใช้ฟังก์ชัน inbuilt นี้
- setattr (obj, name, value): ในบางสถานการณ์หากคุณตัดสินใจที่จะตั้งค่าเฉพาะให้กับแอตทริบิวต์เฉพาะให้ใช้ฟังก์ชันนี้ซึ่งมาพร้อมกับ Python
- hasattr (obj, name): สุดท้าย แต่ไม่ท้ายสุดหากคุณต้องการดูว่าวัตถุใดมีแอตทริบิวต์หรือไม่ให้ใช้ฟังก์ชันนี้ เมื่อดำเนินการสิ่งนี้จะคืนค่าเป็นจริงหากมีแอตทริบิวต์อยู่ในฟังก์ชัน
หากต้องการทำความเข้าใจแนวคิดของฟังก์ชันคลาส inbuilt ใน Python โปรดดูโค้ดด้านล่าง
class Student: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age # สร้างวัตถุของคลาส Student s = Student ('John', 101,22) #prints ชื่อแอตทริบิวต์ของการพิมพ์ออบเจ็กต์ (getattr (s, 'name')) # รีเซ็ตค่าของอายุแอตทริบิวต์เป็น 23 setattr (s, 'age', 23) # พิมพ์ค่าที่แก้ไขของการพิมพ์อายุ (getattr ( s, 'age')) # พิมพ์เป็นจริงหากนักเรียนมีแอตทริบิวต์ที่มีการพิมพ์รหัสชื่อ (hasattr (s, 'id')) # ลบแอตทริบิวต์ age delattr (s, 'age') # ซึ่งจะทำให้เกิดข้อผิดพลาดตั้งแต่ อายุแอตทริบิวต์ถูกลบพิมพ์ (s.age)
ผลลัพธ์สำหรับข้างต้นจะเป็น
จอห์น
2. 3
จริง
AttributeError: ออบเจ็กต์ 'Student' ไม่มีแอตทริบิวต์ 'age'
ไปต่อกับบทความนี้เกี่ยวกับ Python Constructors
แอตทริบิวต์คลาสที่สร้างขึ้น
นอกจากฟังก์ชันคลาสในตัวแล้ว Python ยังมาพร้อมกับแอตทริบิวต์คลาส inbuilt ซึ่งบางครั้งก็มีประโยชน์ แอตทริบิวต์คลาส builtin ที่สำคัญที่สุดบางส่วนมีดังต่อไปนี้
- __dict__: ด้วยการใช้สิ่งนี้คุณสามารถดูพจนานุกรมที่มีข้อมูลเกี่ยวกับเนมสเปซคลาส
- __name__: ใช้แอตทริบิวต์นี้หากคุณต้องการดูชื่อของคลาสปัจจุบัน
- __doc__: แอตทริบิวต์นี้มีสตริงซึ่งมีเอกสารประกอบสำหรับคลาสปัจจุบัน
- __module__: หากคุณต้องการเข้าถึงโมดูลที่กำหนดคลาสให้ใช้แอตทริบิวต์ inbuilt นี้
- __bases__: หากคุณต้องการดูทูเพิลซึ่งรวมคลาสพื้นฐานทั้งหมดให้ใช้ฟังก์ชันนี้
ตัวอย่างเพื่อชี้แจงแอตทริบิวต์คลาสที่สร้างขึ้นทั้งหมดมีดังต่อไปนี้
class Student: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age def display_details (self): print ('Name:% s, ID:% d, age :% d '% (self.name, self.id)) s = Student (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ module__)
เรามาถึงตอนท้ายของบทความนี้เกี่ยวกับ Python Constructors
หากต้องการรับความรู้เชิงลึกเกี่ยวกับ Python พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถทำได้ สำหรับการฝึกอบรมออนไลน์สดพร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต
มีคำถามสำหรับเรา? พูดถึงพวกเขาในส่วนความคิดเห็นของ“ Python Tutorial” แล้วเราจะติดต่อกลับไป