Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python2和Python3之间的差异

Python2和Python3之间的差异

作者头像
zy010101
发布于 2021-10-09 04:01:25
发布于 2021-10-09 04:01:25
1.4K00
代码可运行
举报
文章被收录于专栏:程序员程序员
运行总次数:0
代码可运行

Python2和Python3之间的差异

python2和python3默认编码方式不同

python2的默认编码方式是ASCII,而python3的默认编码方式是Unicode,因此我们在python2的脚本开始处经常可以看到类似下面的一行注释

# coding:utf-8

这行注释告诉python解释器,编码方式是utf-8,当然这句话的形式可能有以下的几种方式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding:utf-8
# *-* coding:utf-8 *-*
# coding=utf-8

它们之间没有什么区别,不过第二行的书写方式使得标记看起来更加明显而已。

注意,指明编码方式是utf-8的这行仅在python文件的第一行或者第二行时生效。


input和raw_input

在python2中提供了raw_input和input两个函数,而在python3中的input函数是raw_input函数的重命名,在python3中没有了raw_input函数。

python2的input

在python2中input函数的输入被当做python代码,是可以直接执行的。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#! /usr/bin/env python2
# *-* coding:utf-8 *-*

data = input("请输入内容:")
print data

以下面的方式执行上面这段代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ./input_python2.py 
请输入内容:1+2
3

预期的输出结果应该是1+2,而不是实际输出的3,这是因为input函数把输入当做python代码给执行了,然后将执行结果赋值给了data变量。 由于该函数将输入当做python代码执行,因此该函数存在潜在的安全问题,如果输入是不可信的(一般而言,程序决不能相信用户的输入),那么在python2中请使用raw_input函数。

将上面代码中的input换成raw_input,执行效果如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
~/mypython$ ./input_python2.py 
请输入内容:1+2
1+2

python3的input

