Hướng dẫn calling function in python - gọi hàm trong python

Tôi có một danh sách các chuỗi và tôi muốn gọi một hàm cho mỗi ký tự trong một chuỗi. Khi tôi gán các biến cho từng hàm, tôi không muốn chúng chạy, tôi chỉ muốn gọi chúng khi lặp qua chuỗi. Đây là mã của tôi:

Nội dung chính

  • Bản tóm tắt
  • Làm cách nào để gọi một chức năng từ một danh sách trong Python?
  • Bạn có thể đặt một chức năng trong một danh sách trong Python không?
  • Một chức năng có thể có trong một danh sách?
  • Làm cách nào để có được một danh sách các chức năng trong Python?

import random

def make_s():
    result = ''

    V = make_v
    C = make_c
    P = make_p
    B = make_b

    structs = ['VPCVBCC', 'VCVVC', 'VVPCC', 'VCVBCC', 'VPCCVBC', 'VCVCC', 'VPCBC', \
            'VVPCVBCC', 'VCVC', 'VPCVVBC']

    struct = random.choice(structs)

    for elem in struct:
        /* Call function defined above and add the result to the result string */
        result += elem()

    return result

Cách tốt nhất để làm điều này là gì?

Cảm ơn nhiều :)

Hỏi ngày 7 tháng 12 năm 2016 lúc 17:14Dec 7, 2016 at 17:14Dec 7, 2016 at 17:14

Hướng dẫn calling function in python - gọi hàm trong python

1

Bạn khá thân thiết. Bạn chỉ nên ánh xạ các ký tự của mình đến các chức năng, trái ngược với việc gán cho các biến cụ thể.

import random

def make_s():
    result = ''

    # Here we have a mapping between the characters you see,
    # and the functions you want to call.
    my_funcs = {"V": make_v,
                "C": make_c,
                "P": make_p,
                "B": make_b}

    structs = ['VPCVBCC', 'VCVVC', 'VVPCC', 'VCVBCC', 'VPCCVBC', 'VCVCC', 'VPCBC', \
            'VVPCVBCC', 'VCVC', 'VPCVVBC']

    struct = random.choice(structs)

    for elem in struct:
        # Lookup the function in your dictionary
        func_to_call = my_funcs[elem]
        # And call it!
        result += func_to_call()

    return result

Đã trả lời ngày 7 tháng 12 năm 2016 lúc 17:21Dec 7, 2016 at 17:21Dec 7, 2016 at 17:21

Turbulencetooturbulencetooturbulencetooturbulencetoo

3.2771 Huy hiệu vàng25 Huy hiệu bạc47 Huy hiệu đồng1 gold badge25 silver badges47 bronze badges1 gold badge25 silver badges47 bronze badges

3

Cách tiếp cận tương tự sử dụng từ điển để ánh xạ các ký tự đến các cuộc gọi chức năng, một chút ngắn gọn bằng cách sử dụng danh sách hiểu & hàm join:

import random
def make_s():
    fDict = {'V': make_v(), 'C': make_c(), 'P': make_p(), 'B': make_b()}
    structs = ['VPCVBCC', 'VCVVC', 'VVPCC', 'VCVBCC', 'VPCCVBC', 'VCVCC', 'VPCBC', \
            'VVPCVBCC', 'VCVC', 'VPCVVBC']
    struct = random.choice(structs)
    return ''.join([fDict[elem] for elem in struct])

Đã trả lời ngày 7 tháng 12 năm 2016 lúc 17:28Dec 7, 2016 at 17:28Dec 7, 2016 at 17:28

David Zemensdavid ZemensDavid ZemensDavid Zemens

52.5K11 Huy hiệu vàng78 Huy hiệu bạc125 Huy hiệu đồng11 gold badges78 silver badges125 bronze badges11 gold badges78 silver badges125 bronze badges

2

Trong Python, chức năng là một đối tượng hạng nhất có nghĩa là hàm đó giống như bất kỳ đối tượng nào khác.

Một hàm có thể được truyền dưới dạng đối số hoặc bạn có thể bao gồm một hàm dưới dạng một mục trong danh sách hoặc làm giá trị trong khóa: cặp giá trị của một từ điển hoặc mục trong một tập hợp, v.v.

Trong hướng dẫn này, chúng tôi sẽ tìm hiểu cách thêm (các) mục dưới dạng mục trong danh sách. Nói cách khác, chúng tôi sẽ xây dựng một danh sách các chức năng.

Thí dụ

Trong ví dụ này, chúng tôi xác định hai hàm có tên hàm1 () và function2 (). Sau đó, chúng tôi sẽ khởi tạo một danh sách với hai chức năng này dưới dạng các mục.

Chương trình Python

def function1():
    print('Function 1')

def function2():
    print('Function 2')

myList = [function1, function2]

Chúng tôi cũng có thể sử dụng các mục của danh sách, là các chức năng và gọi chúng. Trong chương trình sau, chúng tôi sẽ sử dụng các mục danh sách này và gọi các chức năng.

Chương trình Python

def function1():
    print('Function 1')

def function2():
    print('Function 2')

#list of functions
myList = [function1, function2]

#call function using list object
myList[0]()
myList[1]()

Chúng tôi cũng có thể sử dụng các mục của danh sách, là các chức năng và gọi chúng. Trong chương trình sau, chúng tôi sẽ sử dụng các mục danh sách này và gọi các chức năng.

Function 1
Function 2

Đầu ra

Lưu ý: Dấu ngoặc đơn sau khi tên hàm gọi hàm, trong khi chỉ tên hàm được tham chiếu đến hàm.

Bản tóm tắt

Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách xác định danh sách với các chức năng là mục và cách làm việc với chúng.

Làm cách nào để gọi một chức năng từ một danh sách trong Python?

Bạn có thể đặt một chức năng trong một danh sách trong Python không?def MyObject(text): # Pass an argument. # Call the function inside the print() function. # call the function using the str variable.

Bạn có thể đặt một chức năng trong một danh sách trong Python không?

Một chức năng có thể có trong một danh sách?you can use a list function which creates a collection that can be manipulated for your analysis. This collection of data is called a list object. While all methods are functions in Python, not all functions are methods.

Một chức năng có thể có trong một danh sách?

Làm cách nào để có được một danh sách các chức năng trong Python? . For example, when you type print("Hello World") what you're actually doing is calling the "print" function and passing in the string "Hello World" as an argument.

Cách tốt nhất để làm điều này là gì?

Cảm ơn nhiều :)using the dir() method in the Python shell or in the command prompt shell.