.
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
4 mất 1-D quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
5 và gọi nó cho nhiều quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
6. Để gọi nó cho các vết cắt dọc tại y = -1 0 1 và cắt ngang tại x = -1 0 1,say you want various 1-dimensional cross-sections through a 2-dimensional function, like slices through a row of hills.
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
4 takes a 1-d quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
5 and calls it for various quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
6.To call it for vertical cuts at y = -1 0 1 and horizontal cuts at x = -1 0 1,
fx1 = quadf[ x, lambda x: f[ x, 1 ]]
fx0 = quadf[ x, lambda x: f[ x, 0 ]]
fx_1 = quadf[ x, lambda x: f[ x, -1 ]]
fxy = parabola[ y, fx_1, fx0, fx1 ]
f_1y = quadf[ y, lambda y: f[ -1, y ]]
f0y = quadf[ y, lambda y: f[ 0, y ]]
f1y = quadf[ y, lambda y: f[ 1, y ]]
fyx = parabola[ x, f_1y, f0y, f1y ]
Theo như tôi biết,
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
7 không thể làm điều này -quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
[Làm thế nào để thêm thẻ Numpy, Partial, Lambda vào này?]
Đăng nhập vào tài khoản Python Barsels của bạn để lưu cài đặt screencast của bạn.
Vẫn chưa có tài khoản? Đăng ký tại đây.
Trong Python, bạn có thể chuyển một hàm cho một hàm khác như một đối số.function to another function as an argument.
Vượt qua một chức năng như một đối số
Chúng tôi có một danh sách các chuỗi đại diện cho tên trái cây:
>>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
Nếu chúng tôi muốn bảng chữ cái danh sách này, chúng tôi có thể chuyển nó cho chức năng
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
8 tích hợp:>>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
Ngoại trừ việc
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
8 không hoàn toàn bảng chữ cái danh sách này bởi vì khi Python sắp xếp các chuỗi, nó đặt tất cả các chữ cái viết hoa trước tất cả các chữ cái viết thường [do thứ tự ASCII/Unicode của chúng].
Chúng ta có thể khắc phục điều này, bằng cách cung cấp đối số
>>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
0 cho hàm quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
8 tích hợp.>>> help[sorted]
sorted[iterable, /, *, key=None, reverse=False]
...
Đối số
>>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
0 này phải là một hàm sẽ được gọi với từng mục riêng lẻ trong >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
3 của chúng tôi và nó sẽ trả lại điều để sắp xếp.>>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
0 argument should be a function that will be called with each of the individual items in our >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
3 iterable and it should return the thing to sort by.Trong trường hợp của chúng tôi, chúng tôi có thể tạo một chức năng hạ thấp bất kỳ chuỗi nào được cung cấp cho nó để sắp xếp theo các phiên bản viết thường của mỗi chuỗi:
>>> def lowercase[string]:
... return string.lower[]
...
Để sắp xếp theo các chuỗi thấp hơn, chúng tôi sẽ gọi
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
8 với đối số >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
0 chỉ ra chức năng >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
6 này:>>> sorted[fruits, key=lowercase]
['cherimoya', 'jujube', 'kumquat', 'longan', 'Loquat']
Điều đó đã được bảng chữ cái đúng cách danh sách các chuỗi của chúng tôi [trong khi duy trì vốn hóa ban đầu của chúng trong danh sách kết quả].
Lưu ý rằng khi chúng tôi gọi
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
8, chúng tôi đã không đặt dấu ngoặc đơn [>>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
8] sau >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
6 để gọi nó, như thế này:Chúng tôi đã không gọi
>>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
6. Thay vào đó, chúng tôi chỉ đề cập đến >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
6:>>> lowercase
Chúng tôi đã chuyển đối tượng hàm
>>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
6 cho hàm quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
8 [thông qua đối số >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
0 của nó]:>>> sorted[fruits, key=lowercase]
Do đó,
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
8 có thể tự gọi >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
6 liên tục trên mỗi mục riêng lẻ của danh sách >>> fruits = ['kumquat', 'cherimoya', 'Loquat', 'longan', 'jujube']
3 [sử dụng giá trị trả về mà nó có là một loại khóa so sánh để sắp xếp].Vì vậy, trong Python, có những chức năng chấp nhận các chức năng khác là đối số.functions that accept other functions as arguments.
Viết chức năng Chứng nhận chức năng làm đối số
Chúng tôi cũng có thể tạo các chức năng của riêng mình chấp nhận một chức năng như một đối số.make our own functions that accept a function as an argument.
Chúng tôi có một hàm, được gọi là
>>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
8, chấp nhận một đối tượng hàm [>>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
9] và giá trị [>>> help[sorted]
sorted[iterable, /, *, key=None, reverse=False]
...
0]:>>> def get_two[func, thing]:
... return func[thing], func[thing]
...
Và nó gọi đối tượng hàm đã cho với
>>> help[sorted]
sorted[iterable, /, *, key=None, reverse=False]
...
0 đã cho hai lần [trả về một bộ hai mục].Nếu chúng tôi nhập mô -đun
>>> help[sorted]
sorted[iterable, /, *, key=None, reverse=False]
...
2 và gọi >>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
8 với >>> help[sorted]
sorted[iterable, /, *, key=None, reverse=False]
...
4 và số >>> help[sorted]
sorted[iterable, /, *, key=None, reverse=False]
...
5:quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
0Nó sẽ gọi
>>> help[sorted]
sorted[iterable, /, *, key=None, reverse=False]
...
4 vào >>> help[sorted]
sorted[iterable, /, *, key=None, reverse=False]
...
5 hai lần:quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
1Cuộc gọi chức năng này được tạo ngẫu nhiên hai số từ 0 đến 2 [0, 1 hoặc 2]:
quadf[ y, partial[ f, x=1 ]]
TypeError: f[] got multiple values for keyword argument 'x'
2Hàm
>>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
8 này chấp nhận một chức năng như một đối số:accepts a function as an argument:>>> def get_two[func, thing]:
... return func[thing], func[thing]
...
Một điều mà bạn có thể làm với mọi chức năng là gọi nó. Vì vậy, hàm
>>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
8 này giả định rằng >>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
9 trỏ đến một đối tượng hàm hoặc một số đối tượng có thể gọi khác [bất cứ điều gì bạn có thể gọi bằng cách đặt dấu ngoặc đơn sau nó].call it. So this >>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
8 function is assuming that >>> sorted[fruits]
['Loquat', 'cherimoya', 'jujube', 'kumquat', 'longan']
9 points to a function object or some other callable object [anything that you can call by putting parentheses after it].Bản tóm tắt
Trong Python, bạn có thể chuyển các đối tượng chức năng vào các chức năng khác. Các chức năng có thể được thông qua trong Python.pass function objects in to other functions. Functions can be passed around in Python.
Trong thực tế, có những chức năng được xây dựng thành Python mong đợi các chức năng được đưa ra như một hoặc nhiều đối số của chúng để sau đó họ có thể gọi chúng sau.