Hướng dẫn can you use a method inside another method python? - bạn có thể sử dụng một phương thức bên trong một phương thức python không?

Tôi rất mới với Python. Tôi đã cố gắng chuyển giá trị từ phương pháp này sang phương pháp khác trong lớp. Tôi đã tìm kiếm về vấn đề này nhưng tôi không thể có được giải pháp thích hợp. Bởi vì trong mã của tôi, "nếu" là phương thức gọi lớp "on_any_event" mà đổi lại nên gọi phương thức khác của tôi là "dropbox_fn", sử dụng giá trị từ "on_any_event". Nó sẽ hoạt động, nếu phương thức "dropbox_fn" nằm ngoài lớp?

Tôi sẽ minh họa bằng mã.

class MyHandler(FileSystemEventHandler):
 def on_any_event(self, event):
    srcpath=event.src_path
    print (srcpath, 'has been ',event.event_type)
    print (datetime.datetime.now())
    #print srcpath.split(' ', 12 );
    filename=srcpath[12:]
    return filename # I tried to call the method. showed error like not callable 

 def dropbox_fn(self)# Or will it work if this methos is outside the class ?
    #this method uses "filename"

if __name__ == "__main__":
  path = sys.argv[1] if len(sys.argv) > 1 else '.'
  print ("entry")
  event_handler = MyHandler()
  observer = Observer()
  observer.schedule(event_handler, path, recursive=True)
  observer.start()
  try:
     while True:
         time.sleep(1)
  except KeyboardInterrupt:
    observer.stop()
  observer.join()

