随笔分类 -  Python

摘要:第十七章:扩展Pythonpython编写高性能的代码可能不是很好的选择。python意味着易用且能帮助提高开发速度。达到这种程序的灵活性需要以效率作为沉重代码。C语言、C++和Java比python快几个数量级1:考虑哪个更重要:A:在Python中开发一个原型(prototype)程序B:分析程序并且找出瓶颈C:用C语言(或者C++、C#、Java等)作为扩展来重写出现瓶颈的代码最后的架构——带有一个或多个C组件的Python框架是非常强大的,因为它结合了两门语言的有点2:简单的途径——Jython和IronPython使用Jython和IronPython可以直接访问底层语言中的类和模块 阅读全文
posted @ 2013-02-26 17:48 cateatmycode 阅读(574) 评论(0) 推荐(0)
摘要:默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。1. 首先需要在系统中注册python环境变量:假设python的安装路径为c:\python2.6,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:(为了在命令行模式下运行Python命令,需要将python.exe所在的目录附加到PATH这个环境变量中。)PATH=PATH;c:\python26上述环境变量设置成功之后,就可以在命令行直接使用python命令。或执行"python *.py"运行p 阅读全文
posted @ 2013-02-22 11:30 cateatmycode 阅读(1280) 评论(0) 推荐(0)
摘要:第十五章:Python和万维网1:屏幕抓取——屏幕抓取是程序下载网页并且提取信息的过程from urllib import requestimport rep = re.compile('<h3><a .*?><a .*? href="(.*?)">(.*?)</a>')text = request.urlopen('http://python.org/community/jobs').read()for url, name in p.findall(str(text)): print(' 阅读全文
posted @ 2013-02-22 00:53 cateatmycode 阅读(631) 评论(0) 推荐(0)
摘要:第十三章:数据库支持1:Python的数据库API1)全局变量:API级别是个字符串常量,可能是1.0或2.0线程安全性等级(threadsafety)是个取值范围为0~3的整数。0表示线程完全不共享模块,而3表示模块是完全线程安全的。1表示线程本身可以共享模块,但不对连接共享。如果不使用多个线程,那完全不用担心这个变量参数风格(paramstyle)表示在执行多次类似查询的时候,参数是如何被拼接到SQL查询中的。值'format'表示标准的字符串格式化,可在参数中进行拼接的地方插入%s。而值'pyformat'表示扩展的格式化代码,用于字典拼接中,比如%(fo 阅读全文
posted @ 2013-01-29 12:34 cateatmycode 阅读(587) 评论(0) 推荐(0)
摘要:第十一章:文件和素材1:打开文件——open函数用来打开文件:open(name[, mode[, buffering]])f = open(r'C:\text\somefile.txt')1)文件模式'+'参数可以用到其他任何模式中,指明读和写都是允许的。比如'r+'能在打开一个文本文件用来读写时使用'b'模式改变处理文件的方法。一般的,python假定处理的是文本文件(包含字符)。但如果处理的是一些其他类型的文件(二进制文件),如声音剪辑或图像,那么应该在模式参数中增加'b'。'rb'可以用来读 阅读全文
posted @ 2013-01-26 18:16 cateatmycode 阅读(310) 评论(0) 推荐(0)
摘要:第九章:魔法方法、属性和迭代器1:魔法方法:比如 __future__2:构造方法介绍的第一个魔法是构造方法。构造方法和其他普通方法不同的地方在于,当一个对象被创建后,会立即调用构造方法:>>> class FooBar: def __init__(self): self.somevar=42>>> f=FooBar()>>> f.somevar42Python还有个魔法方法叫__del__,也就是析构方法。它在对象就要被垃圾回收之前调用。但由于发生调用的具体时间是不可知的,所以避免使用它1)重写一般方法和特殊的构造方法重写是继承机制中的一 阅读全文
posted @ 2013-01-24 18:45 cateatmycode 阅读(596) 评论(0) 推荐(0)
摘要:第七章:更加抽象1:对象的重要优点:多态(Polymorphism)、封装(Encapsulation)、继承(Inheritance)1)多态:多态意味着就算不知道变量所引用的对象类型是什么,还是能对它进行操作,而它也会根据对象(或类)类型的不同而表现出不同的行为。(1) 多态和方法——绑定到对象特性上面的函数称为方法。标准库random中包含choice函数,可以从序列中随机选出元素:>>> from random import choice>>> x=choice(['Hello,world!', [1,2,'e',&# 阅读全文
posted @ 2013-01-17 15:48 cateatmycode 阅读(279) 评论(0) 推荐(0)
摘要:第五章:条件、循环和其他语句1:print 和 import 的更多信息1)使用逗号输出——打印多个表达式,只要将它们用逗号隔开就行:>>> print('Age:',42)Age: 42注意:print的参数并不能像我们预期那样构成一个元组(print在3.X中并不是语句,而是函数):>>> print(1,2,3)1 2 3>>> print((1,2,3))(1, 2, 3)>>> name = 'Aaron'>>> salutation = 'Mr.' 阅读全文
posted @ 2013-01-15 18:13 cateatmycode 阅读(804) 评论(0) 推荐(0)
摘要:第三章:使用字符串1:基本字符串操作:所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用。但记住:字符串是不可变的2:字符串格式化:精简版使用字符串格式化操作符即百分号%来实现。注意:%也可以用作模运算(求余)操作符>>> format = "Hello,%s. %s enough for ya?">>> values = ('World', 'Hot')>>> print(format % values)Hello,World. Hot eno 阅读全文
posted @ 2013-01-14 16:35 cateatmycode 阅读(423) 评论(0) 推荐(0)
摘要:第一章 基础知识1:Linux中安装 $apt-get install python ($为bash提示符)2:数字和表达式:1/2 结果为0。from _future_ import division 加入此语句,则只执行普通除法(3.0之前是这样)。十六进制和八进制,首位数都是03:操作符:*,**(幂运算),/,//(整除),%(取余)-3**2=-(3**2),因为幂运算比取反(一元减法运算符)优先级高4:赋值: x=35:语句、表达式:表达式是某事,语句是做某事6:获取用户输入: input("your input is:")7:条件语句: if 1==2 : p 阅读全文
posted @ 2012-04-22 19:44 cateatmycode 阅读(378) 评论(0) 推荐(0)
摘要:一: print从语句变成函数原 print 1,2+3 改成 print(1,2+3)>>>1 5二:range与xrange原rang(0,4) 结果为列表[0,1,2,3] 改成 list(range(0,4))远xrange适用于for循环的变量控制,改成range(0,4)三:字符串原字符串以8-bit字符串存储,现在改成16-bit Unicode字符存储四:try...except原 try ... except Exception,e ...改成try ... except Exception as e ...五:打开文件原file(...)或ope... 阅读全文
posted @ 2012-04-22 17:43 cateatmycode 阅读(706) 评论(0) 推荐(0)
摘要:操作如下:>>>print"Hello World!"File "<stdin>", line 1 print"Hello World!" ^SyntaxError: invalid syntax>>>出错原因: python v3.0以后的版本中将v2.x版本的print 改为了print. 所以此处调用print("Hello World!")则可成功。 阅读全文
posted @ 2012-04-21 14:36 cateatmycode 阅读(303) 评论(0) 推荐(0)