什么是状态机?关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前”节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态,状态机停止。但一个抽象的数学描述(就像我刚给出的)并不能真正说明在什么情况下使用状态机可以解决实际编程问题。另一种策略就是将状态机定义成一种强制性编程语言,
系统 2019-09-27 17:38:36 2131
Python是一种面向对象的语言,但它不像C++一样把标准类都封装到库中,而是进行了进一步的封装,语言本身就集成一些类和函数,比如print,list,dictetc.给编程带来很大的便捷Python使用#进行单行注释,使用'''或"""进行多行注释数值计算>>>print"Onehourhas",60*60,"seconds"Onehourhas3600seconds>>>result=12#同一行代码利用空格分段使格式更清晰>>>printresult
系统 2019-09-27 17:37:58 2131
有一个需求就是需要对url进行进一步的划分得到详细的各个字段信息,下面是简单的实现:#!/usr/bin/python#-*-coding:UTF-8-*-'''__Author__:沂水寒城功能:对URL进行分割,基于urlparse,publicsuffix,urllib编写'''fromurlparseimporturlparseimportcodecsfrompublicsuffiximportPublicSuffixListfromurllibi
系统 2019-09-27 17:57:16 2130
本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考。具体步骤如下:一、首先下载驱动:(cx_Oracle)http://www.python.net/crew/atuining/cx_Oracle/不过要注意一下版本,根据你的情况加以选择。二、安装:首先配置oracle_home环境变量执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下。如果是linux,执行复制代码
系统 2019-09-27 17:55:16 2130
字典是Python语言中唯一的映射类型。映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表。字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。字典类型与序列类型的区别:1.存取和访问数据的方式不同。2.序列类型只用数字类型的键(从序列的开始按数值顺序索引);3.映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,
系统 2019-09-27 17:54:02 2130
listlist是一种有序的集合,可以随时添加和删除其中的元素。跟java不一样的是可以使用arr[-1]0>-x>=-len(arr)索引的数字为0~len(arr)-1-len(arr)~-1超过会报错classmates=['A','B','C','D','E']print(classmates)print(len(classmates))foriinclassmates:print(i)'''['A','B','C','D','E']5ABCDE'
系统 2019-09-27 17:53:41 2130
参考链接:https://www.cnblogs.com/alexzhang92/p/9416692.htmlhttps://www.cnblogs.com/neillee/p/6259590.html目录一、基本知识二、GC垃圾回收1、引用计数引用计数的增减引用计数法有很明显的优点:引用计数机制的缺点:2、画说Ruby与Python垃圾回收2.1应用程序那颗跃动的心一个简单的例子免费清单在Python中分配对象Ruby开发人员住在凌乱的房子里Python
系统 2019-09-27 17:53:41 2130
#0.PyCharm常用快捷键#1.查看使用库源码PyCharm主程序员在Stackoverflow上答道经常听人说,多看源码。源码不仅能帮我们搞清楚运行机制,还能学习优秀的库或者框架的最佳实践。调用库时,你可以在你好奇的几乎任何地方点击Command+B,就可以很方便的跳转到源码里的类,方法,函数,变量的定义。#2.让你的代码PEP8写Python代码时,你会严格遵守pep8规范么?还是要遵守的,不然代码传到github或者知乎上被人怼就不好了。但是如果
系统 2019-09-27 17:53:10 2130
一位置传递没什么好过多讲解.#位置传递实例:deffun1(a,b,c):returna+b+cprint(fun1(1,2,3))输出:6二关键字传递更具每个参数的名字写入函数参数#关键字传递deffun2(a,b,c):returna+b+cprint(fun2(1,c=3,b=2))输出:6三参数默认值传递给函数的输入参数设定一个默认值,如果该参数最终没有输入,则使用默认参数出入函数.#默认值传递deffun3(a,b=2,c=3):returna+
系统 2019-09-27 17:52:29 2130
一、前言大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++和java,允许“随时随地”声明变量,比如,变量声明可以在代码块的中间,不过仍然必须在变量被使用前声明变量的名字和类型。在Python中,无序此类显式变量声明语句,变量在第一次被赋值时自动声明。和其他大多数语言一样,变量只有被创建和赋值后才能被使用。#变量未声明>>>xTraceback(mostrecentcalll
系统 2019-09-27 17:52:14 2130
zip文件是我们经常使用的打包格式之一,python解压和压缩zip效率非凡。python解压zip文档:复制代码代码如下:#/usr/bin/python#coding=utf-8importos,sys,timeimportzipfilefilename='callofdutyblackopszombies_1349649132343_my.zip'#要解压的文件filedir='data/'#解压后放入的目录r=zipfile.is_zipfile(
系统 2019-09-27 17:52:13 2130
最近在弄flask的东西,好久没写博客的,感觉少了点什么,感觉被别人落下好多,可能渐渐的养成了写博客的习惯吧。也是自己想学的东西太多了(说白了就是基础太差了,只是knowhow,不能做到konwwhy)。不说那些毒鸡汤了,我们来说说我们今天的python基础面试题吧。一,Q:python的优缺点有什么?A:优点:1,基础语法简单易学,对于初学者来说,语法还是相对简单的,比较容易学习,网上的学习资料也很多。2,面向对象,在python里继承和封装较多,而py
系统 2019-09-27 17:50:49 2130
ndarray.ndim:维度ndarray.shape:形状ndarray.size:元素个数ndarray.dtype:元素数据类型ndarray.itemsize:字节大小创建数组:a=np.array([2,23,4])#list1dprint(a)#[2234]指定数据类型:a=np.array([2,23,4],dtype=np.int)print(a.dtype)#int64dtype可以指定的类型有int32,float,float32,后
系统 2019-09-27 17:50:47 2130
在嵌入式、尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应。importsysimportttyimporttermiosdefreadchar():fd=sys.stdin.fileno()old_settings=termios.tcgetattr(fd)try:tty.setraw(sys.stdin.fileno())ch=sys.stdin.rea
系统 2019-09-27 17:50:35 2130
压缩数据创建gzip文件先看一个略麻烦的做法importStringIO,gzipcontent='Lifeisshort.Iusepython'zbuf=StringIO.StringIO()zfile=gzip.GzipFile(mode='wb',compresslevel=9,fileobj=zbuf)zfile.write(content)zfile.close()但其实有个快捷的封装,不用用到StringIO模块f=gzip.open('fil
系统 2019-09-27 17:50:34 2130