现阶段的主要矛盾是落后的生产力不能满足日益增长的物质文化需求

注册 | 登陆
浏览模式: 标准 | 列表分类:python

hello world

一个起步教程

可能教程的版本比较旧

Python代码
  1. from django.utils.httpwrappers import HttpResponse  
  2.   
  3. def index(request):  
  4.     return HttpResponse("Job Index View")  

1。httpresponse已经挪到django.http下面了,放在__init__.py这个感觉没什么用的文件里,找了好一会儿

框架的文件全放在site-packages里面,没想到和zf差不多,传入request对象,输出response对象

2。egg是什么格式

3。昨天清理笔记本,有二颗螺丝滑丝了,死按拧上了一个,用了快二年。宽裕的时候换一个。

开始web py部分

今天把django,NND,这个单词我还不会拼,给装了,没用nginx,担心把我的php环境给搞坏了,用他自带的那个web server,

http://yuehei.37net.com:8080/

1。现在一头雾水,以前用php就是开启fastcgi监听,web server转发处理响应,然后把框架布署在目录里,django把这些东西都放在一起,我茫然了,迷茫了,找不前进的方向了,恶。。

2。试了一下php gtk,这种鸡肋的东西,除了证明一下PHP能写桌面也没别的用了。

3。wxpython GUI组件 http://www.ibm.com/developerworks/cn/linux/sdk/python/wxpy/

4。PHPRPC 比 soap之类的东西简单多了,好用多了。。就是页面太艺术。。

mod:将解释器加载为web server 的一部分

cgi:每次接受请求解释器都会初始化,比较消耗资源

fastcgi:会生成解释进程,常驻内存,速度比较理想

cli:php安静模式,一般在命令行下用

饿了,撤

五六节

类和异常与文件处理,没什么特别的。。很想睡觉,困

py类中的变量就相当静态变量

Python代码
  1. from UserDict import UserDict  
  2. class dict(UserDict):  
  3.     data = {}  
  4.     num = 0  
  5.     def __init__(self, data={}):  
  6.         if (data is None):  
  7.             data = {}  
  8.         else:  
  9.             self.data.update(data)  
  10.             self.num+=1  
  11.     def addNum(self, num):  
  12.         self.__class__.num+=num  
  13.     def items(self):  
  14.         return self.data.items()  
  15.     def keys(self):  
  16.         return self.data.keys()  
  17.     def values(self):  
  18.         return self.data.values()  
  19.     def getClass(self):  
  20.         return self.__class__  
  21.     def __setitem__(self, key, values):  
  22.         key = "s_"+str(key)  
  23.         self.key = values  
  24.     def __getitem__(self, key):  
  25.         key = "s_"+str(key)  
  26.         return self.data[key]  
  27. d = dict({"aa":"bnb"})  
  28. d.addNum(4)  
  29. print d.num  
  30. e = dict()  
  31. print e.num  
  32. print dict.num  
  33. print e.data  
  34.   
  35. #d['fdsad'] = 'fdas'  
  36. #print dir(d)  
  37. #k = {}  
  38. #k["a"] = "a"  
  39. #k["b"] = "b"  
  40. #print k.a  
  41. #del k["a"]  
  42. #print k  
Python代码
  1. try:  
  2.     fh = open('D:/music/KuGou/寒衣调.mp3''rb')  
  3. except Exception:  
  4.     print 'error'  
  5. else:  
  6.     print 'ok'  
  7. #print fh.name  
  8. #print fh.mode  
  9. #print dir(fh)  
  10. #print fh.tell()  
  11. fh.seek(-10242)  
  12. #print fh.tell()  
  13. data = fh.read(1024);  
  14. #print data  
  15. #print fh.closed  
  16. fh.close()  
  17. #print fh.closed  
  18.   
  19. try:  
  20.     fh = open('D:/project/a.txt''wb')  
  21.     fh.write("aaaaaa")  
  22.     fh.close();  
  23.     #print file('D:/project/a.txt').read()  
  24. except IOError:  
  25.     pass  
  26. print file('D:/project/a.txt').read()  
  27.   
  28. #import sys  
  29. #print "\n".join(sys.modules.keys())  
  30. import os  
  31. print os.path.expanduser('~')  

Tags: python

第四节

看完了,对数组的映射和过滤有了比较清楚的了解,这么快就看到了最爱用的三元运算,这章的例子非常有用,我默了出来

Python代码
  1. def setRunEnv():  
  2.     import sys  
  3.     sys.path.append('D:\project\mypy')  
  4. setRunEnv()  
  5. def info(object, spacing = 10, collapse = 1):  
  6.     methodList = dir(object)  
  7.     methodList = [method for method in methodList if callable(getattr(object, method))]  
  8.     processFunction = collapse and (lambda s:" ".join(s.split())) or (lambda s:s)  
  9.     return "\n".join(["%s%s" % (method.ljust(spacing),  
  10.         processFunction(str(getattr(getattr(object, method), "__doc__"))))  
  11.         for method in methodList])  
  12. li = []  
  13. #print info(li, 20, 0)  
  14. print 1 and 'ok' or 'no'  
  15. print 1 and '' or 'no'  
  16. print 1 and [''or 'no'  
用and和or进行判断,我用这种偷懒的方法写PHP还是比较单一,一般就是一个and或or,这里直接把这个当三元来用。太帅了。。逻辑表达式PHP虽然返回的true或false,但是PHP可以直接赋值,所以也可以用这种方式。

PHP代码
  1. <?php  
  2. $a = 1;  
  3. $b = '';  
  4. $a == 1 && ($b = 'ok') || ($b = 'no');  
  5. echo $b;  
  6. ?>  
很有意思,py逻辑表达式可以返回最后的值,但里面不能进行赋值操作,一赋值,报syntax error

Python代码
  1. a==1 and b='ok' or b='no'  
PHP虽然返回只是表达式最后运算的结果,但可以进行赋值操作,所以他们都可以用这种写法。

第二个表达式一定不能为 false,否则完蛋。。

 

 

Tags: python

前三节

刚看完前三节

 

Python代码
  1. def setRunEnv():  
  2.     import sys  
  3.     sys.path.append('E:\mypy')  
  4. setRunEnv()  
  5. import calc  
  6. import string_operation  
  7. #help(calc)  
  8. print calc.add(11033)  
  9. print calc.sub(11022)  
  10. print calc.mul(4455)  
  11. print calc.div(63)  
  12.   
  13. list = {"name":"yuehei""email":"none""sex":"man"}  
  14. params = list.keys()  
  15. print params  
  16. params = list.values()  
  17. str = string_operation.arrToStr("###", params)  
  18. print str  
  19. print "--------"  
  20. print string_operation.strToArr("###", str)  

感觉很像JS,有一个问题,怎么能让他不生成pyc文件,每次删不方便

和PHP相比,她是强类型语言,做一个1/3,不会得0.33333

关于后缀名 http://bbs.chinaunix.net/thread-852032-1-1.html

update:2009/02/14  不用删除,如果用help老是看到没有变化,是因为新改的编译没有通过,过了就会重新生pyc

Tags: python