Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等。其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式。管道是一种半双工的通信机制,也就是说,它只能一端用来读,另外一端用来写;另外,管道只能用来在具有公共祖先的两个进程之间通信。管道通信遵循先进先出的原理,并且数据只能被读取一次,当此段数据被读取后,马上会从数据中消失,这一点很重要。Linux上,创建管道使用pipe函数,当它执行后,会产生两个文件描述符,分别
系统 2019-09-27 17:45:56 2309
Kmean分类项目链接:https://github.com/Wchenguang/gglearn/blob/master/KmeansClassifier/讲解/KmeansClassifier.ipynb首先,随机确定K个初始点作为质心(不必是数据中的点)。然后将数据集中的每个点分配到一个簇中,具体来讲,就是为每个点找到距其最近的质心,并将其分配该质心所对应的簇.这一步完成之后,每个簇的质心更新为该簇所有点的平均值.重复上述过程直到数据集中的所有点都距
系统 2019-09-27 17:45:38 2309
在MAC/LINUX环境下,执行vihello.py命令,并输入以下代码importwebimportsysurls=("/Service/hello","hello")app=web.application(urls,globals())classhello:defGET(self):return'Hello,world!';if__name__=="__main__":app.run()执行pythonhello.py8080出现http://0.0.
系统 2019-09-27 17:45:27 2309
如何用Python输出"Hello,World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。Python文件中如果未指定编码,在执行过程会出现报错:#!/usr/bin/pythonprint"你好,世界";以上程序执行输出结果为:File"test.py",line2SyntaxError:Non-ASCIIcharacter'\xe4'infiletest.pyonline2,butnoencodingdeclar
系统 2019-09-27 17:38:18 2309
python中字典可以一键多值,也就是意味着一个键可以对应多个值。例:#encoding=utf-8print'中国'#字典的一键多值print'方案一list作为dict的值值允许重复'd1={}key=1value=2d1.setdefault(key,[]).append(value)value=2d1.setdefault(key,[]).append(value)printd1#获取值print'方案一获取值'printlist(d1[key])
系统 2019-09-27 17:38:14 2309
本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍;1.标准化(StandardizationorMeanRemovalandVarianceScaling)变换后各维特征有0均值,单位方差。也叫z-score规范化(零均值规范化)。计算方式是将特征值减去均值,除以标准差。sklearn.preprocessing.scale(X)一般会把train和test集放在一起做标准化,或者在tr
系统 2019-09-27 17:38:06 2309
在日常coding中,分支语句的使用非常普遍,经常会根据是否满足一定的条件对代码执行的逻辑进行一些控制,所以大家对if[elif[else]]一定不会陌生。分支语句中的else子句在其它的条件不满足的时候会被执行到,适当的使用分支语句能够让我们的代码逻辑更加的丰富。在分支语句中使用else子句在一些常见的编程语言中的用法基本相同,类似于提供了一条默认的执行路径,配合if等条件判断语句使用,相比其它的编程语言(c#,java,js等)在python中,els
系统 2019-09-27 17:37:56 2309
准备我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了。使用SpeechAPI原理我们的想法是借助微软的语音接口,所以我们肯定是要进行调用相关的接口。所以我们需要安装pywin32来帮助我们完成这一个底层的交互。示例代码importwin32com.clientspeaker=win32com.client.Dispatch("SAPI.SpVoice")speaker.Speak("Hello,itwork
系统 2019-09-27 17:37:43 2309
UDPUDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB之内。UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,"写信"。客户端:fromsocketimportsocket,AF_INET,SOCK_DGRAM#创
系统 2019-09-27 17:57:08 2308
1.最小界面组成#导入tkinter模块importtkinter#创建主窗口对象root=tkinter.Tk()#设置窗口大小(最小值:像素)root.minsize(300,300)#创建一个按钮组件btn=tkinter.Button(root,text='屠龙宝刀,点击送')btn.pack()#加入消息循环root.mainloop()设置初始化界面大小#设置初始化界面大小root.geometry('300x400')2.组件的摆放方式:1.
系统 2019-09-27 17:55:39 2308
不少Python新手经常问到学Python到底需不需要学习Linux?Python不是支持Windows和Linux操作系统吗?能在Windows下开发为什么还要学习Linux?问这样的问题的朋友,可能还没有真正入行Python开发或者没有真正参与公司的一些项目部署,上线过程,对于上面问题,首选答案是肯定的,Python开发可以在Windows下开发,但是Linux学习仍然是必须的。线上服务器一般是Linux一般在生产环境中,服务器基本都是Linux的,比
系统 2019-09-27 17:55:17 2308
先介绍下什么是协程:协程,又称微线程,纤程,英文名Coroutine。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数调用(没有调用语句),这一整个过程看似像多线程,然而协程只有一个线程执行。是不是有点没看懂,没事,我们下面会解释。要理解协程是什么,首先需要理解yield,这里简单介绍下,yield可以理解为生成器,yielditem这行代码会产出一个值,提供给next(...)的调用方
系统 2019-09-27 17:54:50 2308
Python闭包的使用方法嵌套函数中的非局部变量在进入闭包之前,我们必须先了解一个嵌套函数和非局部变量。在函数中定义另一个函数称为嵌套函数。嵌套函数可以访问包围范围内的变量。在Python中,这些非局部变量只能在默认情况下读取,我们必须将它们显式地声明为非局部变量(使用nonlocal关键字)才能进行修改。以下是访问非局部变量的嵌套函数的示例。defprint_msg(msg):#Thisistheouterenclosingfunctiondefprin
系统 2019-09-27 17:53:47 2308
前言好久没有更技术文了,再不写怕是博客要废掉了,今天更一篇关于搭建服务端并与Android端通信的文章,为了节省代码量,服务端使用PythonFlask,Android端使用Okhttp,还是老样子,文章不讲原理只给具体实现,想要了解原理可至官网详细研究。服务端环境:服务端使用Python3.5+PyCharm新建Flask项目看图:然后create,初始化完成之后项目结构应该类似如下:其实这时候直接启动项目就可以在浏览器访问到:这就是使用现成框架的好处h
系统 2019-09-27 17:53:28 2308
我在面试前,面试公司发来一道python题,我觉得还挺有意思的。题目如下。"""“”"我们知道2进制数字由2种字符(01)组成,10进制数字由10种字符(0123456789)组成,16进制由16种字符(0123456789ABCDEF)。不同进制的数字之间可以相互转换。我们定义一种“十二地支进制”数字,这种数字由中国古代地支的12种字符(子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥)组成。“十二地支进制”数字和10进制数字的关系可以看下面的代码。[["
系统 2019-09-27 17:52:33 2308