Python Constructors: ทุกสิ่งที่คุณต้องการรู้



บทความนี้จะแนะนำคุณเกี่ยวกับหัวข้อที่น่าสนใจที่เรียบง่าย แต่เป็นแกนหลักสำหรับการเขียนโปรแกรมฉันหมายถึงตัวสร้าง 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 สำหรับผู้เริ่มต้น
  1. getattr (obj, ชื่อ, ค่าเริ่มต้น): สิ่งนี้ในฟังก์ชันที่สร้างขึ้นใน Python ใช้เพื่อเข้าถึงแอตทริบิวต์ของคลาส
  2. delattr (obj, name): หากคุณต้องการลบแอตทริบิวต์เฉพาะในคลาสให้ใช้ฟังก์ชัน inbuilt นี้
  3. setattr (obj, name, value): ในบางสถานการณ์หากคุณตัดสินใจที่จะตั้งค่าเฉพาะให้กับแอตทริบิวต์เฉพาะให้ใช้ฟังก์ชันนี้ซึ่งมาพร้อมกับ Python
  4. 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 ที่สำคัญที่สุดบางส่วนมีดังต่อไปนี้

  1. __dict__: ด้วยการใช้สิ่งนี้คุณสามารถดูพจนานุกรมที่มีข้อมูลเกี่ยวกับเนมสเปซคลาส
  2. __name__: ใช้แอตทริบิวต์นี้หากคุณต้องการดูชื่อของคลาสปัจจุบัน
  3. __doc__: แอตทริบิวต์นี้มีสตริงซึ่งมีเอกสารประกอบสำหรับคลาสปัจจุบัน
  4. __module__: หากคุณต้องการเข้าถึงโมดูลที่กำหนดคลาสให้ใช้แอตทริบิวต์ inbuilt นี้
  5. __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” แล้วเราจะติดต่อกลับไป