Python 摸索(一) class的初步学习
来源:互联网 发布:socket 编程实例 编辑:程序博客网 时间:2024/05/22 05:07
学习站点: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 PlayerplayerList = []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" breakdef 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:");
- Python 摸索(一) class的初步学习
- python 摸索(二) 让我爱上python的一句1000阶乘代码
- 初步学习python(一)安装python至windows
- 遗传算法的初步学习(一)
- Python学习教程(一)——初步认识
- class类的定义(一) python
- Python初步了解(一)
- 菜鸟学习之路一摸索
- python的初步学习笔记
- c# mybatis net +mysql 的一个初步摸索
- Delphi,在DelphiXE下使用DirectX的初步摸索
- dictionary字典的初步介绍(一) python
- Python, 自学小白要摸索它的String ...
- Python初步学习(1)
- Python初步学习(2)
- xml初步学习(一)
- Linux初步学习 (一)
- jdbc初步学习(一)
- 一致性哈希机器在分布式中的作用
- xml DTD约束
- [Java GUI] Swing中JList和JRadioButton的联合使用
- 伤别
- RtlInitializeGenericTable系列函数的总结
- Python 摸索(一) class的初步学习
- 虚拟化技术应用现状
- 驱动中获取进程完整路径名
- WebBrowser组件和MSHTML 在Delphi中的使用
- java与c/c++进行socket通信的一些问题(1)-JSP教程,Java技巧及代码
- 浅谈 “驱动中的文件操作”
- PCB板设计的简明规则
- 七夕,染红了我的相思
- matlab数据类型