Hướng dẫn can you create a python object without a class? - bạn có thể tạo đối tượng python mà không cần lớp không?

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ó age, và không có gợi ý rằng điều này đã xảy ra. Sau đó, bạn cố gắng in person.age 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ỳ điều nào trong số này, bạn có thể sử dụng ____10, 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
1 để 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
2, age hoặc
class sex:
    male   = "M"
    female = "F"

class person:
    name = "Mike"
    age  = 25
    sex  = sex.male
1 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.

Python tạo đối tượ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 & nbsp; được tạo từ một lớp.object is created from a class.

Để tạo một đối tượng, bạn phải xác định một lớp trước. Hãy để kiểm tra điều đó trong ví dụ dưới đây.

Thí dụ

Các đối tượng Python cũng là cần thiết nếu bạn dự định thực hiện bất kỳ hoạt động nào với lớp. Bạn có thể tạo một đối tượng như hình dưới đây.

Thí dụ

Một đối tượng Python là một ngay lập tức của lớp được xác định và do đó tạo một đối tượng mới từ một lớp được gọi là khởi tạo.instantiation .

Tạo đối tượng Python với các thuộc tính

Thuộc tính là gì? Đây là các biến độc quyền cho một đối tượng hoặc một lớp. Trong ví dụ trên, chúng tôi đã tạo một thuộc tính lớp có tên ‘A.Attribute ? These are the variables that are exclusive to an object or a class. In the example above, we created a class attribute named ‘a’.

Bạn cũng có thể tạo một đối tượng với các thuộc tính trong Python. Điều này có thể được thực hiện theo cách sau:

Thí dụ

Notethe vars [] Phương thức trả về tất cả các thuộc tính đối tượng. Tương tự, nếu bạn muốn tất cả các thuộc tính [bao gồm cả lớp được quy cho], bạn có thể sử dụng phương thức DIR [Đối tượng]. The vars[] method returns all the object attributes. Similarly, if you want all the attributes [including the class attributed], you can use the dir[object] method.

Trong ví dụ trên, chúng tôi đã tạo hai thuộc tính đối tượng bên trong phương thức __init __ []. Mỗi đối tượng bạn tạo bằng cách sử dụng lớp tạo ra một bản sao của các thuộc tính này. Nó có nghĩa là các thuộc tính này [hoặc bản sao của chúng] là duy nhất cho mỗi đối tượng.

Tạo các đối tượng Python trống

Tạo các đối tượng trống trong Python rất dễ dàng. Xác định một lớp trống và sau đó tạo một đối tượng của lớp đó. Hãy để kiểm tra xem trong ví dụ dưới đây

Thí dụ

Nhưng điều gì sẽ xảy ra nếu bạn muốn tạo một đối tượng trống mà không tạo ra một lớp trống? Bạn cũng có thể làm điều đó mà!

Notewe có địa chỉ của đối tượng khi chúng tôi cố gắng in nó trong ví dụ trên. Đây là cách bạn có thể tạo một đối tượng trống theo một cách khác. We got the address of the object when we tried to print it in the above example. Here's how you can create an empty object in a different way.

Thí dụ

Ngắn hơn và sạch hơn! Nhưng mã hoạt động trong ví dụ trên như thế nào?

Hãy để hiểu về mã:

  • Chúng tôi sử dụng hàm python loại [] để tạo một lớp mới có tên, tốt, lớp.
  • Các đối số được truyền trong phương thức loại [] là, tên lớp, một tuple chứa các lớp cơ sở và từ điển được sử dụng bởi đối tượng.
  • Từ điển đối tượng có thể chứa các phương thức hoặc các phương thức đối tượng.

Bạn có thể tạo một đối tượng mà không có lớp học trong Python 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.

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

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 trong Python không?

Python là một ngôn ngữ lập trình định hướng đối tượng.Hầu hết mọi thứ trong Python là một đối tượng, với các thuộc tính và phương pháp của nó.Một lớp giống như một hàm tạo đối tượng hoặc "bản thiết kế" để tạo các đối tượng.Almost everything in Python is an object, with its properties and methods. A Class is like an object constructor, or a "blueprint" for creating objects.

Có phải lớp học bắt buộc trong Python?

Mặc dù không bắt buộc, các lớp Python có thể có một cái gì đó tương tự như hàm tạo: phương thức __init __ [].Tuy nhiên, rất hiếm khi thực sự cần phải thực hiện __new [] __ vì Python xây dựng các đối tượng của chúng tôi cho chúng tôi.it's not required, Python classes can have something similar to a constructor: the __init__[] method. However, it's very rare to actually need to implement __new[]__ because Python constructs our objects for us.

Bài Viết Liên Quan

Chủ Đề