python是什么意思眼睛疼 老眨(python2和python3的区别)
本文目录
- python2和python3的区别
- python数据分析要学哪些东西
- 不懂英文可以学python吗
- 现在python前景怎么样,学习完就业怎么样
- 如何使用python和opencv实现人眼识别
- Python问题
python2和python3的区别
你应该是刚接触Python吧,建议直接学Python3.x
下面是Python2.x与3.x版本区别:
Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。
为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。
许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。
为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。
新的Python程式建议使用Python 3.0版本的语法。
除非执行环境无法安装Python 3.0或者程式本身使用了不支援Python 3.0的第三方库。目前不支援Python 3.0的第三方库有Twisted, py2exe, PIL等。
大多数第三方库都正在努力地相容Python 3.0版本。即使无法立即使用Python 3.0,也建议编写相容Python 3.0版本的程式,然后使用Python 2.6, Python 2.7来执行。
Python 3.0的变化主要在以下几个方面:
1.print 函数
print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的:
print "fish"print ("fish") #注意print后面有个空格print("fish") #print()不能带有任何其它参数
然而,Python 2.6实际已经支持新的print()语法:
from __future__ import print_functionprint("fish", "panda", sep=’, ’)
2.Unicode(这是一个极其好的改进)
Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。
现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。
由于 Python3.X 源码文件默认使用utf-8编码,这就使得以下代码是合法的:
》》》 中国 = ’china’ 》》》print(中国) china
Python 2.x
》》》 str = "我爱北京天安门"》》》 str’\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8’》》》 str = u"我爱北京天安门"》》》 stru’\u6211\u7231\u5317\u4eac\u5929\u5b89\u95e8’
Python 3.x
》》》 str = "我爱北京"》》》 str’我爱北京’
3.除法运算
Python中的除法较其它语言显得非常高端,有套很复杂的规则。Python中的除法有两个运算符,/和//
首先来说/除法:
在python 2.x中/除法就跟我们熟悉的大多数语言,比如Java啊C啊差不多,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。
在python 3.x中/除法不再这么做了,对于整数之间的相除,结果也会是浮点数。
Python 2.x:
》》》 1 / 20》》》 1.0 / 2.00.5
Python 3.x:
》》》 1/20.5
注意的是并不是舍弃小数部分,而是执行floor操作,如果要截取小数部分,那么需要使用math模块的trunc函数
python 3.x:
》》》 import math》》》 math.trunc(1 / 2)0》》》 math.trunc(-1 / 2)0
4.异常
在 Python 3 中处理异常也轻微的改变了,在 Python 3 中我们现在使用 as 作为关键词。
捕获异常的语法由 except exc, var 改为 except exc as var。
使用语法except (exc1, exc2) as var可以同时捕获多种类别的异常。 Python 2.6已经支持这两种语法。
1. 在2.x时代,所有类型的对象都是可以被直接抛出的,在3.x时代,只有继承自BaseException的对象才可以被抛出。
2. 2.x raise语句使用逗号将抛出对象类型和参数分开,3.x取消了这种奇葩的写法,直接调用构造函数抛出对象即可。
在2.x时代,异常在代码中除了表示程序错误,还经常做一些普通控制结构应该做的事情,在3.x中可以看出,设计者让异常变的更加专一,只有在错误发生的情况才能去用异常捕获语句来处理。
5.xrange
在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。
这个表现十分像生成器(比如。"惰性求值")。但是这个 xrange-iterable 是无穷的,意味着你可以无限遍历。
由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange() 函数 比 range() 更快(比如 for 循环)。尽管如此,对比迭代一次,不建议你重复迭代多次,因为生成器每次都从头开始。
在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange() 会抛出命名异常)。
import timeitn = 10000def test_range(n): return for i in range(n): passdef test_xrange(n): for i in xrange(n): pass
Python 2
print ’Python’, python_version()print ’\ntiming range()’ %timeit test_range(n)print ’\n\ntiming xrange()’ %timeit test_xrange(n)Python 2.7.6timing range()1000 loops, best of 3: 433 µs per looptiming xrange()1000 loops, best of 3: 350 µs per loop
Python 3
print(’Python’, python_version())print(’\ntiming range()’)%timeit test_range(n)Python 3.4.1timing range()1000 loops, best of 3: 520 µs per loop
print(xrange(10))---------------------------------------------------------------------------NameError Traceback (most recent call last)《ipython-input-5-5d8f9b79ea70》 in 《module》()----》 1 print(xrange(10))NameError: name ’xrange’ is not defined
6.八进制字面量表示
八进制数必须写成0o777,原来的形式0777不能用了;二进制必须写成0b111。
新增了一个bin()函数用于将一个整数转换成二进制字串。 Python 2.6已经支持这两种语法。
在Python 3.x中,表示八进制字面量的方式只有一种,就是0o1000。
python 2.x
》》》 0o1000512》》》 01000512
python 3.x
》》》 01000 File "《stdin》", line 1 01000 ^SyntaxError: invalid token》》》 0o1000512
7.不等运算符
Python 2.x中不等于有两种写法 != 和 《》
Python 3.x中去掉了《》, 只有!=一种写法,还好,我从来没有使用《》的习惯
8.去掉了repr表达式``
Python 2.x 中反引号``相当于repr函数的作用
Python 3.x 中去掉了``这种写法,只允许使用repr函数,这样做的目的是为了使代码看上去更清晰么?不过我感觉用repr的机会很少,一般只在debug的时候才用,多数时候还是用str函数来用字符串描述对象。
def sendMail(from_: str, to: str, title: str, body: str) -》 bool: pass
9.多个模块被改名(根据PEP8)
StringIO模块现在被合并到新的io模组内。 new, md5, gopherlib等模块被删除。 Python 2.6已经支援新的io模组。
***隐藏网址***
取消了exec语句,只剩下exec()函数。 Python 2.6已经支援exec()函数。
10.数据类型
1)Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long
2)新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法如下:
》》》 b = b’china’ 》》》 type(b) 《type ’bytes’》
str对象和bytes对象可以使用.encode() (str -》 bytes) or .decode() (bytes -》 str)方法相互转化。
》》》 s = b.decode() 》》》 s ’china’ 》》》 b1 = s.encode() 》》》 b1 b’china’
3)dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有 dict.has_key(),用 in替代它吧 。
python数据分析要学哪些东西
python数据分析要学4点:
1、熟练地使用数据分析主流工具。
2、数据库、数据采集核心技能。
3、数据分析高级框架。
4、实际业务能力与商业分析。
自然智能,指人通过大脑的运算和决策产生有价值的行为。这些行为包括了人的大脑思考及决策、耳朵听力及判断、眼睛视觉及判断、鼻子嗅觉及判断、皮肤触觉及判断等,体现在人行为的方方面面。
人工智能是计算机科学的一个分支,它企图了解智能的本质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。
不懂英文可以学python吗
提到Python是编程语言,大家就会想编程语言肯定会涉及到的就是代码,很多人看到那满屏的英文字母就头疼,觉得自己不会英语,肯定学不好Python,但是不会英语到底能不能够学习Python呢,下面四川优就业小编给大家分析分析。其实各位想要学习Python的小伙伴,不必过多的担心自己的英语问题,因为Python的语法相对来说很简单,关键字相对较少,只有30个左右,还是比较简单的英语单词,所以不可能因为英语导致学不会Python,只要你想学,英语都绝不会是你Python学习道路上甚至是编程学习道路上的绊脚石。而且现在电脑上的在线翻译工具都可以拿来用,不会的单词不认识的代码可以随时查询,所以大家可以放心,Python不懂英语也能够学。但是学习Python英语还是需要重视起来,因为毕竟是变化才能语言,掌握一点英语,学习起来才不会那么吃力,所以如果你下定决心要学习Python,从事人工智能行业,可以抽空学习下基础的英语,英语其实并不难学,只需要多背单词,多读英文书就可以了,而且英语与编程语言也是相辅相成的,学会了Python对于你的英语也会有一定的帮助。当然,没有英语基础想学会Python的便捷途径就是报班,因为培训机构的面授课程主要是为零基础学员准备的,所以即使没有英语基础,但是有优秀的讲师、有效的学习方案你也可以很快学会Python。特别是对那些零基础但是思维能力强的人来说,求职想学Python开发,却不知道怎么才能真正入门?想通过学一门技术来获得一份理想工作,来优就业学习就对了。
现在python前景怎么样,学习完就业怎么样
Python正处于快速上升期,市场对于Python开发人才的需求量急剧增加,Python开发人才薪资待遇好。如需Python培训推荐选择【达内教育】,该机构为学员搭建快捷高效的双选绿色通道,在提升学员的面试能力、积累面试经验同时也帮助不同技术方向的达内学员快速就业。达内【Python人工智能课程】从0基础开始到项目实战,帮助学员一步步掌握最新的开发技术,从web前端、网站开发、运维测试、到人工智能、大数据等项目,让学员在就业时更具竞争力。达内的教学管理一直都是“军事化的管理,人性化的关怀”。所以完全不用担心学习氛围不好。每天上课的知识点都很多,如果不用时间去巩固加强,很容易跟不上进度。除了任课老师和技术辅导老师之外,每个班也配备了一名班主任老师,当学生面临学习之外的困难时,老师就充当了监护人的角色,毕业以后,还会有就业老师为学生的就业保驾护航。感兴趣的话点击此处,免费学习一下想了解更多有关学习Python前景的相关信息,推荐咨询【达内教育】。达内与阿里、Adobe、红帽、ORACLE、微软、美国计算机行业协会(CompTIA)、百度等国际知名厂商建立了项目合作关系。共同制定行业培训标准,为达内学员提供高端技术、所学课程受国际厂商认可,让达内学员更具国际化就业竞争力。达内IT培训机构,试听名额限时抢购。
如何使用python和opencv实现人眼识别
程序实现思路如下:
利用级联分类器检测出人脸区域,再在人脸区域中检测出眼睛的区域,检测出眼睛的区域之后,用跟踪算法咔嚓眼睛降低运算量,避免每一帧都去检测眼睛。
代码如下:
代码中用到的级联分类器初始化XML下载:
view plain copy
//OpenCV版本3.0.0
//交流QQ2487872782
2016-8-4注:很报歉,此代码目前不能公开发表在博客上,已经删除,希望大家能理解!
代码运行结果如下图所示:
上图表示偏头时程序会跟踪眼睛!
上图是有眼镜的情况!
上图是无眼镜的情况!
说明一下:这段代码只实现了一只眼睛的检测,如果要实现两只眼睛也不能,说下思路吧,上面代码中的eyes中还存储了第二只眼睛的区域哦!
-------------------------------------------欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782
Python问题
python的中文问题一直是困扰新手的头疼问题,Python的发行版至今尚未包括任何中文支持模块。当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题,不用我们这么麻烦了。 笔者使用的是2.5版本。Python的版本可以通过调用sys模块的sys.version查看。在几个月的学习中,主要遇到以下问题:1. print打印中文的问题:在器中输入一段测试代码:s=’测试’print s运行结果如下:Non-ASCII character ’\xb2’ in file c:\Documents and Settings\Administrator\桌面\2.py on line 1, but no encoding declared; see for details: 2.py, line 1, pos 0原因是如果文件里有非ASCII字符,需要指定编码声明。把2.py文件的编码重新改为utf-8,并加上编码声明:# -*- coding: utf-8 -*-s=’测试’print s运行后可以正确打印中文。2.中文路径的问题。在D盘下保存一个名字为‘中文.txt‘的文件。运行如下测试代码:# -*- coding: utf-8 -*-f=open(’D:\\中文.txt’, ’r’)print f.read()运行结果如下:IOError: No such file or directory: ’D:\\\xe4\xb8\xad\xe6\x96\x87.txt’字符串有很多的编码,不同的系统和平台有各自的编码 ,为了实现系统或平台之间的信息交互可能需要编码转换。这里只需要先使用UNICODE编码一下,这样再读取中文路径就不会有问题了: 复制代码# -*- coding: utf-8 -*-path=’D:\\中文.txt’spath=unicode(path , "utf8")f=open(spath,’r’)print f.read() 复制代码然后就可以正确显示文件内容总结:所有的中文显示问题都可以归结为编码问题,遇到其他类似的问题,那只能仔细看文档,靠你的经验,靠你多做测试。而且根据python所报出来的错误一般也可以判断出来。那么当发现需要编码转换时,剩下的就是如何正确进行码制转换。为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串。从那时起,Python语言中的字符串就分为两种:一种是2.0版之前就已经使用很久的传统Python字符串,一种则是新的Unicode字符串。在Python语言中,一般的解决办法是使用unicode()内建函数对一个传统Python字符串进行“解码”,得到一个Unicode字符串,然后又通过Unicode字符串的encode()方法对这个Unicode字符串进行“编码”,将其“编码”成为传统Python字符串。
本文相关文章:
python是什么意思眼睛疼 老眨(现在python前景怎么样,学习完就业怎么样)
2024年7月23日 02:57
python是什么意思眼睛疼 老眨(不懂英文可以学python吗)
2024年7月19日 08:48
更多文章:
thinkpad p70(thinkpad p70带色彩矫正器吗)
2024年7月9日 10:03