Vấn đề chính ở đây là .. Tôi không thể gọi phương thức "on_any_event" mà không cần tham số sự kiện. Vì vậy, thay vì trả lại giá trị, hãy gọi "dropbox_fn" bên trong "on_any_event" sẽ là một cách tốt hơn. Có ai có thể giúp cho việc này không?

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc Functions in Python
    In Python, any written function can be called by another function. Note that this could be the most elegant way of breaking a problem into chunks of small problems. In this article, we will learn how can we call a defined function from another function with help of multiple examples. 

    Bàn luận 
    The Function which calls another Function is called Calling Function and function which is called by another Function is call Called Function.

    Điều kiện tiên quyết: Các chức năng trong Pythonin Python, bất kỳ chức năng bằng văn bản nào cũng có thể được gọi bởi một chức năng khác. Lưu ý rằng đây có thể là cách phá vỡ một vấn đề thanh lịch nhất thành các vấn đề nhỏ. Trong bài viết này, chúng ta sẽ tìm hiểu làm thế nào chúng ta có thể gọi một hàm được xác định từ một hàm khác với sự trợ giúp của nhiều ví dụ. & NBSP;
    A stack data structure is used during the execution of the function calls. Whenever a function is invoked then the calling function is pushed into the stack and called function is executed. When the called function completes its execution and returns then the calling function is popped from the stack and executed. Calling Function execution will be completed only when called Function is execution completes.

    Gọi và gọi chức năng? & Nbsp; Hàm gọi một hàm khác được gọi là hàm và hàm gọi được gọi bởi một hàm khác là chức năng gọi.

    Hướng dẫn can you use a method inside another method python? - bạn có thể sử dụng một phương thức bên trong một phương thức python không?

    Làm thế nào để thực thi chức năng hoạt động? & Nbsp; một cấu trúc dữ liệu ngăn xếp được sử dụng trong quá trình thực hiện các cuộc gọi chức năng. Bất cứ khi nào một hàm được gọi thì hàm gọi được đẩy vào ngăn xếp và được gọi là chức năng được thực thi. Khi hàm được gọi hoàn thành thực thi và trả về thì hàm gọi được bật ra từ ngăn xếp và thực thi. Thực thi chức năng gọi sẽ chỉ được hoàn thành khi chức năng được gọi là hoàn thành thực thi.

    Python3

    Trong hình dưới đây. Cuộc gọi chức năng được thực hiện từ hàm chính sang chức năng1, bây giờ trạng thái của hàm chính được lưu trữ trong ngăn xếp và thực hiện hàm chính được tiếp tục khi hàm 1 trả về. FUCNTION1 gọi hàm2 Bây giờ trạng thái của hàm1 được lưu trữ ngăn xếp và thực thi hàm 1 sẽ được tiếp tục khi hàm 2 trả về. & Nbsp;

    Hãy xem xét ví dụ dưới đây của cuộc gọi chức năng. Hàm hàm sumofsquares gọi hàm vuông trả về bình phương của số. & Nbsp;

    def Square(X):

        return (X *

    Sum of the Square of List of Numbers: 385 
    0

    def

    Sum of the Square of List of Numbers: 385 
    2

        

    Sum of the Square of List of Numbers: 385 
    4
    Sum of the Square of List of Numbers: 385 
    5
    Sum of the Square of List of Numbers: 385 
    6

        

    Sum of the Square of List of Numbers: 385 
    8
    Sum of the Square of List of Numbers: 385 
    9
    Function2 :  Hello
    Function1 :  World
    0
    Function2 :  Hello
    Function1 :  World
    1
    Function2 :  Hello
    Function1 :  World
    2

    Function2 :  Hello
    Function1 :  World
    3
    Function2 :  Hello
    Function1 :  World
    4
    Sum of the Square of List of Numbers: 385 
    5
    Function2 :  Hello
    Function1 :  World
    6

    Function2 :  Hello
    Function1 :  World
    3
    Sum of the Square of List of Numbers: 385 
    4
    Function2 :  Hello
    Function1 :  World
    9
    Sum of the Square of List of Numbers: 385 
    5
    Function2 :  Hello
    Function1 :  World
    1

        return

    Sum of the Square of List of Numbers: 385 
    4

    Các

    Square(X):8

    Sum of the Square of List of Numbers: 385 
    5     0    1

    Đầu ra: & nbsp; 

    Sum of the Square of List of Numbers: 385 

    Chúng ta có thể xác định một phương thức bên trong một phương thức khác trong Python không?
    In the below example, the class method Function1 calls method Function2 from the class.

    Python3

    Nếu bạn xác định một hàm bên trong một hàm khác, thì bạn sẽ tạo hàm bên trong, còn được gọi là hàm lồng nhau. Trong Python, các hàm bên trong có quyền truy cập trực tiếp vào các biến và tên mà bạn xác định trong hàm kèm theo.

    Làm thế nào để bạn gọi một phương thức lớp từ một phương thức lớp khác trong Python?

    Function2 :  Hello
    Function1 :  World
    3return6(X 0
    Sum of the Square of List of Numbers: 385 
    5(X 2

    Function2 :  Hello
    Function1 :  World
    3return6(X 5
    Sum of the Square of List of Numbers: 385 
    5(X 7

        def *0return6return7

    Function2 :  Hello
    Function1 :  World
    3return6*5

    Phương thức gọi từ một lớp khác trong một lớp khác trong Python. Chúng ta có thể gọi phương thức của một lớp khác bằng cách sử dụng tên lớp và chức năng của họ với toán tử DOT. Sau đó, chúng ta có thể gọi Phương thức_A từ lớp B theo cách sau: Lớp A: Phương thức_A (self): {} Lớp B: meather_b (self): A.

    Function2 :  Hello
    Function1 :  World
    3return

    __ gọi __ làm gì trong Python?

    Function2 :  Hello
    Function1 :  World
    3    5
    Sum of the Square of List of Numbers: 385 
    10return6
    Sum of the Square of List of Numbers: 385 
    12

    Function2 :  Hello
    Function1 :  World
    3return

    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. Khi thể hiện được gọi là một hàm; Nếu phương pháp này được xác định, x (arg1, arg2, ...) là tốc ký cho x. __call __ (arg1, arg2, ...).

    Sum of the Square of List of Numbers: 385 
    15
    Sum of the Square of List of Numbers: 385 
    19

    Đầu ra: & nbsp;

    Function2 :  Hello
    Function1 :  World

    Chúng ta có thể xác định một phương thức bên trong một phương thức khác trong Python không?parent class Function from Child class Function –
    Consider the below example the child class method invokes the parent class method. The child class inherits the attributes from the parent class.

    Python3

    return1

    Sum of the Square of List of Numbers: 385 
    21

        def return5return6__

    Function2 :  Hello
    Function1 :  World
    3return6(X 0
    Sum of the Square of List of Numbers: 385 
    5(X 2

    Function2 :  Hello
    Function1 :  World
    3return6(X 5
    Sum of the Square of List of Numbers: 385 
    5(X 7

        def

    Sum of the Square of List of Numbers: 385 
    05return6return7

    Function2 :  Hello
    Function1 :  World
    3    5
    Sum of the Square of List of Numbers: 385 
    10return6
    Sum of the Square of List of Numbers: 385 
    12

    Function2 :  Hello
    Function1 :  World
    3return

    return1

    Sum of the Square of List of Numbers: 385 
    50

        def *0return6return7

    Function2 :  Hello
    Function1 :  World
    3return6*5

    Function2 :  Hello
    Function1 :  World
    3    5*8return6
    Sum of the Square of List of Numbers: 385 
    00

    Function2 :  Hello
    Function1 :  World
    3return  

    Sum of the Square of List of Numbers: 385 
    66
    Sum of the Square of List of Numbers: 385 
    5
    Sum of the Square of List of Numbers: 385 
    68

    Sum of the Square of List of Numbers: 385 
    69
    Sum of the Square of List of Numbers: 385 
    5
    Sum of the Square of List of Numbers: 385 
    71

    Sum of the Square of List of Numbers: 385 
    72

    Đầu ra: & nbsp; 

    Function2 :  Hello
    Function1 :  World

    Chúng ta có thể xác định một phương thức bên trong một phương thức khác trong Python không?

    Nếu bạn xác định một hàm bên trong một hàm khác, thì bạn sẽ tạo hàm bên trong, còn được gọi là hàm lồng nhau. Trong Python, các hàm bên trong có quyền truy cập trực tiếp vào các biến và tên mà bạn xác định trong hàm kèm theo.. In Python, inner functions have direct access to the variables and names that you define in the enclosing function.

    Làm thế nào để bạn gọi một phương thức lớp từ một phương thức lớp khác trong Python?

    Phương thức gọi từ một lớp khác trong một lớp khác trong Python.Chúng ta có thể gọi phương thức của một lớp khác bằng cách sử dụng tên lớp và chức năng của họ với toán tử DOT.Sau đó, chúng ta có thể gọi Phương thức_A từ lớp B theo cách sau: Lớp A: Phương thức_A (self): {} Lớp B: meather_b (self): A.by using their class name and function with dot operator. then we can call method_A from class B by following way: class A: method_A(self): {} class B: method_B(self): A.

    __ gọi __ làm gì trong Python?

    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.Khi thể hiện được gọi là một hàm;Nếu phương pháp này được xác định, x (arg1, arg2, ...) là tốc ký cho x.__call __ (arg1, arg2, ...).enables Python programmers to write classes where the instances behave like functions and can be called like a function. When the instance is called as a function; if this method is defined, x(arg1, arg2, ...) is a shorthand for x. __call__(arg1, arg2, ...) .

    Bạn có thể gọi một chức năng trong một hàm không?

    Gọi một chức năng từ bên trong được gọi là đệ quy và câu trả lời đơn giản là, vâng. and the simple answer is, yes.