Làm cách nào để gọi một hàm, sử dụng một chuỗi có tên của chức năng? Ví dụ:
Nội dung chính ShowShow
- Bạn có thể gọi một chức năng trong một chuỗi python không?
- Tôi có thể gọi một hàm từ một chuỗi không?
- Làm cách nào để gọi chức năng trong Python?
- __ gọi __ chức năng trong Python là gì?
import foo
func_name = "bar"
call[foo, func_name] # calls foo.bar[]
Mateen Ulhaq
22.2K16 Huy hiệu vàng86 Huy hiệu bạc127 Huy hiệu đồng16 gold badges86 silver badges127 bronze badges16 gold badges86 silver badges127 bronze badges
Hỏi ngày 6 tháng 8 năm 2008 lúc 3:36Aug 6, 2008 at 3:36Aug 6, 2008 at 3:36
2
Cho một mô -đun
locals[]["myfunction"][]
7 với Phương thức locals[]["myfunction"][]
8:import foo
bar = getattr[foo, 'bar']
result = bar[]
locals[]["myfunction"][]
9 có thể được sử dụng tương tự trên các phương thức giới hạn phiên bản lớp, các phương thức cấp mô-đun, phương thức lớp ... danh sách tiếp tục.
Mateen Ulhaq
22.2K16 Huy hiệu vàng86 Huy hiệu bạc127 Huy hiệu đồng16 gold badges86 silver badges127 bronze badges16 gold badges86 silver badges127 bronze badges
Hỏi ngày 6 tháng 8 năm 2008 lúc 3:36Aug 6, 2008 at 3:36Aug 6, 2008 at 3:57
17
Cho một mô -đun
7 với Phương thứclocals[]["myfunction"][]
8:locals[]["myfunction"][]
import foo bar = getattr[foo, 'bar'] result = bar[]
9 có thể được sử dụng tương tự trên các phương thức giới hạn phiên bản lớp, các phương thức cấp mô-đun, phương thức lớp ... danh sách tiếp tục.locals[]["myfunction"][]
- Hỏi ngày 6 tháng 8 năm 2008 lúc 3:36Aug 6, 2008 at 3:57
Mateen Ulhaq
22.2K16 Huy hiệu vàng86 Huy hiệu bạc127 Huy hiệu đồng16 gold badges86 silver badges127 bronze badges16 gold badges86 silver badges127 bronze badges
Hỏi ngày 6 tháng 8 năm 2008 lúc 3:36Aug 6, 2008 at 3:36May 7, 2009 at 12:45
Cho một mô -đun
locals[]["myfunction"][]
7 với Phương thức locals[]["myfunction"][]
8:import foo
bar = getattr[foo, 'bar']
result = bar[]
locals[]["myfunction"][]
9 có thể được sử dụng tương tự trên các phương thức giới hạn phiên bản lớp, các phương thức cấp mô-đun, phương thức lớp ... danh sách tiếp tục.sastaninHỏi ngày 6 tháng 8 năm 2008 lúc 3:36Aug 6, 2008 at 3:5713 gold badges100 silver badges128 bronze badges
4
locals[]["myfunction"][]
7 với Phương thức locals[]["myfunction"][]
8:locals[]["myfunction"][]
locals[]["myfunction"][]
2Mateen Ulhaq
22.2K16 Huy hiệu vàng86 Huy hiệu bạc127 Huy hiệu đồng16 gold badges86 silver badges127 bronze badges16 gold badges86 silver badges127 bronze badges
Hỏi ngày 6 tháng 8 năm 2008 lúc 3:36Aug 6, 2008 at 3:36Aug 7, 2008 at 11:35
HS.HS.HS.HS.
Cho một mô -đun
locals[]["myfunction"][]
7 với Phương thức locals[]["myfunction"][]
8:import foo
bar = getattr[foo, 'bar']
result = bar[]
locals[]["myfunction"][]
9 có thể được sử dụng tương tự trên các phương thức giới hạn phiên bản lớp, các phương thức cấp mô-đun, phương thức lớp ... danh sách tiếp tục.8
gold badges40 silver badges48 bronze badges6
locals[]["myfunction"][]
7 với Phương thức locals[]["myfunction"][]
8:locals[]["myfunction"][]
locals[]["myfunction"][]
9 có thể được sử dụng tương tự trên các phương thức giới hạn phiên bản lớp, các phương thức cấp mô-đun, phương thức lớp ... danh sách tiếp tục. Đã trả lời ngày 6 tháng 8 năm 2008 lúc 3:57Hỏi ngày 6 tháng 8 năm 2008 lúc 3:36May 7, 2009 at 12:45
locals[]["myfunction"][]
7 với Phương thức locals[]["myfunction"][]
8:sastanintbc0
locals[]["myfunction"][]
9 có thể được sử dụng tương tự trên các phương thức giới hạn phiên bản lớp, các phương thức cấp mô-đun, phương thức lớp ... danh sách tiếp tục.13 gold badges100 silver badges128 bronze badges1
gold badge16 silver badges21 bronze badgesĐã trả lời ngày 6 tháng 8 năm 2008 lúc 3:57Aug 19, 2012 at 9:40
Hỏi ngày 6 tháng 8 năm 2008 lúc 3:36Aug 7, 2008 at 11:35Sourcegeek
7 với Phương thức locals[]["myfunction"][]
8:8 gold badges40 silver badges48 bronze badges1 gold badge9 silver badges2 bronze badgeslocals[]["myfunction"][]
1
locals[]["myfunction"][]
9 có thể được sử dụng tương tự trên các phương thức giới hạn phiên bản lớp, các phương thức cấp mô-đun, phương thức lớp ... danh sách tiếp tục.locals[]["myfunction"][]
6Sử dụng locals[]["myfunction"][]
70, trả về một từ điển với bảng ký hiệu cục bộ hiện tại:Sử dụng Oct 16, 2013 at 0:24
locals[]["myfunction"][]
71, trả về một từ điển với bảng ký hiệu toàn cầu:locals[]["myfunction"][]
9ferrouswheel
71 gold badge16 silver badges21 bronze badges2 gold badges22 silver badges24 bronze badgeslocals[]["myfunction"][]
2
Đã trả lời ngày 7 tháng 5 năm 2009 lúc 12:45Aug 19, 2012 at 9:40
locals[]["myfunction"][]
23locals[]["myfunction"][]
SastaninsastaninSourcegeekOct 24, 2016 at 13:20
39.3K13 Huy hiệu vàng100 Huy hiệu bạc128 Huy hiệu đồng1 gold badge9 silver badges2 bronze badges
Dựa trên giải pháp của Patrick, để có được mô -đun một cách tự động, hãy nhập nó bằng cách sử dụng:
import foo
bar = getattr[foo, 'bar']
result = bar[]
0locals[]["myfunction"][]
1 import foo
bar = getattr[foo, 'bar']
result = bar[]
1Đã trả lời ngày 7 tháng 8 năm 2008 lúc 11:35Oct 16, 2013 at 0:24
import foo
bar = getattr[foo, 'bar']
result = bar[]
215K8 Huy hiệu vàng40 Huy hiệu bạc48 Huy hiệu đồngferrouswheel
Chỉ là một đóng góp đơn giản. Nếu lớp mà chúng ta cần ví dụ nằm trong cùng một tệp, chúng ta có thể sử dụng một cái gì đó như thế này:2 gold badges22 silver badges24 bronze badgesVí dụ:Apr 9, 2014 at 10:17
00500005005000050050000500500005
Và, nếu không phải là một lớp học:Oct 24, 2016 at 13:202 gold badges30 silver badges38 bronze badges
2
1.4591 Huy hiệu vàng16 Huy hiệu bạc21 Huy hiệu đồng
import foo
bar = getattr[foo, 'bar']
result = bar[]
4Đã trả lời ngày 19 tháng 8 năm 2012 lúc 9:40Feb 14, 2012 at 5:55
SourceGeekSourceGeektrubliphone
1.5691 Huy hiệu vàng9 Huy hiệu bạc2 Huy hiệu đồng3 gold badges38 silver badges59 bronze badges
2
Đưa ra một chuỗi, với một đường dẫn python hoàn chỉnh đến một hàm, đây là cách tôi đi về kết quả của chức năng đã nói:
import foo
bar = getattr[foo, 'bar']
result = bar[]
3 import foo
bar = getattr[foo, 'bar']
result = bar[]
5Đã trả lời ngày 16 tháng 10 năm 2013 lúc 0:24Apr 9, 2014 at 10:17Dec 7, 2016 at 18:29
tvt173tvt173tvt173tvt173
Ferrouswheelferrouswheel2 gold badges30 silver badges38 bronze badges19 silver badges17 bronze badges
4
3,4412 Huy hiệu vàng22 Huy hiệu bạc24 Huy hiệu đồng
Câu trả lời tốt nhất theo Câu hỏi thường gặp về lập trình Python sẽ là:Feb 14, 2012 at 5:55
import foo
bar = getattr[foo, 'bar']
result = bar[]
6Ưu điểm chính của kỹ thuật này là các chuỗi không cần phải khớp với tên của các chức năng. Đây cũng là kỹ thuật chính được sử dụng để mô phỏng cấu trúc trường hợptrubliphone
Đã trả lời ngày 24 tháng 10 năm 2016 lúc 13:203 gold badges38 silver badges59 bronze badges
Câu trả lời [tôi hy vọng] không ai muốn
Eval thích hành viMar 26, 2019 at 18:15
Tại sao không thêm tự động nhập khẩuDec 7, 2016 at 18:29Serjik
Thử cái này. Mặc dù điều này vẫn sử dụng Eval, nhưng nó chỉ sử dụng nó để triệu tập chức năng từ bối cảnh hiện tại. Sau đó, bạn có chức năng thực sự để sử dụng như bạn muốn.7 gold badges60 silver badges70 bronze badges7 gold badges60 silver badges70 bronze badges
3
Lợi ích chính cho tôi từ điều này là bạn sẽ nhận được bất kỳ lỗi liên quan đến đánh giá nào tại điểm triệu tập hàm. Sau đó, bạn sẽ chỉ nhận được các lỗi liên quan đến chức năng khi bạn gọi.
import foo
bar = getattr[foo, 'bar']
result = bar[]
7Đã trả lời ngày 7 tháng 12 năm 2016 lúc 18:29
1.63819 Huy hiệu bạc17 Huy hiệu đồng
Vì câu hỏi này, làm thế nào để gọi các phương thức tự động trong một lớp bằng cách sử dụng gán tên phương thức cho một biến [trùng lặp] được đánh dấu là một bản sao như bản này, tôi đang đăng một câu trả lời liên quan ở đây:Dec 28, 2012 at 16:56Dec 28, 2012 at 16:56
Kịch bản là, một phương thức trong một lớp muốn gọi một phương thức khác trên cùng một lớp một cách linh hoạt, tôi đã thêm một số chi tiết vào ví dụ ban đầu cung cấp một số kịch bản rộng hơn và sự rõ ràng:NatdripNatdrip
Đầu ra [Python 3.7.x]1 gold badge11 silver badges25 bronze badges1 gold badge11 silver badges25 bronze badges
4
Hàm1: 12
import foo
bar = getattr[foo, 'bar']
result = bar[]
8Hàm2: 12
import foo
bar = getattr[foo, 'bar']
result = bar[]
9Đã trả lời ngày 26 tháng 3 năm 2019 lúc 18:15Jul 16, 2020 at 15:20Jul 16, 2020 at 15:20
SerjikserjikLukasLukas
10K7 Huy hiệu vàng60 Huy hiệu bạc70 Huy hiệu đồng17 silver badges24 bronze badges17 silver badges24 bronze badges
Không có gì được đề nghị giúp tôi. Tôi đã khám phá ra điều này mặc dù.
locals[]["myfunction"][]
0Tôi đang sử dụng Python 2.66Jul 7, 2021 at 9:30Jul 7, 2021 at 9:30
1
Hi vọng điêu nay co ich
locals[]["myfunction"][]
1Đã trả lời ngày 28 tháng 12 năm 2012 lúc 16:56Sep 20, 2021 at 6:13Sep 20, 2021 at 6:13
U12-ForwardU12-ForwardU12-ForwardU12-Forward
Natdripnatdrip13 gold badges77 silver badges96 bronze badges13 gold badges77 silver badges96 bronze badges
1.0891 Huy hiệu vàng11 Huy hiệu bạc25 Huy hiệu đồng
locals[]["myfunction"][]
2Đã trả lời ngày 1 tháng 7 năm 2020 lúc 8:09Jul 1, 2020 at 8:09Jul 1, 2020 at 8:09
정도 유정도정도유정도유
5294 Huy hiệu bạc6 Huy hiệu Đồng4 silver badges6 bronze badges4 silver badges6 bronze badges
Tôi đang phải đối mặt với vấn đề tương tự trước đây, đó là chuyển đổi một chuỗi thành một hàm. Nhưng tôi không thể sử dụng
locals[]["myfunction"][]
77 hoặc locals[]["myfunction"][]
78, vì tôi không muốn thực thi mã này ngay lập tức.but i can't use locals[]["myfunction"][]
77 or locals[]["myfunction"][]
78, because i don't want to execute this code immediately.but i can't use locals[]["myfunction"][]
77 or locals[]["myfunction"][]
78, because i don't want to execute this code immediately.ví dụ. Tôi có một chuỗi
locals[]["myfunction"][]
79 và tôi muốn gán nó cho locals[]["myfunction"][]
20 dưới dạng tên hàm thay vì một chuỗi, điều đó có nghĩa là tôi có thể gọi hàm bằng locals[]["myfunction"][]
21 theo yêu cầu.ON DEMAND.ON DEMAND.Đây là mã của tôi:
locals[]["myfunction"][]
3Đối với câu hỏi của bạn, bạn chỉ cần thêm tên mô -đun
locals[]["myfunction"][]
7 và locals[]["myfunction"][]
23 trước locals[]["myfunction"][]
2 4 như sau:locals[]["myfunction"][]
4CẢNH BÁO!!! Hoặc
locals[]["myfunction"][]
97 hoặc locals[]["myfunction"][]
26 là một phương pháp nguy hiểm, bạn nên xác nhận sự an toàn. Hoặc locals[]["myfunction"][]
77 hoặc locals[]["myfunction"][]
26 là một phương pháp nguy hiểm, bạn nên xác nhận sự an toàn. Hoặc locals[]["myfunction"][]
77 hoặc locals[]["myfunction"][]
26 là một phương pháp nguy hiểm, bạn nên xác nhận sự an toàn.WARNING!!! either locals[]["myfunction"][]
77 or locals[]["myfunction"][]
26 is a dangerous method, you should confirm the safety.WARNING!!! either locals[]["myfunction"][]
77 or locals[]["myfunction"][]
26 is a dangerous method, you should confirm the safety.7 hoặc locals[]["myfunction"][]
26 là một phương pháp nguy hiểm, bạn nên xác nhận sự an toàn. Hoặc locals[]["myfunction"][]
77 hoặc locals[]["myfunction"][]
26 là một phương pháp nguy hiểm, bạn nên xác nhận sự an toàn. Hoặc locals[]["myfunction"][]
77 hoặc locals[]["myfunction"][]
26 là một phương pháp nguy hiểm, bạn nên xác nhận sự an toàn. WARNING!!! either locals[]["myfunction"][]
77 or locals[]["myfunction"][]
26 is a dangerous method, you should confirm the safety. WARNING!!! either locals[]["myfunction"][]
77 or locals[]["myfunction"][]
26 is a dangerous method, you
should confirm the safety.Đã trả lời ngày 15 tháng 6 năm 2021 lúc 8:14Jun 15, 2021 at 8:14Jun 15, 2021 at 8:14
3
Bạn có nghĩa là đưa con trỏ đến hàm bên trong từ mô -đun
locals[]["myfunction"][]
5Đây không phải là một cách pythonic tốt hơn thực sự có thể cho các trường hợp đúng giờ
Đã trả lời ngày 30 tháng 12 năm 2021 lúc 1:17Dec 30, 2021 at 1:17Dec 30, 2021 at 1:17
Franz Kurtfranz KurtFranz KurtFranz Kurt
8802 Huy hiệu vàng12 Huy hiệu bạc12 Huy hiệu đồng2 gold badges12 silver badges12 bronze badges2 gold badges12 silver badges12 bronze badges
1
Đây là một câu trả lời đơn giản, điều này sẽ cho phép bạn xóa màn hình chẳng hạn. Có hai ví dụ dưới đây, với Eval và EXEC, sẽ in 0 ở trên cùng sau khi làm sạch [nếu bạn đang sử dụng Windows, thay đổi
locals[]["myfunction"][]
61 thành locals[]["myfunction"][]
62, người dùng Linux và Mac để lại như là ví dụ] hoặc chỉ thực hiện nó, tương ứng.locals[]["myfunction"][]
6Đã trả lời ngày 28 tháng 8 năm 2019 lúc 16:46Aug 28, 2019 at 16:46Aug 28, 2019 at 16:46
2
Bạn có thể gọi một chức năng trong một chuỗi python không?
Biểu diễn chuỗi của tên của hàm có thể được sử dụng để gọi hàm. Ví dụ: chuỗi "F" có thể được sử dụng để gọi hàm f [].. For example, the string "f" can be used to call the function f[] .. For example, the string "f" can be used to call the function f[] .
Tôi có thể gọi một hàm từ một chuỗi không?
Có hai phương thức để gọi một hàm từ chuỗi được lưu trữ trong một biến.Phương pháp eval [] cũ hơn và nó không được dùng.The first one is by using the window object method and the second one is by using eval[] method. The eval[] method is older and it is deprecated. The first one is by using the window object method and the second one is by using eval[] method. The eval[] method is older and it is deprecated.
Làm cách nào để gọi chức năng trong Python?
Bản tóm tắt.Để sử dụng các hàm trong Python, bạn viết tên hàm [hoặc biến trỏ đến đối tượng hàm] theo sau là dấu ngoặc đơn [để gọi hàm].Nếu hàm đó chấp nhận các đối số [như hầu hết các hàm], thì bạn sẽ chuyển các đối số bên trong dấu ngoặc đơn khi bạn gọi hàm.write the function name [or the variable that points to the function object] followed by parentheses [to call the function]. If that function accepts arguments [as most functions do], then you'll pass the arguments inside the parentheses as you call the function.write the function name [or the variable that points to the function object] followed by parentheses [to call the function]. If that function accepts arguments [as most functions do], then you'll pass the arguments inside the parentheses as you call the function.
__ gọi __ chức năng trong Python là gì?
Python có một bộ các phương thức tích hợp và __call__ là một trong số đó.Phương thức __call__ cho phép các lập trình viên Python viết các lớp trong đó các trường hợp hoạt động như các hàm và có thể được gọi giống như một hàm.enables Python programmers to write classes where the instances behave like functions and can be called like a function.enables Python programmers to write classes where the instances behave like functions and can be called like a function.