- 军军小站|张军博客
搜索到与相关的文章
Python

Python中的yield浅析

在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor)。一、迭代器(iterator)在Python中,for循环可以用于Python中的任何类型,包括列表、元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration。任何这类的对象

系统 2019-09-27 17:38:45 1786

Python

初步认识Python中的列表与位运算符

Python列表List(列表)是Python中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。列表用[]标识。是python最通用的复合数据类型。看这段代码就明白。列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。加号(+)是列表连接运算符,星号(*)是重复操作。如下实例:#!/usr/

系统 2019-09-27 17:38:44 1786

Python

python 文件操作api(文件操作函数)

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判

系统 2019-09-27 17:38:36 1786

Python

set在python里的含义和用法

set在python里是什么意思?set是一组数,无序,内容又不能重复,通过调用set()方法创建:>>>s=set(['A','B','C'])对于访问一个set的意义就仅仅在于查看某个元素是否在这个集合里面,注意大小写敏感:>>>print'A'insTrue>>>print'D'insFalse也通过for来遍历:s=set([('Adam',95),('Lisa',85),('Bart',59)])forxins:printx[0],':',x[1

系统 2019-09-27 17:38:10 1786

Python

Python的Flask框架的简介和安装方法

请在开始使用Flask之前阅读本文。也希望本文能够回答关于Flask项目的初衷以及目标,以及flask适用的场景(情境)等问题。什么是“微”?“微”(“Micro”)并不是意味着把整个Web应用放入到一个Python文件,尽管确实可以这么做。当然“微”(“Micro”)也不是意味Flask的功能上是不足的。微框架中的“微”(“Micro”)是指Flask旨在保持代码简洁且易于扩展。Flask不会为你做太多的选择,例如选择什么样的数据库。Flask为你做的是

系统 2019-09-27 17:37:52 1786

Python

Python的Django框架中设置日期和字段可选的方法

设置字段可选在摆弄了一会之后,你或许会发现管理工具有个限制:编辑表单需要你填写每一个字段,然而在有些情况下,你想要某些字段是可选的。举个例子,我们想要Author模块中的email字段成为可选,即允许不填。在现实世界中,你可能没有为每个作者登记邮箱地址。为了指定email字段为可选,你只要编辑Book模块(回想第五章,它在mysite/books/models.py文件里),在email字段上加上blank=True。代码如下:classAuthor(mo

系统 2019-09-27 17:37:46 1786

编程技术

手机游戏中的闪烁

昨日等车无聊时,打开手机,玩起了自己做的一款手机游戏。突然想起以前写代码的趣事。记得当时写代码写到天昏地暗,突然遇到瓶径,如何解决闪烁问题。也许是长时间写代码的原因,大脑有点缺氧,百思居然不得其解。于是上网查找,居然无解...仔细一想,网上既然无解。那只有两种可能:要么就是太简单,不是问题;要么就是太复杂无人能解。显然不是后者...悲剧,难道我一向自负的天资出卖了我就在这时。停电了...我恍然大悟,原来我把简单的事情弄复杂了,闪烁其实没有那么复杂。setv

系统 2019-08-29 23:46:45 1786

编程技术

ajax扩展控件(6)

DropDown控件,该控件用于实现下拉列表控件的客户端功能。实例代码如下:<%...@PageLanguage="C#"AutoEventWireup="true"CodeFile="DragPanelDemo.aspx.cs"Inherits="DragPanelDemo"%><%...@RegisterAssembly="System.Web.Extensions,Version=1.0.61025.0,Culture=neutral,PublicK

系统 2019-08-29 23:31:41 1786

编程技术

宏定义

得到指定地址上的一个字节或字#defineMEM_B(x)(*((byte*)(x)))#defineMEM_W(x)(*((word*)(x)))求最大值和最小值#defineMAX(x,y)(((x)>(y))?(x):(y))#defineMIN(x,y)(((x)<(y))?(x):(y))得到一个field在结构体(struct)中的偏移量#defineFPOS(type,field)((dword)&((type*)0)->field)得到一个

系统 2019-08-29 22:56:35 1786

编程技术

ConcurrentLinkedQueue的实现原理分析

1.引言在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞的实现方式则可以使用循环CAS的方式来实现,本文让我们一起来研究下DougLea是如何使用非阻塞的方式来实现线程安全队列ConcurrentLinkedQueue的,相信从大师身上我们能学到不少并发编程的技

系统 2019-08-29 22:40:24 1786