Giúp bạn chạy một phương thức được chỉ định từ tập lệnh Python trực tiếp trong quy trình làm việc. Kịch bản chứa phương thức cần được tải vào môi trường trước bằng cách sử dụng hoạt động tập lệnh Python Load. Chỉ có thể được sử dụng bên trong hoạt động phạm vi Python.Load Python Script activity. Can only be used inside the Python Scope activity. Ghi chú Gói hoạt động Python hiện tương thích với Windows .NET 5.UiPath.Python.Activities.InvokeMethod
📘
- DisplayName - Tên hiển thị của hoạt động. Trường này chỉ hỗ trợ các biến
String
. - The display name of the activity. This field supports onlyString
variables.
- Tham số đầu vào - Danh sách các tham số đầu vào cho tập lệnh Python sẽ được gọi, nếu có. Trường này chỉ hỗ trợ các biến
IEnumerable
. - A list of input parameters for the Python script that is to be invoked, if any. This field supports onlyIEnumerable
variables. - Ví dụ - tập lệnh Python chứa phương thức bạn muốn chạy, được lưu trữ trong biến
PythonObject
. Trường này chỉ hỗ trợ các biếnPythonObject
. - The Python script that contains the method you want to run, stored in aPythonObject
variable. This field supports onlyPythonObject
variables. - Tên - Tên của phương thức sẽ được gọi. Trường này chỉ hỗ trợ các biến
String
. - The name of the method that is to be invoked. This field supports onlyString
variables.
- Riêng - nếu được chọn, các giá trị của các biến và đối số không còn được ghi lại ở cấp độ dài dòng. - If selected, the values of variables and arguments are no longer logged at Verbose level.
- Kết quả - Kết quả của phương pháp được gọi, được lưu trữ trong biến
PythonObject
. Có thể được xử lý thêm bằng cách sử dụng hoạt động đối tượng Get Python và được chuyển đổi thành kiểu dữ liệu .NET. - The result of the invoked method, stored in aPythonObject
variable. Can be further processed using the Get Python Object activity and converted to a .NET datatype.
- Mục lục
- Đặc tính
- Phổ thông
- Đầu vào
- Misc
- Đầu ra
- Đặc tính
Giả sử tôi đang tuyên bố một lớp
>>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
0 và một vài trong số các tuyên bố là rất giống nhau. Tôi muốn sử dụng một hàm >>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
1 để giảm sự lặp lại mã cho các khai báo này. Chỉ có thể khai báo và sử dụng >>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
1 như thường lệ:>>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... w = f[42]
...
>>> C.v
''
>>> C.w
''
>>> C.f[4]
Traceback [most recent call last]:
File "", line 1, in
TypeError: unbound method f[] must be called with C instance as first argument [got int instance instead]
Ối! Tôi đã vô tình phơi bày
>>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
1 với thế giới bên ngoài, nhưng nó không phải là một đối số >>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
4 [và không thể vì những lý do rõ ràng]. Một khả năng sẽ là >>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
5 Hàm sau khi tôi sử dụng nó:>>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
Nhưng điều gì sẽ xảy ra nếu tôi muốn sử dụng
>>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
1 một lần nữa sau đó, sau khi tuyên bố thì sao? Nó sẽ không làm để xóa chức năng. Tôi có thể làm cho nó "riêng tư" [tức là, tiền tố tên của nó với >>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
7] và cho nó điều trị >>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
8, nhưng gọi các đối tượng >>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
9 thông qua các kênh bất thường trở nên rất thú vị:>>> class C[object]:
... @staticmethod
... def __f[num]:
... return ''
... v = __f.__get__[1][9] # argument to __get__ is ignored...
...
>>> C.v
''
Tôi phải sử dụng sự điên rồ ở trên bởi vì các đối tượng
>>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
9, là những mô tả, không phải là bản thân chúng có thể gọi được. Tôi cần khôi phục chức năng được bọc bởi đối tượng >>> class C[object]:
... def f[num]:
... return ''
... v = f[9]
... del f
...
>>> C.v
''
>>> C.f
Traceback [most recent call last]:
File "", line 1, in
AttributeError: type object 'C' has no attribute 'f'
9 trước khi tôi có thể gọi nó.Phải có một cách tốt hơn để làm điều này. Làm thế nào tôi có thể khai báo một cách sạch sẽ một chức năng trong một lớp, sử dụng nó trong quá trình khai báo của nó và cũng sử dụng nó sau này từ trong lớp? Tôi thậm chí có nên làm điều này không?
13.7. Ràng buộc và gọi phương pháp
Bây giờ chúng ta cần đọc lại khái niệm Python về ràng buộc, chỉ được liên kết với việc gọi phương pháp. Trước tiên chúng tôi sẽ xem xét các sự kiện về các phương pháp. Đầu tiên, một phương thức chỉ đơn giản là một hàm được xác định là một phần của một lớp. Điều này có nghĩa là các phương thức là thuộc tính lớp [không phải thuộc tính thể hiện]. Thứ hai, các phương thức chỉ có thể được gọi khi có một thể hiện của lớp trong đó phương thức được xác định. Khi có một trường hợp hiện tại, phương pháp được coi là ràng buộc. Không có một ví dụ, một phương pháp được coi là không liên kết. Và thứ ba, đối số đầu tiên trong bất kỳ định nghĩa phương thức nào là bản thân biến, đại diện cho đối tượng thể hiện gọi phương thức.
Lưu ý cốt lõi: Bản thân là gì?
Bản thân biến được sử dụng trong lớp ... self is used in class ...