学习《Python核心编程》做一下知识点提要,方便复习(一)

学习《Python核心编程》做一下知识点提要,方便复习。

计算机语言的本质是什么? a-z、A-Z、符号、数字等等组合成符合语法的字符串,供编译器、解释器翻译。 字母组合后产生各种变化拿python来说就是,关键字,数值,类,函数,运算符,操作符。。。。。。

1.变量不用声明,类型不固定 2.True,False = False,True读出了什么?True是个bool()类实例 3.类型工厂函数就是python2.2后把int() bool()等对数据类型操作的函数分装成对象 类 了,返回对象实例 4.三个单引号(三个双引号)产生的就是字符串常量,只不过可以分行,也可以被用来多行注释。 5.模块、类、函数开头的字符串是文档字符串,用doc访问 6.2<3<6 就是2<3 and 3<6 同理 77 > 66 == 66 7.a,b,c=c,b,a多元赋值 8.+=、-=、=、*=、/=等这些叫增量赋值 9.同一行书写多条语句要用 ; 10.地板除———// 呵呵 11.浮点型在内存的表示方法也就是二进制表示 12.+、*用于字符串的连接与重复 13.[]叫索引操作符、[:]叫切片操作符 14.第一个字符串是0,最后一个字符串是-1 15.命令行下打开python可是设置参数,你知道吗? 16.if expr: … else: … if expr:… elif expr:… else:… 17.while expr: … 18.for循环其实更像shell里面的foreach迭代器,迭代元素,for … in … : …。for字典会是什么样子? 19.print 后面加,表示不换行但是有空格。 20.单独的print就是输出换行 21.列表解析是什么?[x**2 for x in range(4)]、[x**2 for x in range(4) if not x % 2] 22.try: … except … : … 23.可以raise一个异常像Java中的throw 24.函数没有return则自动返回None 25.函数def foo(para = True): …函数可以有默认值 26.类的静态变量怎么定义? 27.类中,通过self.a定义的变量只在实例化中存在,不在类中存在 28.PEP是什么自己查去 29.最好用四个空格缩进,不要用制表符,跨平台不好 30.模块里面的代码可以是直接执行的脚本,也可以是类似库函数的代码 31.python的赋值都是引用赋值,只有变化了才会分配新内存 32.多重赋值 x = y = z = 1 33.import … from *不要滥用 34.python不支持重载标识符,所以虽然build-in不是关键字,但是不建议使用,把他当做保留字吧 35._xxx 不用from module import *导入,保护成员,子类可以访问 36.__xxx类中的私有变量,子类不能访问 37.if __name__ == ‘__main__’可以回归或是单元测试 38.文件中,所有顶级代码都会被执行,模块中最好少些顶级代码 39.有时间去了解一下PyUnit 40.所有python对象都有三个特性,身份(id()),类型(type()),值 41.属性即函数、方法、数据。含有数据属性的有类、类实例、模块、复数、文件等 42.标准类型(基本数据类型):整数、布尔、浮点、复数、字符串、列表、元组、字典 43.其他内建类型:类型(type())、Null对象(None)、文件、集合、函数(方法)、模块、类 44.用户创建的类实例如果定义了nonezero(__nonezero__())或是length(__len__())且值为0,,那么他们的布尔值就是False 45.a is b 等价id(a)==id(b),当然还有is not 46.python中的变量更像是指针指向装变量的盒子,赋新值就像换了一个盒子。 47.del可以删除对象的引用,引用删除你就不能再使用这个变量名(引用) 48.10、017、0x92十进制、八进制、十六进制 49.查查十进制浮点型是啥子玩意。 50.字符串比较 str1 < str2用的是字符串ASCII值的大小 51.成员操作符 in 和 not in 52. f = (“aaa” #1 “bbb” #2 “ccc”) #3 print f 53.%d、%c、%f这些格式化输出符号叫占位符 54.原始字符串操作符(r/R)print r’\n’ 55.Unicode字符串操作符(u/U) ,若和原始操作符联用,必须在r前面。ur’hello\nworld’ 56.字符串是不可变的 57.字符串、列表和元组统称序列 58.sort()函数对于字符串是有返回值的,而列表则在原列表更改,没返回值。 59.用列表可以构建其他数据结构,队列和栈 60.数字、字符串、元组都是不可变类型 61.拷贝python对象,深拷贝和浅拷贝 62.p = [:]切片拷贝、list()dict()工厂函数、copy模块copy函数都是浅拷贝 63.有个有趣的例子说明“只读”或是说不可变量在拷贝过程中的问题 p=[‘name’,[‘age’,33]] m = p[:];n = list(p) m[0]=’kids’;n[0]=’adults’ m[1][1] = 99 后发现m和n的name部分不一样,而列表的却都成了99用id()函数发现序列部分是一样的,name部分不一样。 64.用copy.deepcopy()执行深拷贝 65.非容器类型(数字,字符串,其他原子类型对象,代码、类型和xrange对象)都没有拷贝一说 66.如果元组变量只包含原子类型,对它的深拷贝将不会进行,深拷贝也只能得到一个浅拷贝 67.大多数python对象可作为键,但是列表和字典这样的可变类型不是可哈希的,不能做键 68.实现了__hash__()特殊方法的类也可以作为键 69.集合可以由set和frozenset得到 70.python中类型的很多内建方法“几乎”和操作符等价 71.条件表达式 x if x < y else y 72.smaller = (x < y and [x] or [y])[0]尝试一下1<2 and [1],为什么会这样呢?貌似也和C语言一样会短路,真 与 X 只要考虑后面的X就行;假 与 X 的话X表达式没必要执行。 73.while (count < 9):那个括号是什么?理解:a = (2) b = (‘3’)是元组吗? 74.pass的作用 75.while和for可以使用else语句 76.字典,文件都可以用迭代器iter(seq),用for… in …系统会自动转换 77.迭代器在使用时最好不要删除元素 78.实现了__iter__()和next()方法的类可以作为迭代器使用 79.[(x+1,y+1) for x in range(3) for y in range(5)] 80.生成器表达式就是把列表解析的方括[]号变成括号(),感觉是这样 81.文件打开的模式有w r a U +(表示可读可写) b表示二进制打开

人创造奇迹常常是在瞬间,

学习《Python核心编程》做一下知识点提要,方便复习(一)

相关文章:

你感兴趣的文章:

标签云: