Đôi khi bạn muốn tạo các chức năng một cách nhanh chóng, trong thời gian chạy. Điều này xuất hiện khi sử dụng một số chức năng tối ưu hóa SciPy yêu cầu các ràng buộc đối với các biến được xác định là hàm
Theo bài đăng StackOverflow này, dường như có một số cách để thực hiện việc này
Tất cả các phương pháp đều xoay quanh cách này hay cách khác xung quanh các mô-đun
class 'str' class 'int'3 và
class 'str' class 'int'4 tích hợp sẵn của Python. Để biết thêm thông tin, xem ví dụ tại đây
Một lớp định nghĩa một tập hợp các biến thể hiện và các phương thức để chỉ định một loại đối tượng. Một lớp có thể được sử dụng để tạo bao nhiêu thể hiện đối tượng của loại đối tượng khi cần. Một đối tượng là một thực thể được xác định với các thuộc tính nhất định [thành viên dữ liệu] và hành vi [hàm thành viên]. Nhóm các đối tượng có đặc điểm và hành vi tương tự nhau là thể hiện của cùng một lớp
Python là một ngôn ngữ lập trình động và do tính linh hoạt của nó, Python có lợi thế đáng kể so với các ngôn ngữ được nhập tĩnh. Mã Python có thể được nhập động và các lớp có thể được tạo động trong thời gian chạy
Các lớp có thể được tạo động bằng hàm
class 'str' class 'int'5 trong Python. Hàm
class 'str' class 'int'5 được sử dụng để trả về loại đối tượng
cú pháp
type[object]
Cú pháp trên trả về loại đối tượng
Ví dụ
class 'str' class 'int'7
class 'str' class 'int'8
class 'str' class 'int'9
class 'str' class 'int'0
class 'str' class 'int'0
class 'str' class 'int'0
class 'str' class 'int'2
class 'str' class 'int'3
class 'str' class 'int'9
class 'str' class 'int'0
class 'str' class 'int'0
class 'str' class 'int'0
class 'str' class 'int'8
class 'str' class 'int'9
đầu ra
class 'str' class 'int'
Tạo các lớp động trong Python
Các lớp có thể được tạo động bằng cú pháp bên dưới.
Cú pháp.
Cú pháp trên trả về một loại đối tượng mới
Ví dụ
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class0
class 'str' class 'int'8
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class2
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class3
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class4
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class5
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class6
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class7
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class5______89
class 'str' class 'int'80
class 'str' class 'int'81
class 'str' class 'int'8
class 'str' class 'int'83
________ 83 ________ 185 ________ 85 _______ 86
_______87____59____550
class 'str' class 'int'8
class 'str' class 'int'52
class 'str' class 'int'53
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class3
class 'str' class 'int'55
class 'str' class 'int'0
class 'str' class 'int'57
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class6
_______87____59____550
class 'str' class 'int'8
class 'str' class 'int'53
class 'str' class 'int'54
class 'str' class 'int'80
class 'str' class 'int'0_______60____558
class 'str' class 'int'59
class 'str' class 'int'70
class 'str' class 'int'71
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class7
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class2
________ 87 ________ 575 ________ 576
class 'str' class 'int'77
_______87____579
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class7
class 'str' class 'int'81____582
class 'str' class 'int'83
class 'str' class 'int'84
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class7____586____582
class 'str' class 'int'8
class 'str' class 'int'84
class 'str' class 'int'77
_______87____592
_______87____594____595
type[name, bases, attributes] Parameters: name: The user defined name of the class bases: A list of base classes, and its type is tuple attributes: the data members and methods contained in the class7
class 'str' class 'int'97____582
class 'str' class 'int'55
class 'str' class 'int'00
class 'str' class 'int'8
class 'str' class 'int'02
class 'str' class 'int'03
class 'str' class 'int'80
class 'str' class 'int'05
class 'str' class 'int'06
class 'str' class 'int'07
class 'str' class 'int'9
class 'str' class 'int'09
class 'str' class 'int'9
class 'str' class 'int'01
class 'str' class 'int'9
class 'str' class 'int'03
________ 104 ________ 105 ________ 607
________ 107 ________ 108 ________ 607
đầu ra
class 'str' class 'int'8
Trong chương trình trên, lớp
class 'str' class 'int'54 được tạo động có hàm tạo. Các thành viên dữ liệu của
class 'str' class 'int'54 là
class 'str' class 'int'12 và
class 'str' class 'int'13 và các hàm thành viên của
class 'str' class 'int'54 là
class 'str' class 'int'15 và
class 'str' class 'int'16. Một đối tượng
class 'str' class 'int'03 của lớp
class 'str' class 'int'54 được tạo và tất cả các thành viên dữ liệu được gán và hiển thị, tất cả các hàm thành viên của
class 'str' class 'int'54 cũng được gọi