函数式编程

  • λ演算
  • 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. Android 在广播接收器中弹出对话框

    特别需要注意的几点如下: 需要设置AlertDialog的类型 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT 2. 需要声明Window弹框的权限 < ...

  2. sublime 汉化及注册

    首先安装 package control https://packagecontrol.io/installation 网站上面有详细说明 安装以后快捷键 ctrl +shift+p   输入ip  ...

  3. UserControl调用Umbraco的Data Types

    本篇文章介绍的是基于Umbraco CMS技术搭建的网站所使用的相关技术. 1.  需求: 网站前台功能有个表单提交,表单控件用到下拉列表(dropdownlist),需求是在dropdownlist ...

  4. 1032 - Intersecting Dates

    A research group is developing a computer program that will fetch historical stock market quotes fro ...

  5. C#调用java接口报“Fault occurred while processing”异常问题

    服务在通常项目中总是要用到的C#的webservice.wcf,还有第三方的,比如java服务.一般来说调用都不会有什么问题,因为服务的标准都是一样的.要注意的就是:1.参数个数匹配:2.参数类型和返 ...

  6. [Webpack 2] Maintain sane file sizes with webpack code splitting

    As a Single Page Application grows in size, the size of the payload can become a real problem for pe ...

  7. [rxjs] Demystifying Cold and Hot Observables in RxJS

    Cold: console.clear(); var Observable = Rx.Observable; var clock = Observable.interval(1000).take(10 ...

  8. GitHub具体教程

    GitHub具体教程 Table of Contents 1 Git具体教程 1.1 Git简单介绍 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1. ...

  9. mybatis0201 01复习

    mybatis是什么? mybatis是一个持久层框架,是apache下的开源项目,前身是itbatis,是一个不完全的ORM框架(因为mybatis提供输入和输出的映射,需要程序员自己写sql语句) ...

  10. HDU-4593(水题)

    Robot Problem Description A robot is a mechanical or virtual artificial agent, usually an electro-me ...