使用NetBeans IDE开发Python应用程序详解

本教程的目的是向您介绍在 NetBeans IDE 中使用 Python 编程语言的基础知识。这样,程序员就可以继续深入了解该语言的功能。NetBeans 添加了对多种 JVM 语言和非 JVM 语言的支持,从而为程序员开辟了新的编程途径,同时也为他们以多种不同的语言(包括 Python)进行开发提供了易于使用的环境。在本教程中,您将从头开发一个小型应用程序 (hockeyRoster.py)。开发出的应用程序将用于记录和管理球队信息。

预计时间:20 分钟

目录

应用程序概述

设置

添加新 Python 安装

安装并配置 Python 安装

创建项目

添加代码

运行应用程序

小结

要学习本教程,您需要具备以下软件和资源。

软件或资源 要求的版本
NetBeans IDE 6.5 或 6.7 Python EA 版本
Java Developer Kit (JDK) 版本 6 或版本 5
Python 2.5.x
样例数据库 无要求

应用程序概述

在本基础教程中,您将开发一个管理曲棍球队信息的命令行应用程序,通过该应用程序可以将包含球员及其首选球场位置和当前状态("BENCHED" 或 "ACTIVE")的列表添加到外部文件中。这样,您便可以通过 Python 列出该文件的内容,并更新记录。本教程涉及文件输入/输出内容,但并未深入介绍有关数据库的详细信息。

设置

需要下载 NetBeans IDE 的 Python EA2 版本才能学完本教程。

注意:如果使用的是 NetBeans IDE 6.8,可通过以下操作从 Beta 更新中心安装 Python 插件:

1. 在 IDE 的主菜单中,转至“工具”>“插件”。

2. 在“插件”对话框中,单击“可用插件”标签并在“类别”列中查找 Python。

3. 选中 Python 和 Jython 发行版本插件旁边的“安装”框,然后单击“安装”。

4. 在“NetBeans IDE 安装程序”对话框中,确认将要安装 Python 和 Jython 插件,单击“下一步”,然后接受许可证,安装开始。

您可以在 "Python Platform Manager"(Python 平台管理器)中配置 IDE 以支持 Python。此窗口允许您添加或删除可用于 IDE 的 Python 安装。使用 "Python Platform Manager"(Python 平台管理器),还可以设置和配置 Python 路径及 Java 路径。通过执行上述操作,可以将 Java jar 文件或 Python 模块置于 Path 变量中,以便在每次启动 IDE 时都可以使用这些文件或模块。此外,您甚至还可以为所配置的每个安装定义不同的 Java 路径或 Python 路径。

添加新 Python 安装

1. 在主工具栏中,选择“工具”> "Python Platforms Manager"(Python 平台管理器)。

此时会打开 "Python Platform Manager"(Python 平台管理器),如下图所示。

使用NetBeans IDE开发Python应用程序详解

2. 如果缺省情况下未显示 Python 安装,请单击 "New"(新建),浏览至要使用的安装,然后选择“打开”。

IDE 会将该安装添加到 "Platforms"(平台)列表中。如果您不确定安装的位置,请单击 "Auto Detect"(自动检测)。

安装并配置 Python 安装

1. 选择“工具”> "Python Installations"(Python 安装)以打开 "Python Platform Manager"(Python 平台管理器)。

2. 选择要用于 IDE 的 Python 安装,然后单击 "Make Default"(设为缺省)。

3. 在 "Command Arguments"(命令参数)文本字段中,输入安装的任何命令参数。如有必要,也可以对平台重命名。

4. 单击 "Close"(关闭)关闭 "Python Platform Manager"(Python 平台管理器)。

创建项目

首先,在 IDE 中创建一个新 Python 项目。“新建项目”向导包含许多项目类型的内置模板。访问“新建项目”向导有多种方法。可以在主工具栏中选择“文件”>“新建项目”,也可以在“项目”窗口中单击鼠标右键,然后选择“新建项目”。

1. 在主工具栏中,选择“文件”>“新建项目”。

此时将打开“新建项目”向导,其中显示了 "Python" 类别。

