2017-05-23 1 views
-3

그래서 파이썬 프로그램에서 자바 함수를 사용할 수 있다면 궁금한가요?파이썬 프로그램에서 자바 코드를 사용할 수 있습니까?

내가 예를 들어 목록

정렬되지 않은 한 파이썬 스크립트가 있다고 가정하자 :

//main.py

pylist = ['4', '2', '5', '1', '3'] 

#call java selection sort here 

#then print sorted list 
for x in pylist: 
    print(x) 

을 내가 사용하는 파이썬 스크립트의 목록을 정렬 할 Java 클래스의 알고리즘 이것이 가능합니까? 자바 패키지를 파이썬 스크립트로 가져 오는 것과 같이 간단하고 "selectionsort (pylist)"와 같은 명령문을 사용하면됩니까?

//sort.java

import java.util.Arrays; 

public class sortexample 
{ 
    public static void main(String[] args) 
    { 
     int[] ar = {4, 2, 5, 1, 3}; 
     printarray(ar); 
     System.out.printf("%n"); 
     Arrays.sort(ar); 
     printarray(ar); 
    } 

    public static void printarray(int[] array) 
    { 
     for(int a: array) 
     { 
      System.out.println(a); 
     } 
    } 


    public static int[] selectionsort(int[] arr) 
    { 
     for(int i = 0; i < arr.length - 1; i++) 
     { 
      int index = i; 
      for(int j = i + 1; j < arr.length; j++) 
       if(arr[j] < arr[index]) 
       { 
        index = j; 
       } 

      int smallerNumber = arr[index]; 
      arr[index] = arr[i]; 
      arr[i] = smallerNumber; 
     } 
     return arr; 
    } 
} 
+0

표준'sort' 및'sorted()'메소드는 Timsort의 C 기반 구현이 매우 정교합니다. 그래서 당신이 정말로 당신 자신의 정렬을 구현할 필요가있는 경우를 제외하고, 그것들을 사용해야한다. – Mikael

+0

예! ** ** [jython] (http://www.jython.org/)을 사용하는 경우. –

+0

나는 그것이 효과가 있다고 생각하지 않는다. 자이 썬 : 자바 플랫폼 용 파이썬 –

답변

1

번호하지만 당신은 파이썬 코드 대신 사용하기에 자바 코드를 다시 작성을 시도 할 수 있습니다 :

선택 정렬은 여기에서 비롯됩니다. 이는 Java가 JVM (Java Virtual Machine)에서 실행되고 실행되기 전에 컴파일이 필요하기 때문입니다. 반면 Python은 컴파일을 필요로하지 않는 스크립팅 언어입니다. 두 언어는 내가 익숙한 어떤 환경에서도 서로 호환되지 않습니다.

Python 인터프리터는 Python을 필요로하고 Java 구문을 이해할 수 없습니다.

매우 특정한 상황에서 함께 사용할 수있는 언어가 있습니다. 예를 들어 JSNI로 작성하면 GWT 프레임 워크에서 자바 스크립트로 자바 스크립트를 작성할 수 있습니다.

0

Jython은 CPython 2.7과 호환되며 Java 클래스에 액세스 할 수 있습니다.

의 예문에 대한 확인 here,하지만 당신은 같은 것을 필요 나는 상상 : 자바 유형과 잘 변환되지 않을 수 있습니다

>>> from sort import sortexample 
>>> sample = [2,7,6,5,4,3,1] 
>>> sortexample.selectionsort(sample) 

합니다.

아니면 implement selection sort 파이썬으로 할 수 있습니다.

0

완성을 위해 더 많은 것들 : 물론 파이썬 스크립트 내에서 자바 코드를 사용할 수 있습니다.

Java 코드를 컴파일하기 만하면 JVM 실행을 트리거하기 위해 서브 프로세스 호출을 작성합니다.

그러나 합리적인 해결책에 가장 가까운 것은 자이 썬입니다. 이것은 당신이 기술적으로 JVM을 실행한다는 것을 의미하지만 그것은 파이썬이 가능합니다.

관련 문제