zoukankan      html  css  js  c++  java
  • 学习《Python核心编程》做一下知识点提要,方便复习(一)

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

    计算机语言的本质是什么?
    a-z、A-Z、符号、数字等等组合成符合语法的字符串。供编译器、解释器翻译。


    字母组合后产生各种变化拿python来说就是。keyword。数值,类,函数,运算符,操作符。。。。。。

    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不是keyword,可是不建议使用,把他当做保留字吧
    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’ ’
    55.Unicode字符串操作符(u/U) ,若和原始操作符联用。必须在r前面。

    ur’hello world’
    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表示二进制打开

  • 相关阅读:
    Mysql多实例
    nginx不间断服务平滑升级
    源码编译安装mysql
    nginx优化后的主配置文件
    Nginx安装与应用
    Android 7 修改启动动画和开机声音
    Android 7 默认声音/大小修改
    高通与At指令:ATFWD解析
    高通与At指令:AtCop解析
    高通与At指令:基础概念
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5223317.html
Copyright © 2011-2022 走看看