Hướng dẫn how do i call an outside function in python? - làm cách nào để gọi một hàm bên ngoài trong python?

Tôi đang cố gắng trả về (thực thi) một hàm từ một tệp khác trong câu lệnh IF. Tôi đã đọc rằng câu lệnh trả lại sẽ không hoạt động, tôi đã hy vọng ai đó sẽ biết câu nói nào sẽ cho phép tôi gọi một hàm bên ngoài.

Hàm tạo ra một hộp cát nhưng nếu một người tồn tại tôi muốn vượt qua câu lệnh IF.

Đây là một đoạn mã nhỏ tôi đã sử dụng.

import mks_function  
from mksfunction import mks_create_sandbox  
import sys, os, time  
import os.path  

if not os.path.exists('home/build/test/new_sandbox/project.pj'):
 return mks_create_sandbox()  
else:  
 print pass  

Hướng dẫn how do i call an outside function in python? - làm cách nào để gọi một hàm bên ngoài trong python?

Silentghost

295K64 Huy hiệu vàng301 Huy hiệu bạc291 Huy hiệu Đồng64 gold badges301 silver badges291 bronze badges

Hỏi ngày 18 tháng 12 năm 2009 lúc 15:02Dec 18, 2009 at 15:02

6

Giả sử chức năng của bạn

def bar():
  return True
3 nằm trong một tệp được gọi là foo.py trên đường dẫn Python của bạn.

Nếu foo.py chứa điều này:

def bar():
  return True

Sau đó, bạn có thể làm điều này:

from foo import bar

if bar():
  print "bar() is True!"

Đã trả lời ngày 18 tháng 12 năm 2009 lúc 15:06Dec 18, 2009 at 15:06

Dominic Rodgerdominic RodgerDominic Rodger

95,6K33 Huy hiệu vàng197 Huy hiệu bạc211 Huy hiệu đồng33 gold badges197 silver badges211 bronze badges

Hãy xem những gì tài liệu nói:

def bar():
  return True
4 chỉ có thể xảy ra được lồng về mặt cú pháp trong một định nghĩa hàm, không phải trong định nghĩa lớp lồng nhau.

Những gì bạn đang cố gắng làm, tôi đoán là:

from mksfunction import mks_create_sandbox  
import os.path

if not os.path.exists('home/build/test/new_sandbox/project.pj'):
    mks_create_sandbox()

Đã trả lời ngày 18 tháng 12 năm 2009 lúc 15:22Dec 18, 2009 at 15:22

SilentghostsilentghostSilentGhost

295K64 Huy hiệu vàng301 Huy hiệu bạc291 Huy hiệu Đồng64 gold badges301 silver badges291 bronze badges

1

Hỏi ngày 18 tháng 12 năm 2009 lúc 15:02

Giả sử chức năng của bạn

def bar():
  return True
3 nằm trong một tệp được gọi là foo.py trên đường dẫn Python của bạn.

# Example python module

import sys
# Any other imports... imports should always be first

# Some classes, functions, whatever...
# This is your meat and potatos

# Now we'll define a main function
def main():
    # This is the code that runs when you are running this module alone
    print sys.platform

# This checks whether this file is being run as the main script
#  or if its being run from another script
if __name__ == '__main__':
    main()
# Another script running this script (ie, in an import) would use it's own
#  filename as the value of __name__

Nếu foo.py chứa điều này:

import my_module

x = my_module
x.main()

Sau đó, bạn có thể làm điều này:Dec 21, 2009 at 20:09

Đã trả lời ngày 18 tháng 12 năm 2009 lúc 15:06CppLearner

Dominic Rodgerdominic Rodger31 gold badges106 silver badges162 bronze badges

95,6K33 Huy hiệu vàng197 Huy hiệu bạc211 Huy hiệu đồng

Hãy xem những gì tài liệu nói:

def bar():
  return True
4 chỉ có thể xảy ra được lồng về mặt cú pháp trong một định nghĩa hàm, không phải trong định nghĩa lớp lồng nhau.Dec 18, 2009 at 15:05

Những gì bạn đang cố gắng làm, tôi đoán là:jldupont

Đã trả lời ngày 18 tháng 12 năm 2009 lúc 15:2256 gold badges196 silver badges313 bronze badges

Silentghostsilentghost

