下面进入Python的面向对象: 对象的魔力: 多态:---可以对不同类的对象使用同样的操作 封装:---对外部隐藏对象内部的工作方式 继承:---以普通的类为基础建立专门的类对象 (1)多态: isinstance(...) isinstance(object, class-or-type-or-tuple) -> bool   检查object的类型 isinstance(object, tuple) 检查是否为元组 绑定到对象上的函数称为方法   例如>>> [1,2,'a'…
字典 字典是Python唯一内建的数学映射类型,字典中的值没有特殊的顺序,键可以是数字,字符串,甚至是元组 字典的创建: 字典由键值对构成,字典中键是唯一的,而值不唯一.>>> a_map={"a":1,"b":2,"c":2}  >>> a_map["a"] dict函数来创建字典: >>> items=[('a','b'),(1,2)]  >>> a_…
python shell 里重复上一次的命令:Alt+p 2.3 列表:Python的苦力 (1)list函数 (2)列表赋值,不蹦蹦为一个元素不存在的位置赋值 (3)删除元素,del name[1] (4)分片赋值,name[2:]=list('ar') 列表方法:对象.方法(参数) (1)a.append(6)   在列表末尾添加新的对象 (2)a.count("dh")   统计元素在列表中出现的次数 (3)a.extend(b)   可以在列表的末尾一次性追加多个值 (4)a.…
1.8 函数 pow(x,y) x^y abs(x)          取数的绝对值 round(x)   会把浮点数四舍五入为最接近的整数 floor(x)     向下取整的函数,但是需要先import  math模块 1.9 模块 用import导入模块来扩展Python的功能 (1)import 模块    然后用法:模块.函数 (2)from 模块 import 函数     然后用法:函数 (3)使用变量来赋值,然后使用函数,,,如:foo=math.floor()   foo(12…
(1)计算裴波那契数列: fbis=[0,1] num=int(input("please input the number")) for i in range(num-2): fbis.append(fbis[-2]+fbis[-1]) print(fbis) 6.3 创建函数 callable():函数可以确定函数是否可以被调用 最简单的例子: def hello(name): return "hello"+name+"are you OK?"…
5.1 print和import的更多信息 1. print()3.0之后print不再是语句,而是函数, >>> print('udg',12,13)   udg 12 13 >>> name='yanliang'  >>> print(name)  yanliang 2. import 把某件事当做另外一件事导入 import somemodule from somemodule import somefunction from somemodul…
字符串是不可修改的,标准序列操作(索引,分片,判断成员资格,求长度,取最大值 最小值)对字符串都是有效的. 格式化字符串,类似于C语言的输出是的感觉. >>> format="hello %s   %s are you ok?" >>> value=("yanliang","24") >>> print(format % value) hello yanliang   24 are you o…
最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习python的我帮助有限. 下面是自己学习过程整理的一些内容. 基础版: 基础教程上面的项目例子,都会先出一个基础的代码版本,然后根据第一个版本,进行相应的补充完善.我们先来看一下util.py这个文件. #encoding:utf-8 #生成器,for循环时会依次返回每一行,它只在文件的最后追加了一个…
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-strings.html 3. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 Python字符串内建函数同样支持Unicode,常用函数如下表: 方法 描述 string.capitalize() 把字符串的第一个字符大写 string.center(wi…
/  表示整除,当导入_future_模块中的version时,/ 表示正常的的除法, 此时可用//表示整除,不论数字是整型还是浮点型,都可以用//表示整除. ** 表示幂次方  例如 2**3   表示2的3次方  结果为8 ** 运算符的优先级比负号 - 的运算符优先级高,所以 -3**2 = -9    (-3)**2 = 9 Pow(3,2)函数也表示幂次方的计算,此函数表示3的2次方,结果为9 输入使用input函数,input(“please input a number:”)   …
今天写一下基础教程里面的第二个项目,主要使用python来做一个pdf的图,比较简单. 首先我们需要安装用到的模块pip install reportlab即可. 书上是用urlopen从往上下了一个txt文件,然后打开处理一下得到数据,因为我从这个url路径没有获取到数据,所以直接写了一点数据在程序里. urlopen比较简单,以后写爬虫也会经常用到,所以这里就不讲了,只单独讲讲reportlab模块. #encoding:utf8 from reportlab.graphics.shapes…
# -*- coding:utf-8 -*- #最基本的数据结构:序列,索引从0开始 #python包括6种内建的序列 #最常用的序列包括:列表,元祖 #列表 edward = ['Edward Gumby',42] print edward #列表的元素可以是列表 john=['John Smith',50] database = [edward, john] print database #python之中还有一种名为容器的数据结构. #序列(如列表和元组)和映射(如字典)是两类主要的容器.…
本章的名字虽然叫列表和元组,但是本章讲的最多的是列表,元祖指讲了很少的一部分.因为元组和列表很多方面都是一样的. 列表和元组的区别:列表可以被修改,元祖不可以被修改. python包含的6种内建序列:列表.元组.字符串.Unicode字符串.buffer对象.xrange对象. 内建函数返回的是元组,因为元组是不可以被修改的. 列表的形式是[] ,元素之间通过逗号分隔. 序列(例如列表和元组)和映射(例如字典)是两类主要的容器.序列中的每个元素都有自己编号,而映射中的每个元素则有一个名字(也称为…
python实现:https://github.com/captainwong/instant_markup c++实现:https://github.com/captainwong/instant_markup_cpp 要点: 1.标准输入输出流的重定向 python markup.py < test_input.txt > test_output.html 上述命令将标准输入设备重定向为文件input.txt,将标准输出设备重定向为文件test_output.html. Python中使用…
# -*- coding:utf-8 -*- x = "hello " y = "world" print x+y print "hello "+y #repr() eval() x = repr("hello") val = eval(x) print x print val print "hello" print str("hello world!") y = [1,2,3,4] p…
1.模块导入python以增强其功能的扩展:三种方式实现 (1). >>> Import math >>> math.floor(32.9) 32.0 #按照 模块.函数的格式使用这个模块的函数 #此类使用的最多 (2).在确定不会导入多个同名函数(从不同模块导入)的情况下: >>> from math import sqrt >>> sqrt(9) 3.0 #使用这种from模块import函数这种形式,可以直接使用函数名 #尽量不…
1.http://docs.python.org/dev/3.0/whatsnew/3.0.htmlpython-announce-listpython-help2.交互式编译器3.非整数除法 .1.>>> from__future__import divisionSyntaxError: invalid syntax.2.Linux -Qnew4.整数除法 // 就算是浮点数也会执行整除取余 2.75%0.5幂运算符 ** (pow(base,times[mod]))幂运算符比取反等级…
在Python中赋值运算和比较运算是可以连接的,运算符可以连在一起使用,如:0<age<100 ==运算符判定两个对象是否相等,is判定两者是否等同(同一个对象) 断言,在错误条件出现时直接让程序崩溃: assert + 表达式 zip函数可以把两个序列压缩在一起,然后返回一个元组的列表:zip(names, ages) 在循环结尾加上else语句,当没有执行循环内部的break语句时,便会执行else语句中的内容 print语句可以用来打印由逗号隔开的多个值…
用def定义函数 __doc__是函数属性.属性名中的双下划线表示它是个特殊属性…
字典中的值没有特殊的顺序 电话号码(以及其他可能以0开头的数字)应该表示为数字字符串,而不是整数 dict函数可以通过序列对建立字典 clear方法清除字典中所有的项.这是个原地操作,无返回值 get方法带来的灵活性使得程序在用户输入我们并未准备的值时也能做出合理的反应 pop方法用来获得对应于给定键的值,然后将这个键-值对从字典中移除 popitem方法弹出随机的项 setdefault方法类似于get方法.当键不存在时,setdefault返回默认值并且相应地更新字典.如果键存在,就返回其对…
find方法可以在一个较长的字符串中查找子字符串.它返回子串所在位置的最左端索引.如果没有找到则返回-1 join方法用来在队列中添加元素,需要添加的队列元素都必须是字符串 >>> '+'.join(seq) lower方法返回字符串的小写字母版 replace方法返回某字符串的所有匹配项均被替换之后得到的字符串 >>> 'This is a test'.replace('is', 'ezz') split方法用来将字符串分割成序列.如果不提供任何分隔符,程序会把所有空…
simple_markup.py import sys, re from util import * print('<html><head><title>...</title><body>') title = True for block in blocks(sys.stdin): block = re.sub(r'\*(.+?)\*',r'<em>\1</em>',block) if title: print('<…
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. #3.1基本字符串操作 >>> website = 'http://www.python.org' >>> websi…
<Python基础教程> 第3章 使用字符串 字符串方法find返回的并非布尔值.如果find像这样返回0,就意味着它在索引0处找到 了指定的子串 join可合并一个字符串列表,不能合并数字列表 #合并字符串列表dirs = '', 'usr', 'bin', 'env'print('C:' + '\\'.join(dirs))​#输出结果C:\usr\bin\env​ strip将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果 #默认删除开头和结尾的空字符串names …
<python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r'c:\somefile.txt') #默认是读模式+ 表示是可以读写:r 读模式:w 写模式:a 追加模式:b 二进制模式:换行符在Windows为\r\n,在Unix中为\n, Python会自动转换: buffering缓冲:0表示无缓冲:1表示有缓冲(使用flush或close才会写到硬盘中): sys…
<python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person:    def setName(self,name):        self.name=name    def getName(self):        return self.name foo=Person()foo.setName('AAA')foo.getName()foo.namefoo.name='BBB' 私有属性,名字前面加上两个下划线.class Person:    def _…
<python基础教程(第二版)>学习笔记 函数(第6章) 创建函数:def function_name(params):  block  return values 记录函数:def function_name(params):  'NOTE' #注释  block  return values function_name.__doc__help(function_name) return # 没有返回值 位置参数和关键字参数:关键字参数要提供参数的名字:def function_name(…
<python基础教程(第二版)>学习笔记 语句/循环/条件(第5章) print 'AB', 123 ==> AB 123 # 插入了一个空格print 'AB', 'CD' ==> AB CD # 插入了一个空格print 1,2,3 ==> 1 2 3print (1,2,3) ==> (1, 2, 3)#在脚本中以下ABCD连在一起输出print 'AB',print 'CD' import somemodule #导入模块from somemodule imp…
<python基础教程(第二版)>学习笔记 字典(第4章)创建字典:d={'key1':'value1','key2':'value2'}lst=[('key1','value1'),('key2','value2')]; d=dict(lst)d=dict(key1='value1', key2='value2')字典基本操作:d={'key1':'value1','key2':'value2'}; len(d) ==> 2 #字典中的键值对数量d={'key1':'value1','…
<python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:格式化输出字符串:使用%,%左侧是格式字符串,%右侧是需要格式化的值例如:print '%s=%d' % ('x',100) ==> x=100使用%% 格式字符串可以输出 %模板字符串:from string import Templates=Template('$x is 100');  s.substitute…