python高级

作者: 风雨声豪入梦中 | 来源:发表于2018-07-22 18:36 被阅读3次

    越接近计算机底层的语言,运行速度快,人读起来越难。
    人读起来越简单,运行速度越慢。

    模块:在Python中,模块是搭建程序的一种方式。每一个Python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性。

    包:一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子文件夹。

    函数:如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。

    面对对象的三大特点:
    多态: 可对不同类的对象使用同样的操作。
    封装:对外部世界隐藏对象的工作细节。
    继承:以普通的类为基础建立专门的类对象

    浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制。

    深拷贝:外围和内部元素都进行了拷贝对象本身,而不是引用。也就是,把对象复制一遍,并且该对象中引用的其他对象我也复制。

    xx:公有变量
    xx:魔法方法 不要自己起这样的名字
    __xx:私有属性或私有方法 不能直接访问或调用
    xx: 影响from xxx import * 导入方法
    xx
    : 可以把关键字作为变量名 尽量不要这么用

    私有不能访问的原因是:python解释器把名字重整了改成 _class__xxx。

    == 判断值的
    is 判断引用的 数字和字符串最好不用is去判断 会出现意想不到的结果

    deepcopy:递归拷贝 逐次拷贝里面的内容 ,直到拷贝最底层为止

    copy:只拷贝最外层。里面内容如果有引用不拷贝

    针对元组 拷贝是没有什么效果

    如果函数有一个关键字是yield 这个函数就是一个生成器

    ext(g)
    g.next() 这两个方法一样

    g.send("xxx") 如果第一次用send启动生成器 请用g.send(None)

    set
    集合:不能有重复的元素

    可迭代对象不一定是迭代器 生成器是是可迭代对象 也是迭代器

    生成器一定是迭代器

    通过iter()把迭代器对象转换成迭代器

    在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包

    python3 -m pdb 调试程序

    l ------- list 查看代码
    n ------- next 走一步
    c ------ continue 直接执行代码
    b num------- break point 断点
    s ------- step 进入函数内部
    p -------- print 打印参数
    a -------- args 打印全部参数
    b -------- 查看断点
    clear num ----- 清除断点
    q -------quit 退出调试

    程序 -------一堆堆冷冰冰的代码
    进程 -------把程序运行起来产生一个进程

    os.fork创建出的子进程,父进程不等子进程结束

    getpid 进程号
    getppid 父进程号

    相关文章

      网友评论

        本文标题:python高级

        本文链接:https://www.haomeiwen.com/subject/cmqrmftx.html