Python 摸索(一) class的初步学习

学习站点:Python v2.7.5 documentation

今天第一天实习,还不算很尴尬,感觉不错。第一天果断打了酱油,导师没给什么东西,所以就自己学学喜欢的Python。。。

=======================================================

这是我自己写的一个HockeyPlayer的小程序,能够增加,显示,搜索,退出的小功能。

Player.py

class Player:
    id = 0
    first = None
    last = None
    pos = None
    def create(self,id,first,last,pos):
        self.id = id
        self.first = first
        self.last = last
        self.pos = pos

HockeyPlayer.py

__author__="ouyang"
__date__ ="$2012-10-9 15:45:33$"


from Player import Player

playerList = []

def MakeSelection():
    selectionSet=['1','2','3','4']
    print "Press 1,2,3,4 to select the choice follow:"
    while True:
        selection = raw_input("1-add a player 2-search a player 3-show player 4-quit:");
        if(selection not in selectionSet):
            print "there is not this choice ..."
        else:
            if selection == '1':
                addPlayer()
            elif selection == '2':
                search()
            elif selection == '3':
                showPlayers()
            else:
                print "bye bye"
                break
def addPlayer():
    addNew = 'Y'
    while addNew.upper() == 'Y':
        id = len(playerList)
        first = raw_input("Fist name :")
        last = raw_input("Last name :")
        pos = raw_input("Position :")
        player = Player()
        player.create(id, first, last, pos)
        playerList.append(player)
        addNew = raw_input("Add another? (Y or N) :")

def showPlayers():
    for player in playerList:
        print "Here is %d %s %s %s" % (player.id,player.first,player.last,player.pos)

def search():
    first = raw_input("Fist name :")
    last = raw_input("Last name :")
    if len(playerList) == 0:
        print "No man here..."

    for player in playerList:
        if player.first == first or player.last == last :
            print "%s %s int the %s" %(player.first,player.last,player.pos)
        else:
            print "No this man..."


if __name__ == "__main__":
    MakeSelection()

小结:

1.Python的模块是最高级别的组织单位,能够实现代码重用,命名空间划分,数据共享。每个模块都会有个__name__的属性,这个__name__取决于这个模块怎么被使用,如果是被当成主程序使用,那么__name__ == "__main__",如果被import,那么它该叫啥名就叫啥名,如import sys那么sys的__name__ == "sys"。

2.import 和 from import,用import sys,那么导入这个模块后用sys模块的某个子单位如path,就应该这么用sys.path,如果用from sys import path ,就直接能够使用path而不是sys.path。虽然后者看起来方便,但是命名空间就混乱了,如果本程序中也有个path,那么解释器只认这个主程序的path,其它的path不管,导致代码逻辑功能错误。即使我们可以用from sys import path as myPath 来区分开,但是我还是建议用import sys,然后老老实实sys.path,这样子也容易阅读。

3.在我们class Player: 之后,怎么对这Player使用呢?

  C++中是:Player *a = new Player();

  Java中是:player a = new Player(); 

  Python中是:player = Player()   #连分号都没有

4.and  or 的使用代替了&&和||

5.True False 大写开头哦~ 

6.如何写带参数的print?

        print "Here is %d %s %s %s" % (player.id,player.first,player.last,player.pos)

7.读取一行数据:raw_input,实际上它和input没区别,input也是用raw_input实现的。

     用法:str = raw_input("please input a str:");



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值