函数式编程

  • λ演算
  • LISP,Erlang
  • 尾递归 栈的使用
  • 避免防御式编程

ER实体Entity关系relationship


OOP [OOA/D]

  1. 属性、行为
  2. 继承、聚合、关联
  3. 抽象、封装

  • 笛卡尔方法论
    1. 拆分
    2. 排序
    3. 处理
    4. 归并
  • 软件工程过程方法论
    1. 软件生命周期
    2. RUP统一软件过程管理
    3. 敏捷开发
  • 项目管理(计划、组织、执行、控制)

  • 线性级
  • 逻辑级
  • 架构级
  • 工程级

自醒:

  1. type    type(object) -> the object's type
  2. str           str(object='') -> str ,Create a new string object from the given object
  3. dir               dir([object]) -> list of strings,return an alphabetized list of names comprising (some of) the              attributes of the given object, and of attributes reachable from it.
  4. help             Help on _Helper in module site object:

very important module:

  • os
  • sys

  • 常量
    1. 常量无名
    2. 不需要修饰
    1. 整数
    2. 长整数
    3. 浮点数
    4. 复数  
  • 字符串
    1. 单引号‘
    2. 双引号“
    3. 三引号”’
    4. 转义符\
    5. 原生字符串 r"hello world!\n"
    6. 常用的索引相关操作
    7. 切割操作
    8. 邪恶的 eval()
  • 变量
    1. 首字符为字母或下划线
    2. 其他部分字符为字母、数字、下划线
    3. 区分大小写
  • 数据类型
    1. 数值
    2. 字符串
    3. 线性容器
      • 字符串也是一种线性容器
      • List
      • tuple
    4. hash容器
      • Dict
      • set
    5. None
    6. 逻辑类型(Ture, False)
  • 逻辑行与物理行
  • 缩进
  • 运算符与表达式
  • 流程控制(逻辑控制结构)
  • 函数
    1. 普通

      def functionName():
      """……
    2. 函数别名
    3. lambda
    4. 闭包
      def fun1(a):
      def fun2(b):
      return a+b
      return fun2
  • OOP
  • 异常处理
  • 模块与包
#coding=utf-8
#!/usr/bin/python2.7
  • 文件和目录操作
open        Open a file using the file() type, returns a file object.
write
read
readlines
Seek
Os.listdir
Os.walk

  • python的内置容器
    1. List
    2. Tuple
    3. Dict
    4. Set
    5. map、reduce、filter
    6. 迭代器iterator与生成器generator,协同与半协同

  • 并行的世界
    1. 串行与并行
    2. 阻塞与非阻塞任务
    3. 共享与冲突
    4. 多线程与多进程【linux】的区别和特点

  • 多进程
    1. Linux、Unix平台专属
    2. Fork      【fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程】
      1. import os
        
        def myfork():
        a=1
        pid = os.fork() if pid==0:
        print "this is child process"
        print a+1
        else:
        print "this is parent process"
        print a+3 if __name__ == '__main__':
        myfork()
        '''
        waitpid(...)
        waitpid(pid, options) -> (pid, status) Wait for completion of a given child process.
        ''' os.waitpid()
    3. wait
    4. Waitpid
    5. pipe\signal
      1. ''' process communication, resource share '''
        
        # pipe
        '''
        pipe(...)
        pipe() -> (read_end, write_end) Create a pipe.
        '''
        r,w = os.pipe() # signal
        import signal
    6. 守护进程

  • 多线程
    1. Thread
    2. Threading
    3. 共享变量与临界资源
    4. 锁机制

about python的更多相关文章

  1. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  2. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  3. Python 小而美的函数

    python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) ...

  4. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  5. 可爱的豆子——使用Beans思想让Python代码更易维护

    title: 可爱的豆子--使用Beans思想让Python代码更易维护 toc: false comments: true date: 2016-06-19 21:43:33 tags: [Pyth ...

  6. 使用Python保存屏幕截图(不使用PIL)

    起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...

  7. Python编码记录

    字节流和字符串 当使用Python定义一个字符串时,实际会存储一个字节串: "abc"--[97][98][99] python2.x默认会把所有的字符串当做ASCII码来对待,但 ...

  8. Apache执行Python脚本

    由于经常需要到服务器上执行些命令,有些命令懒得敲,就准备写点脚本直接浏览器调用就好了,比如这样: 因为线上有现成的Apache,就直接放它里面了,当然访问安全要设置,我似乎别的随笔里写了安全问题,这里 ...

  9. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  10. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

随机推荐

  1. 【python自动化第五篇:python入门进阶】

    今天内容: 模块的定义 导入方法 import的本质 导入优化 模块分类 模块介绍 一.模块定义: 用来在逻辑上组织python代码(变量,函数,逻辑,类):本质就是为了实现一个功能(就是以.py结尾 ...

  2. PAT 1074. Reversing Linked List (25)

    Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...

  3. Ajax提交打开新窗口,浏览器拦截处理

    //主要是添加同步处理 $.ajax({ url: "ashx/OrderHander.ashx?action=CheckRepeat", data: { "OrderI ...

  4. 01 Access数据库 测试连接

    附件:http://files.cnblogs.com/xe2011/AccesssConnectionState.rar using System.Data.OleDb; using System. ...

  5. JQuery Kendo UI使用技巧总结

    Kendo UI开发总结 By Gloomyfish on 2013-04-25 在Grid中支持分页刷新:            scrollable: {virtual : true }, 在Gr ...

  6. Codeforces 417E Square Table(随机算法)

    题目链接:Codeforces 417E Square Table 题目大意:给出n和m.要求给出一个矩阵,要求每一列每一行的元素的平方总和是一个平方数. 解题思路:构造.依照 a a a b a a ...

  7. GDB的non-stop模式

    线程调试必杀技 - GDB的non-stop模式   作者:破砂锅 开源的GDB被广泛使用在Linux.OSX.Unix和各种嵌入式系统(例如手机),这次它又带给我们一个惊喜. 多线程调试之痛 调试器 ...

  8. JavaScript 应用开发 #1:理解模型与集合

    在 < Backbone 应用实例 > 这个课程里面,我们会一起用 JavaScript 做一个小应用,它可以管理任务列表,应用可以创建新任务,编辑还有删除任务等等.这个实例非常好的演示了 ...

  9. ubuntu 14.04/15.10 安装基于eclipse的android app开发环境

    一开始是装了ubuntu15.10,不知道是我的x200机器太old还是iso镜像有问题,总是各种莫名的引导不起来.有时候刚刚装好的干净系统,只install了一个vim和openssh,重启,然后就 ...

  10. VIM中文乱码(_vimrc配置文件备份)

    _vimrc在用户目录下: set fileencodings=ucs-bom,utf-,cp936,gb18030,big5,euc-jp,euc-kr,latin1 set encoding=ut ...