我们在定义Python类时,经常会看到比较好的代码中,都有__repr__和__string__,两个内部函数的定义。但是我一直很少关注它们的区别和具体应用场景。稍微做个小结。1.__foo()__在python中表示__foo__是一个私有private函数,在CookBookpp254中,解释为,该函数不会被子类的相同名称的函数重载。一般地说,类中以“下划线”开头定义的变量或者函数都是私有变量或者内部函数,区别是:1.1单下划线开始的变量或者函数表示非
系统 2019-09-27 17:46:49 2101
数据流转过程除了在类中可以写这种函数之外,在类中还可以写别的函数,延续上一讲的例子:复制代码代码如下:#!/usr/bin/envpython#coding:utf-8classPerson:def__init__(self,name,lang="golang",website="www.google.com"):self.name=nameself.lang=langself.website=websiteself.email="qiwsir@gmail
系统 2019-09-27 17:46:02 2101
这两个均是python的内建函数,通过读取控制台的输入与用户实现交互。但他们的功能不尽相同。举两个小例子。>>>raw_input_A=raw_input("raw_input:")raw_input:abc>>>input_A=input("Input:")Input:abcTraceback(mostrecentcalllast):File"",line1,ininput_A=input("Input:")File"",line1,inNameErro
系统 2019-09-27 17:45:44 2101
最近不少人在微信问我现在Python还好就业不好就业?发展前景怎么样?我30多岁了,还能不能转行编程?Python该怎么学?如果做Python到底该做爬虫还是数据分析还是web?......等等这样的问题,现在逐一谈下我的看法,进而引申出目前如果做python,最好要掌握的一些技能以及我个人认为的很稳的发展路线,这里分析的观点会以大部分普通开发者的角度来看待,对一些技术牛人可能就不太适用了。1、Python好就业吗?其实,对于这些问题,我是不太想回答的,可
系统 2019-09-27 17:45:29 2101
首先来描述下环境,在机器上有很多个JAVA程序,我们在每个JAVA程序里都配置了一个启动|停止|重启的脚本举个例子:我们现在要同时运行这些脚本,来达到快速启动所有的JAVA程序,如果我们只用多线程的话,线程是不会返回消息给父进程,我们如何才能知道这些程序是启动成功了呢?所以我们用到了队列来管理。"""我试过gevent,但是会在command这里造成阻塞"""gevent代码如下如果有朋友知道如何优化,请您告诉我#!/usr/bin/python2.7#-
系统 2019-09-27 17:38:36 2101
先来介绍一些pythonweb编程基础知识1.GET与POST区别1)POST是被设计用来向web服务器上放东西的,而GET是被设计用来从服务器取东西的,GET也能够向服务器传送较少的数据,而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.POST的信息作为HTTP请求的内容,而GET是在HTTP头部传输的;2)POST与GET在HTTP中传送的方式不同,GET的参数是在HTTP的头部传送的,而Post的数据则是在HTTP请求的内
系统 2019-09-27 17:38:29 2101
哦,这就是真正牛X的程序员。不过,他也仅仅是牛X罢了,还不是大神。大神程序员是什么样儿呢?他是扫地僧,大隐隐于市。先搞清楚这些名词再说别的:循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。遍历(traversal),指的是按照一定的规则
系统 2019-09-27 17:38:16 2101
实例如下:defTestDic1():dict2={'aa':222,11:222}forvalindict2:printvaldefTestDic2():dict2={'aa':222,11:222}for(key,val)indict2.items():printkey,":",valdefTestList1():list=[1,2,3,4,5,3,2,'ada','fs3']foriinrange(len(list)):printlist[i]def
系统 2019-09-27 17:38:16 2101
python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l=[1,2,3,4]foriinl:ifi!=4:l.remove(i)printl这几句话本来意图是想清空列表l,只留元素4,但是实际跑起来并不是那个结果。再看下面,利用index来遍历删除列表ll=[1,2,3,4]foriinrange(len(l)):ifl[i]==4:dell[i]printl这样没问题,可以遍历删除,但是列表l如果变为l
系统 2019-09-27 17:38:00 2101
活在当下的程序员应该都听过“面向对象编程”一词,也经常有人问能不能用一句话解释下什么是“面向对象编程”,我们先来看看比较正式的说法。把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态
系统 2019-09-27 17:37:56 2101