前言生成器是Python初级开发者最难理解的概念之一,虽被认为是Python编程中的高级技能,但在各种项目中可以随处见到生成器的身影,你得不得去理解它、使用它、甚至爱上它。提到生成器,总不可避免地要把迭代器拉出来对比着讲,生成器就是一个在行为上和迭代器非常类似的对象,如果把迭代器比作Android系统,那么生成器就是iOS,二者功能上差不多,但是生成器更优雅。什么是迭代器顾名思义,迭代器就是用于迭代操作(for循环)的对象,它像列表一样可以迭代获取其中的每
系统 2019-09-27 17:50:50 2226
迭代器和可迭代对象由for循环的内部原理说起list01=[2,434,5,6,8]foriteminlist01:print(item)大家有没有想过list类型对象为什么可以被for循环呢?能够被for循环的条件是:它是可迭代对象(iterable)。那么什么是可迭代对象呢?参考一下内置函数item()的官方说明文档:iter(object[,sentinel])返回一个iterator对象。根据是否存在第二个实参,第一个实参的解释是非常不同的。如果没
系统 2019-09-27 17:50:23 2226
继承继承描述了基类的属性如何“遗传”给派生类。一个子类可以继承它的基类的任何属性,不管是数据属性还是方法。创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需要从其中派生的父类:复制代码代码如下:classSubClassName(ParentClass1[,ParentClass2,...]):'optionalclassdocumentationstring'class_suite实例复制代码代码如下:classParent(obj
系统 2019-09-27 17:50:10 2226
面向对象---谁来做?相比函数,面向对象是一个更大的封装,根据职责在一个对象中封装多个方法。在完成某个需求前,首先确定职责--要做的事情(方法)根据职责确定不同的对象,在对象内部封装不同的方法最后完成代码,就是顺序的让不同的对象调用不同的方法。特点:注重对象和职责,不同的对象承担不同的职责。更加适合应对对复杂需求的变化,是专门应对复杂项目开发,提供的固定套路。面向对象的两个核心概念:类和对象类的定义:是对一群具有相同特征(属性)或者行为(方法)的事物的一个
系统 2019-09-27 17:50:07 2226
最简单的模式,C/S模式实现聊天室从半双工开始,何谓半双工?半双工即是说双方可以互发消息,但一次只能一个用户发送。只要稍微会点socket编程的人都会觉得很简单,所以过过场,直接上代码。服务器端代码:fromsocketimport*fromtimeimportctimeHOST=''PORT=4568BUFSIZE=1024ADDR=(HOST,PORT)tcpSerSocket=socket(AF_INET,SOCK_STREAM)tcpSerSock
系统 2019-09-27 17:50:06 2226
1.可传入参数:@app.route('/user/')#常用的不加参数的时候默认是字符串形式的@app.route('/post/')#常用的#指定int,说明是整型的@app.route('/post/')@app.route('/post/')@app.route('/login',methods=['GET','POST'])DEFAULT_CONVERTERS={'default':UnicodeConverter,'string':Unicod
系统 2019-09-27 17:49:32 2226
一、概述终于把公司的资产管理网站写完,并通过测试,然后上线。期间包括看视频学习、自己写前后端代码,用时两个多月。现将一些体会记录下来,希望能帮到想学django做web开发的人。大牛可以不用看了,小白的第一个项目,写的很low,不入眼。二、过程1.python自学断断续续都有好长的时间,总是零零散散,没有去完完全全开发一个项目出来,跟别人说我会python,都没有啥说服力。后来下定决心,用python去做一个网站出来。正好公司平常维护资产的时候使用的是ex
系统 2019-09-27 17:49:00 2226
Recursivearticles(递归篇)Feibosequencedeffib(number):ifnumber==0ornumber==1:returnnumberelse:returnfib(number-1)+fib(number-2)foriinrange(8):print("fib(%2d)=%2d"%(i,fib(i)))Wecancontrolthetimeofthefunction.deffib(number):ifnumber==0o
系统 2019-09-27 17:48:41 2226
一、线程与进程的介绍参考之前写的VC++的多线程与互斥对象:https://blog.csdn.net/Gordennizaicunzai/article/details/52268343二、python全局解析器锁(GIL)。python代码相对于其它语言在多线程效率上有个“先天性缺陷”——python有个虚拟机(又名解析器主循环)对代码进行执行控制,在解析器主循环中单位时间内只能有一个控制线在执行。意思是任意时刻只能有一个程序在运行,即使内存中有多个程
系统 2019-09-27 17:48:22 2226
作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。本文是一系列关于Python正则表达式文章的其中一部分。在这个系列的第一篇文章中,我们将重点讨论如何使用Python中的正则表达式并突出Python中一些独有的特性。我们将介绍Python中对字符串进行搜索和查找的一些方法。然后我们讲讨论如何使用分组来处理我们查找到的匹配对象的子项。我们有兴趣使用的Python中正则表达式的模
系统 2019-09-27 17:46:54 2226