Hướng dẫn can you make a list of objects in python? - bạn có thể tạo danh sách các đối tượng trong python không?

Tôi có một số câu trả lời hacky có khả năng là khủng khiếp ... nhưng tôi có rất ít kinh nghiệm vào thời điểm này.

xa:

class myClass[]:
    myInstances = []
    def __init__[self, myStr01, myStr02]:
        self.myStr01 = myStr01
        self.myStr02 = myStr02
        self.__class__.myInstances.append[self]

myObj01 = myClass["Foo", "Bar"]
myObj02 = myClass["FooBar",  "Baz"]

for thisObj in myClass.myInstances:
    print[thisObj.myStr01]
    print[thisObj.myStr02]

Một cách hack để hoàn thành việc này:

import sys
class myClass[]:
    def __init__[self, myStr01, myStr02]:
        self.myStr01 = myStr01
        self.myStr02 = myStr02

myObj01 = myClass["Foo", "Bar"]
myObj02 = myClass["FooBar",  "Baz"]

myInstances = []
myLocals = str[locals[]].split["'"]
thisStep = 0
for thisLocalsLine in myLocals:
    thisStep += 1
    if "myClass object at" in thisLocalsLine:
        print[thisLocalsLine]
        print[myLocals[[thisStep - 2]]]
        #myInstances.append[myLocals[[thisStep - 2]]]
        print[myInstances]
        myInstances.append[getattr[sys.modules[__name__], myLocals[[thisStep - 2]]]]

for thisObj in myInstances:
    print[thisObj.myStr01]
    print[thisObj.myStr02]

Một hack 'thông minh' khác:

import sys
class myClass[]:
    def __init__[self, myStr01, myStr02]:
        self.myStr01 = myStr01
        self.myStr02 = myStr02

myInstances = []
myClasses = {
    "myObj01": ["Foo", "Bar"],
    "myObj02": ["FooBar",  "Baz"]
    }

for thisClass in myClasses.keys[]:
    exec["%s = myClass['%s', '%s']" % [thisClass, myClasses[thisClass][0], myClasses[thisClass][1]]]
    myInstances.append[getattr[sys.modules[__name__], thisClass]]

for thisObj in myInstances:
    print[thisObj.myStr01]
    print[thisObj.myStr02]

Ví dụ Python để tạo danh sách các đối tượng:

Danh sách Python có thể giữ một danh sách các đối tượng lớp. Chúng ta có thể tạo một danh sách trống và nối nhiều đối tượng lớp vào danh sách này. Mỗi phần tử danh sách sẽ là một đối tượng và chúng tôi có thể truy cập bất kỳ thành viên nào của đối tượng đó như phương thức, biến, v.v. Lưu ý rằng bạn có thể nối các đối tượng lớp khác nhau vào cùng một danh sách.

Trong bài đăng này, tôi sẽ chỉ cho bạn cách tạo một danh sách các đối tượng trong Python.

Ví dụ 1: Danh sách các đối tượng [cùng một trường hợp lớp]:

class Student:
    def __init__[self, name, age]:
        self.name = name
        self.age = age


studentList = []
studentList.append[Student["Alex", 20]]
studentList.append[Student["Bob", 21]]
studentList.append[Student["Ira", 15]]

for student in studentList:
    print['Name : {}, Age : {}'.format[student.name,student.age]]

Trong ví dụ này, chúng tôi đang nối thêm các đối tượng cùng loại. Học sinh là một lớp có hai thuộc tính và tuổi. Lúc đầu, chúng tôi đã khởi tạo một danh sách trống của STRIENTLIST và thêm ba đối tượng sinh viên khác nhau vào danh sách này.

Vòng lặp được sử dụng để in cả hai thuộc tính của mỗi đối tượng trong danh sách đó.

Nó sẽ in đầu ra dưới đây:

Name : Alex, Age : 20
Name : Bob, Age : 21
Name : Ira, Age : 15

Ví dụ 2: Danh sách các đối tượng có các phiên bản lớp khác nhau:

class Student:
    def __init__[self, name, age]:
        self.name = name
        self.age = age


