在我遇到SimPy包的其中一位创始人KlausMiller时,从他那里知道了这个包。Miller博士阅读过几篇提出使用Python2.2+生成器实现半协同例程和“轻便”线程的技术的可爱的Python专栏文章。特别是(使我很高兴的是),他发现在用Python实现Simula-67样式模拟时,这些技术很有用。结果表明TonyVignaux和ChangChui以前曾创建了另一个Python库,它在概念上更接近于Simscript,而且该库使用了标准线程技术,而不
系统 2019-09-27 17:49:52 2295
上篇文章我们介绍了树的概念,今天我们来介绍一种特殊的树——二叉树,二叉树的应用很广,有很多特性。今天我们一一来为大家介绍。二叉树顾名思义,二叉树就是只有两个节点的树,两个节点分别为左节点和右节点,特别强调,即使只有一个子节点也要区分它是左节点还是右节点。常见的二叉树有一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树这么多种类。我们这篇文章中简单介绍一般二叉树、完全二叉树和满二叉树。一般二叉树很简单,只要满足子节点
系统 2019-09-27 17:47:38 2295
JOSN字符串转换为自定义类实例对象有时候我们有这种需求就是把一个JSON字符串转换为一个具体的Python类的实例,比如你接收到这样一个JSON字符串如下:{"Name":"Tom","Sex":"Male","BloodType":"A","Hobbies":["篮球","足球"]}我需要把这个转换为具体的一个Person类的实例,通过对象的方式来进行操作。在Java中有很多实现比如Gson或者FastJosn。如下代码所示(这里不是全部代码,值标识最
系统 2019-09-27 17:57:06 2294
什么是序列化什么是序列化,把程序中的对象或者变量,从内存中转换为可存储或可传输的过程称为序列化。在Python中,这个过程称为pickling,在其他语言中也被称为serialization,marshalling,flattening等。程序中的对象(或者变量)在序列化之后,就可以直接存放到存储设备上,或者直接发送到网络上进行传输。序列化的逆向过程,即为反序列化(unpickling),就是把序列化的对象(或者变量)重新读到内存中~Python中序列化的
系统 2019-09-27 17:56:23 2294
python字符串和日期之间转换StringAndDate这里给出实现代码,直接可以使用。大家可以看下。实例代码:'''''Createdon2013-7-25@author:Administrator'''fromdatetimeimportdatetimeclassStringAndDate(object):'''''StringtoDate(datetime)ordatetostring'''defstringToDate(self,string):
系统 2019-09-27 17:55:46 2294
前言我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。将字符串和Bytes互相转换可以使用encode()和decode()方法。URL编码正常的URL中是只能包含ASCII字符的,也就是字符、数字和一些符号。而URL编码就是一种浏览器用来避免url中出现特殊字符(如汉字)的编码方式。Base64编码Base64是一种用64个字符来表示任意二进制数据的方法。Base64编码可以称为密码学的基石。可以将任意的二
系统 2019-09-27 17:55:14 2294
1切换Ubuntu默认python版本Ubuntu18.04默认python为2.7版本,命令行输入python显示的即为默认。内置的python3.6版本需要输入python3进行调用。亲测可行1.1方法一:修改优先级sudoupdate-alternatives:--install<需要链接地址><链接名称><路径><优先级>需要链接地址:/usr/bin/python链接名称:python路径:/usr/bin/python2.7或/usr/bin/
系统 2019-09-27 17:45:55 2294
进度条实现原理进度条和一般的print区别在哪里呢?答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果。进度条不然,我们必须再原地输出才能保证他是一个进度条,否则换行了怎么还叫进度条?实现进度条最简单的办法就是,在输出完毕后,把光标移动到行首,继续在那里输出更长的进度条即可实现,新的更长的进度条把旧的短覆盖,就形成了动画效果。在用Python
系统 2019-09-27 17:38:31 2294
一、什么是匿名函数关键字lambda表示匿名函数。冒号前面的x表示形参,冒号后面是返回值。例:计算1~10对应数字的平方,以列表形式输出。定义法函数:deffun(x):returnx**2print(list(map(fun,range(1,11))))匿名函数法:print(list(map(lambdax:x**2,range(1,11))))二、匿名函数的特点当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。匿名函数有个限
系统 2019-09-27 17:53:21 2293
Python命令行之旅——深入argparse(一)作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在第一篇“初探argparse”的文章中,我们初步掌握了使用argparse的四部曲,对它有了一个基本的体感。但是它具体支持哪些类型的参数?这些参数该如何配置?本文将带你深入了解argparse的参数们。本系列文章
系统 2019-09-27 17:53:04 2293
---恢复内容开始---以前经常使用python2.现在很多东西都切换到了python3,发现很多东西还是存在一些差异化的。跨目录import是常用的一种方法,并且有不同的表现形式,新手很容易搞混。有必要这里做个总结,给大家科普一下:1同级目录下的调用:同级目录下的调用比较简单,一般使用场景是不同类的相互调用。不用考虑路径问题,常用的格式是:fromfileimport*或者fromfileimportclass/function等。下面以一个例子作为说明
系统 2019-09-27 17:52:20 2293
第二章1.python和c/c++在if语句使用上是有区别的(1)python:if条件:输出#注意,这里一定要有Tab空格,因为python语法就是按这样来理逻辑的else条件:输出(2)c/c++:if(条件){输出语句;}else{}python没有switch用法2.pythonshell中F键可以用来找关键词第三章1.(1)修改大小写–方法:title(),upper(),lower()(2)删除空白–方法:strip(),lstrip(),rs
系统 2019-09-27 17:52:13 2293
Python学习第二天之基础知识03:今天玩一个好玩的库——turtle库,翻译过来是海龟库,是一个用于画图的库,个人觉得很有意思。今天就来玩一下这个库。turtle库的引入:fromturtleimport*turtle的基本知识及语句:向前行进:forward()向后:backward()向左:left()向右:right()抬起画笔:penup()放下画笔:pendown()这是最基础的一些画笔指令,接下来介绍一些很好玩的指令:goto()将画笔移动
系统 2019-09-27 17:52:08 2293
先给大家介绍下Python除法之传统除法、Floor除法及真除法python3.0/总是执行真除法,不管操作数的类型,都返回浮点数结果(即使能整除,如4/2==2.0);//执行Floor除法,会截断余数直接返回一个整数,如果有任何一个操作数是浮点数则返回浮点数(如4//2==2,3//2==1.5,4.0//2==2.0)总之:在python3.0中,/为真除法,不会截断,且结果无论能否整除都是浮点数;//为地板除法,会对除法的结果进行取整返回,至于返回
系统 2019-09-27 17:51:41 2293
一、引用传递引用传递,实质是在传递内存地址二、函数默认值1、默认值参数在python中可以为函数的参数给予默认值,一旦某个存在默认值,那么如果在调用的时候,不传递这个参数,则按照默认值注意:在定义函数时,如果存在有默认值的参数,一定要写在没有默认值的参数后面,否则在调用时,无法确定参数到底传给哪个参数,程序就会报错。三、全局变量和局部变量1、全局变量就是定义在py文件中,能被任何函数、类能够正常访问的变量。2、局部变量定义在函数内部的变量,叫做局部变量注意
系统 2019-09-27 17:50:00 2293