注意:当计算机中只是安装了 IDE 的 Python EA 版本时,"Python" 会显示为项目类别。如果 Python EA 是作为插件添加到 IDE 中的,则可能会显示其他类别。

2. 选择 "Python Project"(Python 项目)作为项目类型,如下图所示。单击“下一步”。

使用NetBeans IDE开发Python应用程序详解

3. 输入 HockeyRoster 作为项目名称,如下图所示。选择要用于该项目的 Python 版本,然后重命名主文件 HockeyRoster.py。

使用NetBeans IDE开发Python应用程序详解

4. 将 "Set as Main Project"(设置为主项目)复选框和 "Create Main File"(创建主文件)复选框保留为选中状态。单击“完成”。

IDE 将基于项目的名称来创建项目文件夹。您可以更改此文件夹的名称和位置。

5. 从 "Python Platform"(Python 平台)下拉列表中选择要使用的 Python 平台,然后单击“完成”以创建项目。

IDE 将创建该项目。请注意在“项目”窗口中是如何显示该项目的。

使用NetBeans IDE开发Python应用程序详解

请注意,在 IDE 的源代码编辑器中将打开显示一些基本信息的 HockeyRoster.py 文件,如下图所示。NetBeans IDE 会自动记录项目的作者和创建日期,并且还会提供一个输出 "Hello" 的简短样例程序。

使用NetBeans IDE开发Python应用程序详解

6.. 现在,您要为该应用程序创建第二个源文件。在“项目”窗口中,右键单击该项目的 "Sources"(源)节点,然后选择“新建”> "Empty Module"(空模块),如下图所示。

使用NetBeans IDE开发Python应用程序详解

此时会打开 "New Empty Module"(新建空模块)向导。

7. 键入 Player 作为文件名,然后单击“完成”。

使用NetBeans IDE开发Python应用程序详解

将在源代码编辑器中打开该文件。此时,“项目”窗口应与下图类似。

使用NetBeans IDE开发Python应用程序详解

添加代码

在此部分,您要将 Python 代码添加到在本教程上一部分所创建的文件中。

1. 如果尚未打开 Player.py 文件,请在源代码编辑器中将其打开。

2. 在 Player.py 文件中键入以下代码。

# Player.py 


# 


# Container to hold our player objects 


 


 


class Player: 


 


 


    # Player attributes 


 


     


    id = 0 


    first = None 


    last = None 


    position = None 


 


    


    # Function used to create a player object 


 


 


    def create(self, id, first, last, position): 


        self.id = id 


        self.first = first 


        self.last = last 


        self.position = position 

此时,源代码编辑器应与下图类似。请注意 IDE 是如何帮助您输入括号和冒号的。

使用NetBeans IDE开发Python应用程序详解

3. 在源代码编辑器中打开 HockeyPlayer.py。

4. 删除 Hockeyplayer.py 中的现有代码,然后键入以下代码。这是添加的第一段代码,它主要由注释组成,但还将执行以下两项重要操作:

◆ 从先前创建的 Player 模块中导入 Player 类。

◆ 定义一个列表,以记录每个 Player 对象。

# HockeyRoster.py 


# 


# Implementation logic for the HockeyRoster application 


 


# Import Player class from the Player module 


from Player import Player 


 


# Define a list to hold each of the Player objects 


playerList = [] 

5. 现在,您要向应用程序中添加更多代码。此段代码将创建一个用于在“输出”窗口中生成输出的函数(该输出基于用户所输入的内容),从而为应用程序创建一个选择器。

# makeSelection() 


# 


# Creates a selector for our application.  The function prints output to the  


# command line.  It then takes a parameter as keyboard input at the command line 


# in order to choose our application option. 


 


 


