函数式编程

  • λ演算
  • 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. db2 identity列重置,reset/restart

    db2中可以对表中的某一个列创建identity列,用于自动填充值,某些情况下(比如删除数据后,需要从最小值开始,并不重复,那可以对标识列进行reset操作) 语法: ALTER TABLE < ...

  2. web前端开源小案例:立方体旋转

    HTML部分: <body class="body"> <div class="rect-wrap">   <!-- //舞台元素 ...

  3. Mysql分表和分区的区别

    一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘 ...

  4. jvm内存GC详解

    一.相关概念  a. 基本回收算法 1. 引用计数(Reference Counting)  比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回收时,只用收 ...

  5. HDU 2196 树形DP Computer

    题目链接:  HDU 2196 Computer 分析:   先从任意一点开始, 求出它到其它点的最大距离, 然后以该点为中心更新它的邻点, 再用被更新的点去更新邻点......依此递推 ! 代码: ...

  6. flexbox 兼容安卓4.3

                 border:1px solid red;              overflow: hidden;                           font-siz ...

  7. Android多屏幕适配

    转载:http://mikewang.blog.51cto.com/3826268/865304 问题: 测试时,发现应用在不同的显示器上显示效果不同(部分文本不能显示完全),自然想到屏幕适配的问题. ...

  8. 避免 TCP/IP 端口耗尽

    转载:http://www.cnblogs.com/tianzhiliang/archive/2011/06/27/2091214.html 当客户端启动到服务器的 TCP/IP 套接字连接时,客户端 ...

  9. 源码心德`Context`类

    Context,中文直译为“上下文”,SDK中对其说明如下: Interface to global information about an application environment. Thi ...

  10. ubuntu出现有线已连接却无法上网

    或者直接追加到/etc/sysctl.conf 如果遇到“设备未托管”,一般是台式机默认移动ip后禁用网络. 那么修改/etc/NetworkManager/NetworkManager.conf,设 ...