函数、类、多线程、BS架构

写一小段代码很容易。但是一旦我们的程序代码超过数十行,就需要有代码架构,便于今后的维护和功能扩展。

本文介绍常用的python基本代码架构及其相关概念。有了这些概念,基本就可以开始编程了。具体语法可自行百度,网上有很多翔实的教程和例子。

关于代码注释,编码当时一时爽、觉得自己写的代码多久都认识、一句注释都懒得写的码农,相信已经被过了一星期就连它爸比都认不出它是谁的熊(dai)孩(ma)子教育过了,这里就不再赘述。

函数

可以用def定义一个函数。一个目的明确的业务逻辑或操作建议写成一个函数,主程序中只进行流程控制和函数调用。

定义:def func(i=0,list=[])

调用:b=func(a,list1)

或 b=func(list=list1,i=2)

或 b=func(a)等。

函数传参的特点:

参数默认按定义顺序传入;

可以通过指定参数名打乱顺序;

可以定义参数的默认值;

数字、字符串类型的参数,是值传递(调用参数值不被函数改变);

列表、字典类型的参数,是引用传递(调用参数值会被函数改变)。

上例中func的调用处a的值不会被函数改变,list1的值可以被函数改变。

与java和c++的类相似,是面向对象思想的实践,可以对类进行封装、继承、实例化、重写等处理。

线程

继承threading类,就得到了线程的一切特性。

不推荐使用thread类,因为有缺陷。

有两种情况需要使用线程:

需要保持后台监听任务

需要并行处理加快速度

如果涉及到文件、数据库的读写线程,要使用加锁、等待、解锁机制,以免出现死锁或异步处理问题。

BS架构

python有图形界面库,可以实现CS架构,但是考虑到通用性和美观,还是建议避免使用CS架构,推荐使用BS架构。前端采用成熟的html+javascript+css,后端采用python的web框架库(flask+jinja2渲染html模板)。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180124G1139M00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券