Hướng dẫn create object python without class - tạo đối tượng python không có lớp

Python sẽ không tạo ra một đối tượng container một cách kỳ diệu khi bạn bắt đầu gán các thuộc tính cho nó và nếu MATLAB cho phép điều này, tôi sẽ xem xét MATLAB bị hỏng nặng. Xem xét điều này:

person.name = "Mike"
persom.age  = 25
person.sex  = "Male"

Bây giờ chúng tôi có hai đối tượng, personpersom, và person không có

class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
0, và không có gợi ý rằng điều này đã xảy ra. Sau đó, bạn cố gắng in
class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
1 và, người ta sẽ hy vọng, Matlab sau đó phàn nàn ... hai trang sau sai lầm thực sự.

Một lớp có thể được sử dụng như một container hoặc không gian tên. Không cần phải khởi tạo nó và nó sẽ giúp bạn tiết kiệm một chút nếu bạn chỉ muốn một gói thuộc tính.

class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male

Để truy cập hoặc sửa đổi bất kỳ thứ nào trong số này, bạn có thể sử dụng

class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
2, v.v.

N.B. Tôi cũng đã sử dụng một lớp cho

class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
3 để minh họa một trong những lợi ích của việc làm như vậy: nó cung cấp tính nhất quán trong các giá trị dữ liệu (không nhớ bạn đã sử dụng "M" hay "nam" hoặc "nam") và bắt lỗi chính tả (tức là Python sẽ phàn nàn về sex.mlae nhưng không phải về chuỗi "mlae" và nếu sau đó bạn kiểm tra nó với "nam" thì sau này sẽ thất bại).

Tất nhiên, bạn vẫn có nguy cơ sai chính tả

class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
4,
class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
0 hoặc
class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
3 trong loại định nghĩa lớp này. Vì vậy, những gì bạn có thể làm là sử dụng lớp làm mẫu và khởi tạo nó.

class Person:
    def __init__(self, name, age=None, sex=None):
        self.name, self.age, self.sex = name, age, sex

Bây giờ khi bạn làm:

person = Person("Mike", 25, sex.male)

Hoặc nếu bạn muốn ghi lại tất cả các tham số đó là gì:

person = Person("Mike", age=25, sex=sex.male)

Không thể kết thúc với một đối tượng có tên thuộc tính sai chính tả. Nếu bạn làm hỏng nó, Python sẽ cung cấp cho bạn một thông báo lỗi tại điểm bạn đã phạm sai lầm. Đó chỉ là một lý do để làm theo cách này.

Trong bài viết này, chúng ta sẽ học cách tạo ra một đối tượng trong Python. Chúng tôi sẽ xem xét phương pháp, cú pháp, từ khóa, các thuật ngữ liên quan với một số phương pháp đơn giản và một số mã tùy chỉnh cũng để hiểu rõ hơn về chủ đề này. Trước tiên chúng ta hãy nhìn nhanh về một đối tượng là gì và cách sử dụng và định nghĩa bằng ngôn ngữ Python.

Đối tượng là gì?

Một đối tượng là thực thể thời gian chạy được sử dụng để cung cấp chức năng cho lớp Python. Các thuộc tính hoặc thuộc tính được xác định bên trong lớp chỉ được truy cập bằng cách sử dụng các đối tượng của lớp đó. Ngoài ra, các chức năng do người dùng xác định được truy cập bằng cách sử dụng đối tượng. Một hàm tạo lớp được tự động gọi khi một đối tượng của lớp được tạo. Vì vậy, ngay khi chúng tôi xác định hoặc tạo một lớp với các thuộc tính và phương thức, một đối tượng lớp mới được tạo với cùng tên với lớp. Đối tượng lớp này cho phép chúng tôi truy cập các thuộc tính khác nhau cũng như khởi tạo các đối tượng mới của lớp đó.

Một đối tượng bao gồm:

  • Trạng thái - thuộc tính hoặc thuộc tính của một đối tượng. Attributes or Properties of an object.
  • Hành vi - Phương pháp của một đối tượng. Methods of an object.
  • Nhận dạng - Tên duy nhất cho một đối tượng và giao tiếp giữa hai hoặc nhiều đối tượng Unique Name to an object and communication between two or more object

