python3和python2的区别

进入不同语言版本的Python交互环境

py -2

py -3

pip 命令的执行 :

py -2 -m pip install xxxx

py -3 -m pip install xxxx

pip3 install nose 这个也可以

执行python文件

py -2 a.py

py -3 a.py

也可以进入到python3.6的安装目录

把python.exe 修改为python3.exe

在环境变量里面加入这个Python3.6的路径

Python3改变的点:

Print重大变化,print 后加括号

D:\test\pytyon3>py -3

Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> print ("hello")

hello

>>> print ("hello",end="")

hello>>>

print ("hello",end=""),没有end默认以回车结尾,end表示以什么结尾,就不是以回车结尾了,

python3里没有xrange了,只有range,会生成一个迭代器,相当于python2的xrange

>>> range(1,10)

range(1, 10)

>>> list(range(1,10))

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>>

>>> for i in range(1,10,2):

...     print (i)

...

1

3

5

7

9

a=iter(range(10))生成一个迭代器,用next(a)访问

>>> a=iter(range(10))

>>> next(a)

0

>>> next(a)

1

>>> next(a)

2

str类型-重大变化

>>> s="s"

>>> type(s)

<class ‘str‘>

>>>

python3:str类型---》相当于py2的unicode类型

str类型encode之后变为了bytes类型---》相当于python2的str类型

>>> s="s"

>>> type(s)

<class ‘str‘>

>>> type(s.encode(‘utf-8‘))

<class ‘bytes‘>

>>> s="我们"

>>> print (s)

我们

>>> print (s.encode("gbk"))

b‘\xce\xd2\xc3\xc7‘

>>> print (s.encode("gbk").decode("gbk"))

我们

Python3下即使encode成gbk-和cmd默认编码格式一样,也不能显示,因为encode后是bytes类型,要在unicode格式下才可以显示

Python3默认是unicode类型

读文件:可以执行编码格式

fp=open("d:\\a.txt","r",encoding="utf-8")

>>> fp=open("d:\\a.txt","r",encoding="utf-8")

>>> fp.read()

‘\ufeff光荣之路学习,\n夏晓旭\n嘻嘻嘻嘻 ‘

With open

>>> with open("d:\\a.txt","r",encoding="utf-8") as fp:

...     print (fp.read())

...

光荣之路学习,

夏晓旭

嘻嘻嘻嘻

>>>

Python3 MySQL安装

pip3 install PyMySQL

import pymysql

# 打开数据库连接

db = pymysql.connect("localhost","testuser","test123","TESTDB" )

# 使用 cursor() 方法创建一个游标对象 cursor

cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询

cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.

data = cursor.fetchone()

print ("Database version : %s " % data)

# 关闭数据库连接

db.close()

pickle序列化

pickle可以把变量的放在文本里,下次打开时可以从文本里取

import pickle

21:40 听反序列化

data2 = [1,2,3,4]

det_str = pickle.dumps(data2)

print(det_str)

pickle参考博客

https://www.cnblogs.com/zhangxinqi/p/8034380.html

thread改成了threading

thread 模块已被废弃。用户可以使用 threading 模块代替。所以,在 Python3 中不能再使用"thread" 模块。为了兼容性,Python3 将 thread 重命名为 "_thread"。

Import queue,首字母不能大写

>>> import queue

>>> import Queue

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ModuleNotFoundError: No module named ‘Queue‘

>>> queue.Queue(10)

<queue.Queue object at 0x000001C4882AE860>

>>> q=queue.Queue(10)

>>> q.put(0)

>>> q.get()

0

想要用时间字符串中加中文,需要引入locale的包

>>> import time

>>> import locale

>>> locale.setlocale(locale.LC_CTYPE, ‘chinese‘)

‘Chinese_China.936‘

>>> print(time.strftime(‘%Y年%m月%d日‘))

2018年08月16日

写文件时需要注意:不能用encode之类的

写文件后返回一个写入的字节数

>>> with open("e:\\x.txt","w",encoding="utf-8") as fp:

...     fp.write("我们\n你们\n")

...

6

>>>

>>> with open("d:\\a.txt","w",encoding="utf-8") as fp:

...     fp.write("我们")

...

2

Python3里没有cmp函数了

