在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor)。一、迭代器(iterator)在Python中,for循环可以用于Python中的任何类型,包括列表、元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration。任何这类的对象
系统 2019-09-27 17:38:45 1343
大体上把Python中的数据类型分为如下几类:Number(数字)包括int,long,float,complexString(字符串)例如:hello,"hello",helloList(列表)例如:[1,2,3],[1,2,3,[1,2,3],4]Dictionary(字典)例如:{1:"nihao",2:"hello"}Tuple(元组)例如:(1,2,3,abc)Bool(布尔)包括True、False由于Python中认为所有的东西都是对象,所以
系统 2019-09-27 17:38:45 1343
如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化;如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数。classCa:def__init__(self,v):#注意前后各两个下划线self.name=vdefpr(self):print"a--->",self.nameia=Ca("Jeapedu")#本质调用的是__init__方法函数ia.pr()Ca.pr(ia)输出结果a--->Jeape
系统 2019-09-27 17:38:41 1343
有些时候我们不得不在自己的代码里写上密码,为了安全起见,我们可以为自己的密码加密先上段代码,这个代码是转自网上root@ProFtp:/usr/lib/python2.7#morejastmencrypt.py"""jastmeencryptpassword"""defencrypt(key,s):b=bytearray(str(s).encode("gbk"))n=len(b)#求出b的字节数c=bytearray(n*2)j=0foriinrange(
系统 2019-09-27 17:38:35 1343
Pythonsocket网络编程初学python,前段时间买了两本书《python编程从入门到实践》《Python核心编程第三版》,第一本书主要讲的是一些基本语法和一些基本的使用方法,而第二本则深入很多,自己看来也是一知半解,刚好看到了这部分网络编程,依然有好多不太理解的地方,不过想来通过自己不断的摸索,不断地搜寻资料学习,早晚应该会变得通透吧.......这部分主要使用的模块就是socket模块,在这个模块中可以找到socket()函数,该函数用于创建套
系统 2019-09-27 17:38:34 1343
闭包并不是什么新奇的概念,它早在高级语言开始发展的年代就产生了。闭包(Closure)是词法闭包(LexicalClosure)的简称。对闭包的具体定义有很多种说法,这些说法大体可以分为两类:一种说法认为闭包是符合一定条件的函数,比如参考资源中这样定义闭包:闭包是在其词法上下文中引用了自由变量的函数。另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。比如参考资源中就有这样的的定义:在实现深约束时,需要创建一个能显式表示引用环境的东西,并将它与相
系统 2019-09-27 17:38:28 1343
前言在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。可变参数(*)可变参数,顾名思义,它的参数是可变的,比如列表、字典等。如果我们需要函数处理可变数量参数的时候,就可以使用可变参数。我们在查看很多Python源码时,经常会看到某函数(*参数1,**参数2)这样的函数定义,这个*参数和**参数就是可变参数,一时会让
系统 2019-09-27 17:38:26 1343
代码描述:基于Python的净值数据接口调用代码实例关联数据:净值数据接口地址:https://www.juhe.cn/docs/api/id/25#!/usr/bin/python#-*-coding:utf-8-*-importjson,urllibfromurllibimporturlencode#----------------------------------#净值数据调用示例代码-聚合数据#在线接口文档:http://www.juhe.cn/
系统 2019-09-27 17:38:25 1343
我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。可迭代一个对象,物理或者虚拟存储的序列。list,tuple,strins,dicttionary,set以及生成器对象都是可迭代的,整型数是不可迭代的。如果你不确定哪个可迭代哪个不可以,你需要用python内建的iter()来帮忙。>>>iter([1,2,3])>>>iter({1:2,2:4})>>>iter(1234)Traceback(mostrece
系统 2019-09-27 17:38:24 1343
数在Python中,对数的规定比较简单,基本在小学数学水平即可理解。那么,做为零基础学习这,也就从计算小学数学题目开始吧。因为从这里开始,数学的基础知识列位肯定过关了。>>>33>>>33333333333333333333333333333333333333333333333333333333333333333333333333333333L>>>3.2222223.222222上面显示的是在交互模式下,如果输入3,就显示了3,这样的数称为整数,这个称呼
系统 2019-09-27 17:38:22 1343
在Python整型对象所存储的位置是不同的,有一些是一直存储在某个存储里面,而其它的,则在使用时开辟出空间.说这句话的理由,可以看看如下代码:a=5b=5aisb#Truea=500b=500aisb#False由上面的代码可知,整型5是一直存在的,而整型500不是一直存在的.那么有哪些整数是一直存储的呢?a,b,c=0,0,0whileaisb:i+=1a,b=int(str(i)),int(str(i))else:print(i)#打印257由上所知,
系统 2019-09-27 17:38:22 1343
Python变量类型变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。等号(=)用来给变量赋值。等号
系统 2019-09-27 17:38:21 1343
Python通过pip安装Django详细介绍经过前面的Python包管理工具的学习,接下来我们就要基于前面的知识,来配置Django的开发与运行环境。首先是安装Django(通过pip安装):pipinstallDjango输出的结果在我这里是这样的:Downloading/unpackingDjangoDownloadingDjango-1.5.2.tar.gz(8.0MB):8.0MBdownloadedRunningsetup.pyegg_info
系统 2019-09-27 17:38:21 1343
最近开始学着用Python+Tornado+MongoDB写网站,兴起写了一个博客,觉得很有意思所以想挂在服务器上发布出去找大家一起玩。这个时候就遇到了问题。服务器是windows系统,安装的是Apache,所以需要配置Apache,使Apache同时支持PHP和Python。废话少说,提供有效方案一个,照做即可:1.修改httpd.conf文件将下列几个Module前的注释符#去掉LoadModuleproxy_modulemodules/mod_pro
系统 2019-09-27 17:38:20 1343
我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程。多进程编程在python中有类似C的os.fork,当然还有更高层封装的multiprocessing标准库,在之前写过的python高可用程序设计方法中提供了类似nginx中masterprocess和workerprocess间信号处理的方式,保证了业务进程的退出可以被主进程感知。多线程编程python中有Thread和threading,在linux下所谓的线程,实际上是LW
系统 2019-09-27 17:38:17 1343