如前所述,python3的input就是python2的raw_input函数的重命名。因此它的功能和python2的raw_input是一模一样。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/09/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python2和Python3的区别和代码转换
很多人都比较关心python2.x和python3.x的区别,这件事聊起来就要从Python的历史说起来了,python是1989年开发出来了,到今天已经30多岁了。到现在有三个主要版本,几十个小版本。下面我们就简单介绍一下。
python自学网
2021/11/27
5740
Python2和Python3的区别和代码转换
Python3与Python2的具体区别
有赞的数据库管控平台是基于Python 2(py2)开发的,目前已经升级到python3(py3) 版本,主程序基于python 3.6.x。写本文是梳理一下 两个版本之间的语法,函数等差异。
用户1278550
2020/08/04
9040
[编程经验]python2和python3的区别总结
最近涨粉涨的厉害啊,那天看刚破800,今天打开又有32个新粉丝,有点开心,哈哈哈。说实话,看的人多的话,是我坚持下去最大的动力。。。 = = = print(" 我是分割线") = = = 1. print函数 在py2中print是一个语法结构,而在py3中print是一个函数, print(value, ..., sep=' ', end='\n',file=sys.stdout, flush=False) file可以是文件,也就是可以把打印的东西直接输出到文件,这个就很方便,我经常用。比如:
用户1622570
2018/04/11
1.1K0
简述Python2与Python3的区别
超出上述范围,python自动转化为long(长整型) 注:long(长整型)数字末尾有一个L
py3study
2020/01/16
6130
Python3与Python2的差异
基于python3浅谈python3与python2的差异。由于现今主流Python3,但是之前用Python2做的项目,还得维护,所以作为python工作者,不免要了解其中差异,其中,Python2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。而 Python3.X 源码文件默认使用utf-8编码,以及一个字节类:byte 和 bytearrays。这就使得以下代码是合法的:
AiDBA宝典
2022/02/22
4070
Python2和Python3的一些语法区别
Python2和Python3的一些语法区别 python 1.print 在版本2的使用方法是: print 'this is version 2 也可以是 print('this is version 2') 但到了3,就只能加上括号,像一个函数一样来使用 print: print('this is version 3') 2.input 2里面有两个用来从命令行接受输入的函数:input 和raw_input。 value = input() input接收的是一个值或变量,也就是说,你如果输
用户1214487
2018/01/23
1.4K0
Python2和Python3的一些语法区别
python2和python3的区别
1、不等于<>比较运算符,python3不识别,pyhon2.7中!=和<>都能运行。
狼啸风云
2020/01/14
9770
python语法基础
在python中,注释是以任何存在于#右侧的文字,其主要作用是写给程序读者看的笔记。
py3study
2020/01/02
2630
彻底搞懂 python 中文乱码问题
我们来说说 Python 中是如何存储字符的,先来看一个乱码的例子。新建一个 demo.py 文件,文件存储格式为utf-8文件中内容如下。
py3study
2020/01/07
11.8K0
Python2和Python3的区别,以及为什么选Python3的原因
任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~
全栈程序员站长
2022/06/27
1.1K0
Python2和Python3的区别,以及为什么选Python3的原因
Python的交互和注释介绍
如何能让Python识别读取用户的输入,就像windows安装程序那样傻瓜式的交互呢,下面我们简单介绍一下Python的交互输入输出。
后场技术
2020/09/03
5400
Python字符编码全解析
字符编码是计算机编程中不可回避的问题,不管你用 Python2 还是 Python3,亦或是 C++, Java 等,我都觉得非常有必要厘清计算机中的字符编码概念。本文主要分以下几个部分介绍: 基本概念 常见字符编码简介 Python 的默认编码 Python2 中的字符类型 UnicodeEncodeError & UnicodeDecodeError 根源 基本概念 字符(Character) 在电脑和电信领域中,字符是一个信息单位,它是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字
小小科
2018/05/04
1.4K0
Python字符编码全解析
1-python基础
​ 同一个变量a可以反复赋值,且可以是不同类型的变量. 这种变量本身类型不固定的语言称为动态语言, 比如python, javascript. 而与之相对应的静态语言,静态语言必须在定义的时候指定扁蕾类型,如果赋值时类型不匹配则会报错.
用户3106371
2018/09/12
1.1K0
1-python基础
笨办法学Python - 习题5: Mo
学习目标:了解用户输入方法,明白pthon2和Python3之间的用户输入的区别。了解格式化字符串(format string)的概念,学会如何创建包含变量内容的字符串。使用专门的格式和语法把变量的内容放到字符串里,然后进行格式化的打印输出。
py3study
2020/01/21
6750
python简单学-----------
2.对中文的支持 python2和python3不一样,python3默认支持,python2 需要加上
py3study
2020/01/20
8430
Python基础语法知识点汇集「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152646.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/12
5120
Python基础语法知识点汇集「建议收藏」
python字符串编码及乱码解决方案
http://blog.csdn.net/pipisorry/article/details/44136297
全栈程序员站长
2022/09/06
2.3K0
python字符串编码及乱码解决方案
python学习_1
1.python2和python3 从宏观上讲,python2源码不标准、混乱、重复,和龟叔的理念背道而驰。 在python3上,实现了源码的统一化和标准化,去除了重复的代码。 2.编译型语言和解释型语言 编译型:一次性将所有的程序编译成二进制文件。     优点——运行速度快     缺点——开发效率低,跨平台性较弱。 解释型:源码直接放在虚拟机上跑,一行一行进行执行。     优点——开发效率高,跨平台性较强。     缺点——运行速度相对编译型语言慢。 3.python在命令行上的运行 python
py3study
2020/01/17
4980
python技巧分享(十三)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 python2代码转换成python3代码 python2代码: #!/usr/bin/env pytho
俊采
2018/06/21
7580
Python3入门学习一.md
在Linux中安装Python3命令,在官网下载 https://www.python.org/downloads/source/
全栈工程师修炼指南
2020/10/23
1.4K0
Python3入门学习一.md
相关推荐
Python2和Python3的区别和代码转换
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验