class Subject:
    def __init__[self, name]:
        self.subjectName = name


data = []
data.append[Student["Alex", 20]]
data.append[Subject["Subject-A"]]
data.append[Student["Bob", 21]]
data.append[Subject["Subject-B"]]
data.append[Student["Ira", 15]]

for item in data:
    if[isinstance[item, Student]]:
        print['Name : {}, Age : {}'.format[item.name, item.age]]
    else:
        print['Subject : {}'.format[item.subjectName]]

Trong ví dụ này, chúng tôi có hai lớp học sinh và môn học khác nhau. Nhưng chúng tôi đang nối thêm các đối tượng của cả hai lớp này vào cùng một dữ liệu danh sách. Vòng lặp For là kiểm tra loại đối tượng trước khi in nội dung của nó.

Nó sẽ tạo ra đầu ra dưới đây:

Name : Alex, Age : 20
Subject : Subject-A
Name : Bob, Age : 21
Subject : Subject-B
Name : Ira, Age : 15

Hướng dẫn tương tự:

  • Cách tạo từ điển từ hai danh sách trong Python
  • Chương trình Python để tìm phần tử giữa của danh sách số ngẫu nhiên
  • Chương trình Python để lặp qua danh sách theo thứ tự ngược lại
  • Chương trình Python để xóa tất cả sự xuất hiện của một giá trị khỏi danh sách
  • Cách xóa mục khỏi danh sách trong Python
  • Chương trình Python để xóa tất cả các yếu tố trùng lặp khỏi danh sách

Làm thế nào để bạn in một danh sách các đối tượng trong Python?

Sử dụng biểu tượng * để in một danh sách trong Python. Để in nội dung của một danh sách trong một dòng duy nhất với không gian, toán tử * hoặc splat là một cách để đi. Nó chuyển tất cả các nội dung của một danh sách cho một hàm. Chúng ta có thể in tất cả các phần tử trong các dòng mới hoặc được phân tách bằng không gian và để làm điều đó, chúng ta sử dụng sep =, \ n, hoặc sep =, tương ứng.* or splat operator is one way to go. It passes all of the contents of a list to a function. We can print all elements in new lines or separated by space and to do that, we use sep=”\n” or sep=”, ” respectively.

Làm thế nào để bạn tuyên bố một danh sách các đối tượng?

Bạn có thể sử dụng bất kỳ phương thức nào được đưa ra dưới đây để khởi tạo đối tượng danh sách ...
#1] Sử dụng phương pháp ASLIST ..
#2] Sử dụng danh sách.cộng[].
#3] Sử dụng các phương thức lớp Bộ sưu tập ..
#4] Sử dụng các luồng Java8 ..
#5] Danh sách Java 9.của [] phương pháp ..
#1] Sử dụng cho vòng lặp/nâng cao cho vòng lặp ..
#2] Sử dụng phương pháp ToString ..

Làm thế nào để bạn trả lại một danh sách các đối tượng trong Python?

Hàm Python có thể trả về bất kỳ đối tượng nào như danh sách.Để trả về một danh sách, trước tiên, hãy tạo đối tượng danh sách trong phần thân hàm, gán nó cho một biến của bạn_list và trả lại cho người gọi của chức năng bằng cách sử dụng hoạt động từ khóa, trả về của bạn.create the list object within the function body, assign it to a variable your_list , and return it to the caller of the function using the keyword operation “ return your_list “.

Danh sách Python có thể giữ bao nhiêu đối tượng?

Theo mã nguồn, kích thước tối đa của danh sách là py_ssize_t_max/sizeof [PyObject*].Trên một hệ thống 32bit thông thường, đây là [4294967295 /2] / 4 hoặc 536870912. Do đó, kích thước tối đa của danh sách Python trên hệ thống 32 bit là 536.870.912 phần tử.PY_SSIZE_T_MAX/sizeof[PyObject*] . On a regular 32bit system, this is [4294967295 / 2] / 4 or 536870912. Therefore the maximum size of a python list on a 32 bit system is 536,870,912 elements.

Bài Viết Liên Quan

Chủ Đề