Hãy cho chúng tôi hiểu làm thế nào các đối tượng được tạo ra với sự trợ giúp của một ví dụ.

Tạo một đối tượng của một lớp trong Python

Đối tượng được tạo sau khi tạo một lớp. Tức thì của đối tượng được tạo bằng tên giống như tên lớp và nó được gọi là khởi tạo đối tượng. Người ta có thể đặt bất kỳ tên nào cho một đối tượng mới được tạo. Tạo đối tượng tương tự như gọi một hàm. Điều này là do ngay khi đối tượng được tạo hoặc khởi tạo với tên lớp, hàm tạo mặc định của lớp được gọi tự động.

Cú pháp

#object instantiation
object_name = class_name()

Chúng ta hãy lấy một ví dụ về lớp 'chó' để hiểu việc tạo ra một đối tượng và cách các thuộc tính và phương thức có thể truy cập được từ đối tượng mới.

Ví dụ: Tạo một đối tượng trong Python

Chúng tôi tham gia một lớp học và đặt tên cho nó là "con chó". Chúng tôi xác định hai thuộc tính hoặc hai trường hợp của

class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
7 Class cho thấy các thuộc tính của chó. Các thuộc tính là
class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
8 và
class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
9 Đây là mẫu đơn giản nhất của một lớp. Hơn nữa, chúng tôi xác định một hàm tạo sử dụng
class Person:
    def __init__(self, name, age=None, sex=None):
        self.name, self.age, self.sex = name, age, sex
0 cho tuyên bố của nó. Phải mất ba tham số như hình dưới đây. Tự là tham số mặc định và hai đối số khác là thuộc tính của lớp. Sau đó, người dùng có thể tạo chức năng của riêng mình được gọi là hàm thành viên hoặc chức năng do người dùng xác định của lớp và thực hiện các hoạt động khác nhau trên các thuộc tính được xác định bên trong lớp. Sau khi chúng tôi tạo lớp, chúng tôi ra khỏi phạm vi của lớp và tạo một đối tượng mới gọi hàm tạo lớp. Sử dụng toán tử đối tượng và dấu chấm (.), Hàm được gọi. Hàm func () in hai câu sau khi nó được gọi.

#class is defined using class keyword
class Dog:
  
  #data members of class
  color = "black"  #attribute 1
  name = "Polo"    #attribute 2
   
  #class default constructor
  def __init__(self,name,color): 
          self.name = name
          self.color = color
  
  #user defined function of class
  def func(self):
          print("After calling func() method..")
          print("My dog's name is", self.name)
          print("His color is", self.color)


#object 1 is created and default constructor is called 
obj1 = Dog('Robert', 'white')

#user-defined function is called from object 1 
obj1.func()

#access the attribute
print("\nDirect access of attributes using object..")
print(obj1.name)


Sau khi gọi Phương thức func ()
My dog's name is Robert
His color is white
Direct access of attributes using object..
Robert

Từ khóa được sử dụng trong ví dụ trên

Lớp - Bản thiết kế do người dùng xác định cho một đối tượng kết hợp một tập hợp các thuộc tính mô tả các thuộc tính của đối tượng đó. Chúng tôi đã sử dụng lớp 'chó'. Các thuộc tính là các thành viên dữ liệu (biến lớp và biến thể hiện) và các phương thức, được truy cập thông qua ký hiệu DOT.A user-defined blueprint for an object that combines a set of attributes that describes the properties of that object. We used the 'Dog' class. The attributes are data members (class variables and instance variables) and methods, accessed via dot notation.

Thành viên dữ liệu - Đây là một biến lớp hoặc biến thể hiện chứa các thuộc tính được liên kết với một lớp và các đối tượng của nó. Ở đây, các thành viên dữ liệu là màu sắc và tên.It is a class variable or instance variable that holds properties associated with a class and its objects. Here, the data members are color and name.

