Python笔记_第四篇_高阶编程_py2与py3的区别
1. 性能:
py3.x起始比py2.x效率低,但是py3.x现有极大的优化空间,效率正在追赶。
2. 编码:
py3.x原码文件默认使用的utf-8编码,使得变量名更为宽阔。
3. 语法:
* 去除了<>,改为 !=
* 加入了as和with关键字,还有True、False、None
* 整型触发返回浮点数,整除使用 //
* 键入nonlocal语句
* 除去了print语句,加入了print()函数
* 除去了raw_inpu,加入了input()函数
* 新的super(),可以不在用给()传参数了
* 改变了顺序操作符行为。例如:x<y,当x和y累心改不匹配时抛出TypeError错误而不是返回随机的bool值。
* 新式的八进制字变量
4. 字符串和字节串:
* py2:字符串以8bit字符串存储
* py3:字符串以16bit Unicode字符串存储,现在只有str一种类型。
5. 数据类型:
* py3除去了long类型,现在只有一种整型---int,但它的行为就像2.x版本的long
* py3新增byte类型,对应2.x版本八位串。str对象和byte对象可以用.encode()(str -> bytes) or .decode()(bytes -> str)方法相互转化。
6. 面向对象:
引用抽象基类
7. 异常:
* 所有异常从BaseException继承,并删除了StandardError。
* py2:except Exception,e:
* py3:except Exception as e:
8. 其他:
* xrange()改名为range(),想要使用range()获得list,必须显示调用。
* file类型被弃用:
py2:打开文件:file(path),open(path)
py3:打开文件:open(path)
* 很多三方库的使用方式略有改变。
Python笔记_第四篇_高阶编程_py2与py3的区别的更多相关文章
- Python笔记_第四篇_高阶编程_进程、线程、协程_5.GPU加速
Numba:高性能计算的高生产率 在这篇文章中,笔者将向你介绍一个来自Anaconda的Python编译器Numba,它可以在CUDA-capable GPU或多核cpu上编译Python代码.Pyt ...
- Python开发【第十三篇】高阶函数、递归函数、闭包
函数式编程是指用一系列函数解决问题 好处:用每个函数完成每个细小的功能,一系列函数任意组合能够解决大问题 函数仅仅接收输入并产生输出,不包含任何能影响输出的内部状态 函数之间的可重入性 当一个函数的输 ...
- python学习三十四天函数高阶函数定义及用法
python函数高阶函数是把函数当成一个变量,传递给函数作为参数,或者函数的返回值里面有函数,都称为高阶函数, 1,把函数作为参数传递 def dac(x,y): return x+y def tes ...
- Python笔记_第四篇_高阶编程_实例化方法、静态方法、类方法和属性方法概念的解析。
1.先叙述静态方法: 我们知道Python调用类的方法的时候都要进行一个实例化的处理.在面向对象中,一把存在静态类,静态方法,动态类.动态方法等乱七八糟的这么一些叫法.其实这些东西看起来抽象,但是很好 ...
- Python笔记_第四篇_高阶编程_魔法(术)方法详解(重载的再详解)
1. 魔法方法是什么? 魔法方法(Magic Method)是Python比较独特的应用,它可以给你的类增加特殊的方法,如果你的对象实现了(重载),这些方法中的某一个,就会被Python所调用.正如装 ...
- Python笔记_第四篇_高阶编程_再议装饰器和再议内置函数
1. 概述: 我们在前面用了很多的装饰器这个工具的方法.这个位置要系统的讲一下装饰器. 1.2 为什么需要装饰器. 装饰器本质是一个Python函数,它可以让其他函数在不需要任何代码变动的前提下增加额 ...
- Python笔记_第四篇_高阶编程_正则表达式_2.正则表达式入门
1. 匹配单个字符和数字: . --->> 匹配除换行符以外的任意字符.[0123456789] --->> []字符集合,表示匹配方括号中所包含的任意一个字符.[Thomas ...
- Python笔记_第四篇_高阶编程_GUI编程之Tkinter_3.数据显示
1. 表格数据显示: 图示: 实例: import tkinter from tkinter import ttk # 创建主窗口__编程头部 win = tkinter.Tk() # 设置标题 wi ...
- Python笔记_第四篇_高阶编程_进程、线程、协程_4.协程
1.协程的概念: 子程序或者子函数,在所有语言中都是层级调用,比如A调用B,再B执行的过程中又可以调用C,C执行完毕返回,B执行返回,最后是A执行完毕返回.是通过栈来实现的,一个线程就是执行一个自称, ...
随机推荐
- Web基础之Servlet
Servlet Servlet : server applet,直译服务小程序.那Servlet到底是什么呢? Servlet说白了其实就是一个接口,接口的作用是什么?规范呗,这个接口规定了下面三个问 ...
- Ubantu学习笔记3
修改PATH环境变量 ~/.profile --->(在文件最后一行添加) PATH="要增加的路径:$PATH" 或者 export 使用变量="调用参数&quo ...
- python 将数组中取某一值的元素全部替换为其他元素的方法
这里的问题是在做House Price Prediction的时候遇到的,尝试对GarageArea做log转化,但是由于有些房子没有车库,所以GarageArea = 0,再通过log转化变成-in ...
- C++基础--string转
有时候除了要将数值型转为string外,可能也需要将一些string转为数值型,这个时候也还是可以用sstream字符串流来实现,同时也可以用C++标准库得到函数来实现. 1.字符串流 这个时候使用i ...
- javascript面向对象编程的3种常见封装形式解析
javascript如何才能脱离函数式编程,拥抱面向对象编程呢,常见的有3种形式,其它形式可以说都是这3种的变种. 1.直接定义对象直接量的形式 var Util={ getType: ...
- SASS - 操作符
SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – 语法 SASS – 变量 SASS- 局部文件(Partial) SASS – 混合(Mixin) SASS ...
- springboot 潜入式web容器
普通servlet 容器 1.tomcat <dependency> <groupId>org.springframework.boot</groupId> < ...
- Tomcat解压版Windows配置(运行环境非开发环境)
tomcat官网下载的9.0.19,解压后目录如下: java官网下载的jre8 (8u131),目录如下(应该是下载的解压版): 打开tomcat9.0.19根目录下的RUNNING.txt,里面有 ...
- DQL多表查询
DQL多表查询 一.多表查询实现多个表之间查询数据 1.交叉连接笛卡尔积:A表中的每一行匹配B表中的每一行基本结构:select [数据库名1.]表名1,属性名1,......, [数据库名.]表名. ...
- 19 01 15 django 数据库设计模型 管理站点 注意:在引入外键在django 2以上改版
模型设计 我们之前操作数据库是通过写sql语句 ORM框架 可以通过不写sql 语句来进行操作数据库 1.定义模型类 模型类定义在models.py文件中,继承自models.Model类. ...