原文地址:https://www.cnblogs.com/xiaxiaoxu/p/9529025.html

时间: 2024-11-11 03:51:42

python3和python2的区别的相关文章

python3和Python2的区别(被坑太久了)

print函数:(Python3中print为一个函数,必须用括号括起来:Python2中print为class) Python 2 的 print 声明已经被 print() 函数取代了,这意味着我们必须包装我们想打印在小括号中的对象. Python 2 1 2 3 4 print 'Python', python_version() print 'Hello, World!' print('Hello, World!') print "text", ; print 'print m

Python3和Python2的区别 持续更新

Python2: 重复代码 语言不统一 不支持中文 input() 输入数字获取数字    输入字符串必须自己手动写引号 raw_input 和Python3中的input一样 在Python2中print可以括号  也可以不加括号 在Python2中除法得到的是整型 在Python2中默认编码是 ascii码 python2中数字过长输出会出现长整形long Python3: 代码不重复 语言统一 支持中文 input() print()必须加括号 在Python2中除法得到的是浮点型 Pyt

Python2和Python3的一些语法区别

Python2和Python3的一些语法区别 python Python2和Python3的一些语法区别 1.print 2.input 3. python3版本相对2版本的部分其他区别 问题:为何会出现乱码的情况 问题:如何获取编码方式的信息? 问题:在控制台上看到的到底是什么? 1.print 在版本2的使用方法是: print 'this is version 2 也可以是 print('this is version 2') 但到了3,就只能加上括号,像一个函数一样来使用 print:

python3 与 python2 的多版本共存(Linux)

python3已经出来有些许时候了,python3相比python2进行了大量的改进,包括语法,新的功能,还有优化.虽然很多库已经同时支持 python2和python3了,但是有些库仍然没有很好的支持python3,因此有时我们还是需要使用python2. 博主是在去年开始学python的,作为没有历史包袱的初学者,当时自然而然的选则了python3来进行学习,但是在安装了新的python3后,新安装的python3不可避免的与系统自带的python2产生了一些冲突.包括不同版本的调用,不同版

Win10下python3和python2同时安装并解决pip共存问题

特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 使用python开发,环境有Python2和 python3 两种,有时候需要两种环境切换使用,下面提供详细教程一份. 1.下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的python版本 本文选择的是: Python3.5.2,点击后面链接可直接下载,http

一、Windows10下python3和python2同时安装

python2.exe.python3.exe和pip2.pip3设置 说明:安装安装python3和python2请参考本系列教程(一) 1.添加python2到系统环境变量 打开,控制面板\系统和安全\系统,选择高级系统设置,环境变量,选择Path,点击编辑,新建,分别添加D:\Python\python27和D:\Python\python27\Scripts到环境变量. 注意:python3安装时可以选择自动添加到系统环境变量,如未选择,方法和python2添加过程相同. 2.修改pyt

Windows7 下python3和python2同时 安装python3和python2

1.下载python3和python2 进入python官网,链接https://www.python.org/ 选择Downloads--->Windows,点击进入就可以看到寻找想要的python版本 本文选择的是: Python3.5.2,点击后面链接可直接下载,https://www.python.org/ftp/python/3.5.2/python-3.5.2rc1-amd64.exe Python2.7.9, 点击后面链接可直接下载,https://www.python.org/f

python3与python2编码导致 hmac.new/base64.b64encode(&#39;value&#39;) python3各种报错

python3编码的请查看这篇文章:https://www.cnblogs.com/575dsj/p/7112767.html 第一次:python3传的是bytes不能是str.好吧,认了.我就传bytes吧 b= hmac.new('/admindevice/GetCameraSetting','adbaskjclas',sha1).hexdigest()print(b) ------------------------------------------------------------

CentOS7下安装Python3和Python2并存

(一)简述刚安装的centos7.4版本默认是安装Python2.7,由于一些命令需要使用的原因,比如yum等,使用的是2.7.5版本的,由于现在很多库包括django都是使用Python3,因此,有这样的需求:yum使用python2.7版本,django和其他的使用默认的python3版本. (二)查看并备份python2相关信息1,使用python -V 可以查看默认的版本信息. [[email protected] ~]# python -V Python 2.7.5 2,然后使用whi