Tự - Đây là một tham số mặc định trong mọi phương thức trong một lớp, ngay cả khi chúng ta không có đối số để vượt qua. Tham số này không có giá trị. Python cung cấp giá trị cho bản thân khi phương thức được gọi. Trong ví dụ này, khi chúng ta gọi phương thức func () từ Object obj1 là obj1.func (), điều này sẽ tự động chuyển đổi thành chó.func (obj1) bởi Python.This is a default parameter in every method in a class, even if we have no arguments to pass. This parameter has no value. Python provides the value to self when the method is called. In this example, when we call the method func() from object obj1 as obj1.func(), this is automatically converted into Dog.func(obj1) by Python.

__init__ - __init__ đại diện cho hàm tạo trong Python. Điều này được sử dụng để khởi tạo trạng thái đối tượng. Một hàm tạo cũng chứa một số tập lệnh được thực thi tại thời điểm tạo đối tượng. Nó được gọi ngay khi một đối tượng của một lớp được khởi tạo.The __init__ represents constructor in python. this is used to initialize the object’s state. a constructor also contains some scripts that are executed at the time of Object creation. It is called as soon as an object of a class is instantiated.

Phương thức -________ 21 Đây là hàm do người dùng xác định có thể được xác định bên trong hoặc bên ngoài định nghĩa lớp. Nó cũng chứa một tập hợp các câu lệnh để thực thi. Ở đây, func () là một ví dụ về một phương pháp.

class Person:
    def __init__(self, name, age=None, sex=None):
        self.name, self.age, self.sex = name, age, sex
1 It is a user-defined function that can be defined inside or outside a class definition. It also contains a set of statements to execute. Here, func() is an example of a method.

Bây giờ, người dùng có thể tạo bao nhiêu đối tượng như anh ta muốn và có thể truy cập các thành viên dữ liệu, phương thức và biến lớp từ nó. Người dùng có thể xác định một hoặc nhiều lớp và thực hiện các hành động khác nhau bằng các đối tượng. Chúng tôi sẽ tìm hiểu thêm chi tiết trong các bài viết tiếp theo.

Sự kết luận

Trong bài viết này, chúng tôi đã học cách tạo và khởi tạo một đối tượng trong Python sau khi tạo một lớp. Chúng tôi đã sử dụng ví dụ về lớp chó để hiểu rõ hơn về chủ đề. Chúng tôi đã tìm hiểu về những hành động có thể được thực hiện bằng cách sử dụng các đối tượng.

Bạn có thể tạo một đối tượng Python mà không có lớp học không?

Chúng ta đã biết rằng một đối tượng là một thùng chứa của một số dữ liệu và phương thức hoạt động trên dữ liệu đó. Trong Python, một đối tượng được tạo từ một lớp. Để tạo một đối tượng, bạn phải xác định một lớp trước.To create an object, you have to define a class first.

Một đối tượng có thể được tạo mà không có lớp?

Sử dụng stdclass () mới để tạo một đối tượng không có lớp: để tạo một đối tượng không có lớp, chúng tôi sẽ sử dụng toán tử stdclass () mới và sau đó thêm một số thuộc tính vào chúng.: For creating an object without a class, we will use a new stdClass() operator and then add some properties to them.

Chúng ta có thể tạo đối tượng mà không có hàm tạo trong Python không?

Trong Python, để tạo và khởi tạo một đối tượng của một lớp, bạn cần một phương thức đặc biệt và phương pháp đặc biệt đó (hàm) được gọi là các hàm tạo.Mỗi lớp có một hàm tạo, nhưng không bắt buộc phải xác định rõ ràng nó.it is not required to explicitly define it.

Những gì được sử dụng để tạo ra một đối tượng trong Python?

Một lớp là một bản thiết kế để tạo một đối tượng.Từ 'cá thể' có nghĩa là 'một bản sao'.Các thuộc tính hoặc trạng thái của một đối tượng được biểu thị bằng các biến thể hiện và hành vi được biểu thị bằng các phương thức hoặc hàm.Bạn có thể tạo nhiều đối tượng trong cùng một lớp. is a blueprint for creating an object. The word 'instance' means 'a copy'. The properties or state of an object are represented by instance variables and the behavior is represented by methods or functions. You can create multiple objects in the same class.