Tôi có một liên lạc lớn về điều này gần đây khi tôi đang thực hiện dự án cuối cùng của mình ở Python. Tôi cũng sẽ tham gia để xem tệp chức năng bên ngoài của bạn.

Đã trả lời ngày 18 tháng 12 năm 2009 lúc 15:06Dec 18, 2009 at 15:06

Dominic Rodgerdominic RodgerJohannes Charra

95,6K33 Huy hiệu vàng197 Huy hiệu bạc211 Huy hiệu đồng5 gold badges41 silver badges50 bronze badges

Hãy xem những gì tài liệu nói:

class fubar(object):

    @classmethod
    def foo():
      return bar

fubar.foo() # returns bar

def bar():
  return True
4 chỉ có thể xảy ra được lồng về mặt cú pháp trong một định nghĩa hàm, không phải trong định nghĩa lớp lồng nhau.

import subprocess
subprocess.popen("cmd echo 'test'",shell=true)

Những gì bạn đang cố gắng làm, tôi đoán là:

Đã trả lời ngày 18 tháng 12 năm 2009 lúc 15:06Dec 18, 2009 at 15:06

Hướng dẫn how do i call an outside function in python? - làm cách nào để gọi một hàm bên ngoài trong python?

Dominic Rodgerdominic RodgerAutomatedTester

95,6K33 Huy hiệu vàng197 Huy hiệu bạc211 Huy hiệu đồng7 gold badges48 silver badges62 bronze badges

Hãy xem những gì tài liệu nói:

import mymodule
# or
from mymodule import myfunction

def bar():
  return True
4 chỉ có thể xảy ra được lồng về mặt cú pháp trong một định nghĩa hàm, không phải trong định nghĩa lớp lồng nhau.

if mymodule.myfunction() == "abc":
    # do something

Những gì bạn đang cố gắng làm, tôi đoán là:

def bar():
  return True
0

Đã trả lời ngày 18 tháng 12 năm 2009 lúc 15:22

SilentghostsilentghostDec 18, 2009 at 15:07

Tôi có một liên lạc lớn về điều này gần đây khi tôi đang thực hiện dự án cuối cùng của mình ở Python. Tôi cũng sẽ tham gia để xem tệp chức năng bên ngoài của bạn.Boldewyn

Nếu bạn đang gọi một mô -đun (thực tế, bất kỳ chức năng nào bên ngoài cùng một tệp đều có thể được coi là một mô -đun, tôi ghét chỉ định mọi thứ quá chính xác), bạn cần đảm bảo một cái gì đó. Đây là một ví dụ về một mô -đun, hãy gọi nó là my_module.py44 gold badges152 silver badges207 bronze badges

Bây giờ tôi muốn gọi toàn bộ chức năng này trong một tệp khác, được gọi là work.py

def bar():
  return True
1

file2.py

def bar():
  return True
2

Đã trả lời ngày 21 tháng 12 năm 2009 lúc 20:09

CPPLearnerCppLearnerDec 18, 2009 at 15:11

15.6K31 Huy hiệu vàng106 Huy hiệu bạc162 Huy hiệu ĐồngBrian

Bạn có thể cần phải

def bar():
  return True
5 Mô -đun chứa hàm, không?17 gold badges80 silver badges167 bronze badges

Làm thế nào để bạn gọi một chức năng bên ngoài trong Python?

Các biến được xác định bên trong lớp nhưng bên ngoài phương thức có thể được truy cập trong lớp (tất cả các phương thức bao gồm) bằng cách sử dụng thể hiện của một lớp. Ví dụ - bản thân. var_name. Nếu bạn muốn sử dụng biến đó ngay cả bên ngoài lớp, bạn phải khai báo biến đó là toàn cầu.you must declared that variable as a global.

Bạn có thể gọi một chức năng bên ngoài một chức năng?

Câu trả lời đơn giản: Bạn không thể.you cannot.

Làm thế nào để bạn gọi một chức năng trong Python?

Để 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.

Làm thế nào để bạn truy cập lớp bên ngoài của một phương thức trong Python?

Trong Python, lớp giống như hàm tạo của một đối tượng để tạo các đối tượng.Do đó, các biến có thể được xác định bên trong lớp, bên ngoài lớp và bên trong các phương thức trong Python.Các biến được xác định bên ngoài lớp có thể được truy cập bằng bất kỳ phương thức hoặc lớp nào chỉ bằng cách viết tên biến.The variables defined outside the class can be accessed by any method or class by just writing the variable name.