def makeSelection(): 


    validOptions = ['1','2','3','4'] 


    print "Please choose an option\n" 


 


 


    selection = raw_input("Press 1 to add a player, 2 to print the team roster, 


3 to search for a player on the team, 4 to quit: ") 


    if selection not in validOptions: 


        print "Not a valid option, please try again\n" 


        makeSelection() 


    else: 


        if selection == '1': 


            addPlayer() 


        elif selection == '2': 


            printRoster() 


        elif selection == '3': 


            searchRoster() 


        else: 


            print "Thanks for using the HockeyRoster application." 

6. 右键单击源代码编辑器中的任意位置,然后选择“格式化代码”,如下图所示。

使用NetBeans IDE开发Python应用程序详解

现在,您要添加一些代码,以接受来自“输出”窗口的键盘输入。用户可以输入球员的名、姓及场上位置。

# addPlayer() 


# 


# Accepts keyboard input to add a player object to the roster list.  This function 


# creates a new player object each time it is invoked and appends it to the list. 


def addPlayer(): 


    addNew = 'Y' 


    print "Add a player to the roster by providing the following information\n" 


    while addNew.upper() == 'Y': 


        first = raw_input("First Name: ") 


        last = raw_input("Last Name: ") 


        position = raw_input("Position: ") 


        id = len(playerList) 


        player = Player() 


        player.create(id, first, last, position) 


        playerList.append(player) 


        print "Player successfully added to the team roster\n" 


        addNew = raw_input("Add another? (Y or N)") 


    makeSelection() 

请注意 IDE 的代码完成功能是如何在您键入代码时提供建议的,如下图所示。

使用NetBeans IDE开发Python应用程序详解

8. 在此步中,您要添加将列表内容以报告形式输出到“输出”窗口的代码。

# printRoster() 


# 


# Prints the contents of the list to the command line as a report 


def printRoster(): 


    print "====================\n" 


    print "Complete Team Roster\n" 


    print "======================\n\n" 


    for player in playerList: 


        print "%s %s - %s" % (player.first, player.last, player.position) 


    print "\n" 


    print "=== End of Roster ===\n" 


    makeSelection() 

9. 现在,您要输入一些代码,以提取从“输出”窗口输入的球员姓名,并在花名册中搜索与其匹配的内容。

# searchRoster() 


# 


# Takes input from the command line for a player's name to search within the 


# roster list.  If the player is found in the list then an affirmative message 


# is printed.  If not found, then a negative message is printed. 


def searchRoster(): 


    index = 0 


    found = False 


    print "Enter a player name below to search the team\n" 


    first = raw_input("First Name: ") 


    last = raw_input("Last Name: ") 


    position = None 


    while index < len(playerList): 


        player = playerList[index] 


        if player.first.upper() == first.upper() or player.last.upper() == last.upper(): 


            found = True 


            position = player.position 


        index = index + 1 


    if found: 


        print '%s %s is in the roster as %s' % (first, last, position) 


    else: 


        print '%s %s is not in the roster.' % (first, last) 


    makeSelection() 

10. 此时,可以为应用程序入口点添加代码了。此代码会将应用程序标题输出到“输出”窗口中,然后调用 makeSelection() 函数。

# main 


# 


# This is the application entry point.  It simply prints the applicaion title 



# to the command line and then invokes the makeSelection() function. 
 



if __name__ == "__main__": 


    print "Hockey Roster Application\n\n" 


    makeSelection() 

运行应用程序

现在可以测试应用程序了。在 NetBeans IDE 中,Python 应用程序的结果会输出到“输出”窗口中。

1. 在“项目”窗口中,右键单击该项目节点并选择“运行”。

“输出”窗口中将显示该应用程序,如下图所示。

使用NetBeans IDE开发Python应用程序详解

2. 要测试应用程序,请键入 1,然后按 Enter 键。

系统将提示您输入要添加的球员的名、姓及其球场位置,如下图所示。

使用NetBeans IDE开发Python应用程序详解

3. 尝试添加更多球员。然后,在初始应用程序提示符下键入 2 并按 Enter 键,以输出球队花名册。

将在“输出”窗口中输出花名册,如下图所示。

使用NetBeans IDE开发Python应用程序详解

4. 现在,在初始应用程序提示符下键入 3 并按 Enter 键,以搜索球员。

将在“输出”窗口中再次显示结果。

使用NetBeans IDE开发Python应用程序详解

5. 现在,尝试搜索已知的但未列在花名册中的球员。

“输出”窗口将告知您该球员未列在花名册中。

使用NetBeans IDE开发Python应用程序详解

相关推荐