Magnolia's Blog

持续成长

一.性能

python3.x 起始比python2.x 效率低, 但是3.x后有极大的优化空间, 性能上正在追赶.

二.编码

Python3 对Unicode字符的原生支持.

python2中使用ASCII码作为默认的编码方式, string有两种类型: str 和 unicode. python3 只支持unicode的string.

Read more »

翻译了好久,终于把这篇文档翻完了,学到很多。

官方原文:
PEP8 Style Guide for Python Code

Introduction

This document gives coding conventions for the Python code comprising the standard library in the main Python distribution. Please see the companion informational PEP describing style guidelines for the C code in the C implementation of Python.
本文档给出了包含主python发行版中标准库的python代码的编码约定。请参见公司信息PEP描述的用C实现的python中的C代码中的风格指南。

This document and PEP 257 (Doc string Conventions) were adapted from Guido’s original Python Style Guide essay, with some additions from Barry’s style guide.
这篇文档和PEP 257 (约定文档) 改编自Guido最初的python代码风格指南文章, 并从Barry的风格指南总添加了一些内容.

Read more »

一、什么是装饰器

python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。简单的说装饰器就是一个用来返回函数的函数。

它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、统计、权限校验、参数、结果检查、重试等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。

概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。或者说, 在被装饰的函数或者类的基础上进行功能扩展,实现逻辑上的切面编程。

二、为什么需要装饰器

Read more »

有人说: 代码永远会有BUG,没有最好只有更好。高效是程序员必须作到的事情,无错是程序员一生的追求。复用、分而治之、折衷是代码哲学的基本思想。模块化与面向对象是实现高效无错代码的方法。高效无错代码需要思想与实践的不断反复。

代码水平高低,是看他的可维护性、可重用性、可扩展性、可读性,几十行代码,不太能全部提现,如果我得到了这份工作,我一定会在我每一行代码上体现我最好的水平。

多注意以下几点,坚持这样写, 代码质量会越来越高的。

  1. 多写注释 (多使用代码本身来注释)
  2. 命名规范 (比如通过命名知道它的类型)
  3. 多使用函数封装, 函数名体现功能, 保证函数单一的功能, 消灭大块的代码
  4. 最小作用域, 方法/属性/局部变量的作用域的设定
  5. 公共函数/接口独立成模块(模块化), 降低耦合性
  6. 便于测试代码
  7. 结构清晰, 逻辑大体上看起来,是枝丫分明的树状结构(tree)
  8. 代码的复用性高, 可扩展程度高 (对未来有预测会添加哪些需求)
  9. 不断优化业务逻辑

1 线程基本概念

1.1 线程是什么?

线程是指进程内的一个执行单元,也是进程内的可调度实体.

与进程的区别:
(1) 地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2) 资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
(3) 线程是处理器调度的基本单位,但进程不是.
(4) 二者均可并发执行.

简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

Read more »

1 进程的基本概念

什么是进程?

进程就是一个程序在一个数据集上的一次动态执行过程。进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。

进程的过程: 创建,就绪,运行,阻塞, 消亡。

2 父进程和子进程

Read more »
0%