需求目的:把一个 ip 地址使用 socket.inet_aton() 转化后和一个字符串组合,然后算出 MD5。 下面是 Python2.6 的实现代码: #!...socket.inet_aton(ip) + base_str).digest().encode('hex') print(ip_md5) 运行后的输出结果为: fc138bb4748a18f885cc321c2c6396e2...也就是说 Python2.6 和 python3.4 中对于 socket.inet_aton(ip) 的实现是有差异的,查官方文档吧。...好吧,返回值类型不同,为了保证和原脚本逻辑一致,我就做个转化,把 bytes 主动转换为 str 类型再连接,修改后的代码如下: #!...hashlib.md5(str_md5.encode('gbk')).digest()).decode() print(ip_md5) 运行后的输出结果: fc138bb4748a18f885cc321c2c6396e2
使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份。...1、下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的python...至此,python2和python3安装完毕。 特别说明:此时运行“cmd”命令进入DOS命令提示框,输入python仍然显示python3版本,接下来请参考本系列教程二。...注意:python3安装时可以选择自动添加到系统环境变量,如未选择,方法和python2添加过程相同。...5、修改python.exe名字为python2.exe和python3.exe 找到python2的安装目录,修改python2.7.9中python.exe和pythonw.exe
所以兼容Python3已经可以说非常必要了,但有些常用的库还没有升级到Python3,所以我们看下如何写出兼容2和3的代码。 Python 2 or 3 ?...旨在解决和修正 Python 2 遗留的设计缺陷、清理代码库冗余、追求有且仅有一种最佳实践方式来执行任务等问题。...) 统一不等于语法 P2 支持使用 和 !...不过,由于 P2 同时支持两套字符编码,就难免多出了一些标识和转换的麻烦。 而 P3 统一使用 Unicode 字符编码,这节省了开发者的时间,同时也可以轻松地在程序中输入和显示更多种类的字符。...统一输入函数 P2 支持 raw_input 和 input 两个输入函数,区别在于前者仅能返回 String 类型对象,后者则支持返回数字和字符串两种数据类型对象,并且当输入为表达式时,会隐式调用 eval
使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份。...1、下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的python版本...至此,python2和python3安装完毕。 特别说明:此时运行“cmd”命令进入DOS命令提示框,输入python仍然显示python3版本,接下来请参考本系列教程二。...注意:python3安装时可以选择自动添加到系统环境变量,如未选择,方法和python2添加过程相同。...5、修改python.exe名字为python2.exe和python3.exe 找到python2的安装目录,修改python2.7.9中python.exe和pythonw.exe的名称为
Python2 中默认把脚步文件使用 ASCII 来处理(历史原因请 Google) Python2 中字符串除了 str 还有 Unicode,可以用 decode 和 encode 相互转换 Python3...中默认把脚步文件使用 UTF-8 来处理(终于默认就支持中文了,赞) Python3 中文本字符和二进制分别使用 str 和 bytes 进行区分,也是使用 decode 和 encode 进行相互转换...同理,还可以看到另外 2 个现象: 把 py 文件用 utf-8 格式存储,并且包含「中文」字样时,如果使用 gbk 格式打开,也是看到「中文」显示的乱码和上面程序输出的一致; 如果把 py 文件使用...上面说的这个问题,如果文件存储和脚本文件编码都使用 utf-8 时,使用 Python3.4 是没有问题的,因为 Python3 默认的解释器字符编码是 utf-8 了,默认就可以处理中文了。...总结下结论: Python2 脚步文件尽量使用 gbk 格式存储;同理 Python3 脚步文件尽量使用 utf-8 格式存储; Python2 脚步如果带有中文字符时,请务必在脚本开头声明能支持中文的脚本文件编码
Python2中使用 ASCII 码作为默认编码方式导致string有两种类型str 和unicode,Python3只 支持unicode的string。...Python2和Python3字节和字符对应关系为: ? 2. Python3采用的是绝对路径的方式进行import。...Python3中这一点将被修改,如果还需要导入同一目录的文件必 须使用绝对路径,否则只能使用相关导入的方式来进行导入。 3. Python2中存在老式类和新式类的区别 Python3统一采用新式类。...Python3使用更加严格的缩进。 Python2的缩进机制中,1个tab 和8个space 是等价的,所以在缩进中可以同时允许tab和space 在代码中共存。...“//”: Python2:返回小于除法运算结果的最大整数;从类型上讲,与"/"运算符返回类型逻辑一致。 Python3:和Python2运算结果一样。 2.
1.安装过程中可以手动选择安装路径,本文中的安装路径为"D:\python2", "D:\python3"。 2....1)写python3的环境变量 高级系统设置,环境变量,选择Path,点击编辑,新建,分别添加D:\python3和D:\python3\Scripts到环境变量。...修改python编译器名 为了在DOS中便于区分python2和python3,我们将默认的python编译器名称进行修改。...在python2和python3的安装目录中: 修改D:\python2中python.exe和pythonw.exe的名称为python2.exe、pythonw2.exe; 修改D:\python3...设置pip python 安装包需要用到包管理工具pip,但是当同时安装python2和python3的时候,pip只是其中一个版本,需重新分别安装两个版本的pip,使得两个python版本的pip能够共存
1、不等于比较运算符,python3不识别,pyhon2.7中!=和都能运行。2、print函数的使用,python3必须加括号,python2加不加都行。...如果在文件头指定了解码编码,py2和py3都会按指定解码,所有系统都支持Unicode,所以py3只要指定对了解码编码,在哪个系统上都可以正常显示,py2如果不是gbk编码的,解码后windous就会是乱码...(直接运算会显示long型,因为2**31会先运算,是long型)8、用户输入不同,py3中只有input()输出都是str和py2中的raw_input()一样,而py2中也有input(),输入字符串要带引号...,数字输出相应的数字类型9、Py2以前没有布尔型,0表示False,用1表示True;Python3 把 True 和 False 定义成关键字,它们的值还是 1 和 0,可以和数字运算。...10、py2中range()直接生成列表(量大占内存死机),py3中只有range()和py2中还有的xrang()都只生成一个生成器(一个计算方法,不占内存)。
现在我们新手学习的都是Python3,但是Python3和Python2不兼容,所以很多以前使用Python2开发的项目想改成Python3就比较费劲了。...这里我们来重点聊聊python2.x和python3.x的区别。...8.xrange()函数 Python2中有range()和xrange()函数,其中xrange()是按需返回列表大小,以节省内存占用 Python3中将xrange()函数更名成range...9.next()和.next()函数 Python2对两个函数均支持 Python3只支持next()函数。...这里面还有很多细节有所不同,这里没办法和大家一一讲解,但是要明白的一点就是,你学的是python3,暂时没有必要管的太多,当你学会python3之后,再去看python2一点压力都没有,等你工作后去修改公司老程序也不会有压力
编码问题 在py2中,编码问题是个大问题,可以单独拉出来讲一次。这里简单说一下,在py2中,把字符串分为Unicode和str两种类型。...# python2 print 1/2 >>> 0 print 1/2. >>>0.5 # python3 print(1/2) >>> 0.5 print(1//2) >>> 0 4. nonlocal...因为py2的解释器会首先在当前目录下搜索first和second,没有找到才会去python的路径中去找。...13. python3引入抽象基类 Abstract Base Classes, ABCs 14....,urllib和urllib2,是爬虫经常用的模块,py3中统一到了urllib中。
Windows 下python3和python2 我们该怎么同时安装python3跟python2呢 1、下载python3和python2安装 进入python官网,链接[https://www.python.org...至此,python2和python3安装完毕。...注意:python3安装时可以选择自动添加到系统环境变量,如未选择,方法和python2添加过程相同。...2、修改python.exe名字为python2.exe和python3.exe 找到python2和python3的安装目录,修改python2.7.9和python3.5.2中python.exe和...然后在运行cmd命令,输入python2即可运行python2.7.9版本 输入python3即可运行python3.5.2版本 3、pip2 和 pip3设置 Python 安装包需要用到包管理工具pip
在终端分别输入python,python2,python3 python和python2默认都是python2 python3才是python3 ? ?...Ubuntu下是默认没有pip的,需要自己手动安装 sudo apt install python-pip #安装python2的pip sudo apt install python3-pip...# 安装python3的pip pip list #查看python2下的pip安装包 pip3 list #查看python3下pip安装包 ?
2 和 3 到底有什么区别? 不过大部分语法是没有什么差别的。下面就简单来看看有哪一些常用以及主要的变化。 ---- ?...---- Print 「Print」在 Python2 里面有好几种用法,但是在后者里面用print()函数取代了。其他的用法都会标红。...---- Xrang 「 Xrang」这个可以说在 Python2 里面是一个神器,但是 Python3 里面没有了,已经取消了,如果还是像前者那么去使用的话,一样标红。...---- 除法「/」 还有一个常用的除法「/」,在 Python2 和其他的编程语言差不过,都是整除的意思。但是 python3 的用法就有变化了,和实际的除法类似,结果直接转化为浮点数。...---- 其他 其他的暂时没有考虑到,常用也就这么几个,可以自己去发掘和验证。最后在提一下,公众号留了 Python3的自学材料,感兴趣的话,可以公众号回复「python」即可获得一份材料。
给出明确回复 python2在2020将光荣退役 可以怀念,但请拥抱python3吧 python2和python3的差异 这里小说(粗浅,小范围)下当前我个人碰到的和觉得常用的一些东西 在python2...和python3中的差异 print python2 是个 语句 python3 是个 函数 这样的话一些链式操作或是语句构建就成为可能 Unicode编码 python2中中国程序员困扰的编码问题,...err_inform: 4 print('error') 异常对象 map python2 返回的是 list python3 返回的是 iterator range和xrange python2...python2 VS python3 当前这种情况下,视乎不存在争端和纠结了 对于还未接触过python的同学,建议不要理会python2了,直接拥抱python3 对于有经验的python2的同学,...不是非python2不可,也建议拥抱python3吧 python官方也给出了很多使用python3的原因和从python2过度到python3有效的建议 具体请看如下链接 http://python3statement.org
Python2和Python3之间的差异 python2和python3默认编码方式不同 python2的默认编码方式是ASCII,而python3的默认编码方式是Unicode,因此我们在python2...---- input和raw_input 在python2中提供了raw_input和input两个函数,而在python3中的input函数是raw_input函数的重命名,在python3中没有了raw_input.../input_python2.py 请输入内容:1+2 3 预期的输出结果应该是1+2,而不是实际输出的3,这是因为input函数把输入当做python代码给执行了,然后将执行结果赋值给了data变量.../input_python2.py 请输入内容:1+2 1+2 python3的input 如前所述,python3的input就是python2的raw_input函数的重命名。...因此它的功能和python2的raw_input是一模一样。
python网页抓取功能非常强大,使用urllib或者urllib2可以很轻松的抓取网页内容。但是很多时候我们要注意,可能很多网站都设置了防采集功能,不是那么轻松就能抓取到想要的内容。...今天我来分享下载python2和python3中都是如何来模拟浏览器来跳过屏蔽进行抓取的。 最基础的抓取: #!...com" html = urllib.request.urlopen(url).read() print(html) 但是...有些网站不能抓取,进行了防采集设置,所以我们要变换一下方法 python2中...', 'Connection':'close', 'Referer':None #注意如果依然不能抓取的话,这里可以设置抓取网站的host } req_timeout = 5 req = urllib2....) python3中(最新稳定版本python3.3) #!
python应用程序目录:/usr/local/bin/python3.4 pip3的执行文件:/usr/local/bin/pip3.4
) 34707248 id("abc") 34707248 s is s1 True 变量赋值 a = b = c = 3 a,b,c (3, 3, 3) a,b,c = 1,2,3...a,b,c (1, 2, 3) 变量特性 变量可以重新赋值,变量保存的是值的引用,即值在内存中的地址,当变量被重新赋值后变量指向的地址就会变;会指向一个新的对象; a = 5 id(...temp = a a = b b = temp a,b (2, 1) 查看保留字,关键字模块keyword import keyword print(keyword.kwlist) [...a = 3\ ... +3 a 判断字符类型 isinstance(s,str) True isinstance(s,(str,bytes)) True help 和...dir 命令 help可以查看对象的使用方法 dir 可以查看模块或对象包含的属性和方法 python3中的数据类型 Numbers 数字 ,python3中没有long --int --float
python3中的filter与python2中的是不一样的 其中,在python2中 filter(function, iterable) filter返回的是一个list,可以直接使用它 #...在python2中 q = filter(lambda x:x%2 == 0, range(1,10)) print(q) #输出:「 2,4,6,8」 然而在python3中就不一样了; filter...而是一个filter对象 结果是: 应该将filter转换成list,如下: q = list(filter(lambda x:x%2
领取专属 10元无门槛券
手把手带您无忧上云