目录
1.Linux脚本的申明
如果使用该申明:#!/usr/bin/ python 代表是系统自带的python.2.7来解释你的脚本。如果你安装一个高版本 是在usr/local/python3.5目录下,由于一般情况下不可以替换系统自带的Python怕发生其他问题。
所以我们写脚本的时候用该申明:#!/usr/bin/env python这样解析该脚本的就是高版本(加上解析申明就代表文件本身只要具备执行权限也可以直接执行)
2.字符串和2进制
Python2的字符串和二进制是自动互相转换,
Python3需要进行encode才可以把字符串转换成二进制类型(bytes),二进制需要进行decode才可以转成字符串类型(str)
3.请求输入(标准输入)的区别
print('Hi, %s!' %input('Please enter your name: ')) python3.*版本用input
print('Hi, %s!' %raw_input('Please enter your name: ')) #python2.*版本用raw_input
4.字符集的区别
python3:python 3统程序默认和文件编码是unicode字符集不管是GBK 还是utf-8最终要显示中文就必须要解码unicode字符集才可以显示 (一个文本内容统一显示某一字符集显示,如果存在其他字符集需转换否则以bytes类型显示)
python2:python2:统程序默认和文件编码是ascii字符集脚本需要声明字符集如:-*- coding:utf-8 -*- or -*- coding:gbk -*-.一个文件包含gbk utf-8的字符集,只需要切换会话窗口对应的字符集就可以显示 如:会话窗口是GBK ,那么utf-8的字符集就会出现乱码,如会话串口是utf-8,那么其他字符集就会出现乱码或者空
5.提示输入
Python2:raw_input
Python3:input
5.类的区别查找方式
py2经典类是按深度优先来继承的,新式类是按广度优先继承的
py3全是按广度优先继承
6.socket区别
python 2
1.增加脚本申明:-*-coding:utf-8-*-
2.server.listen()#监听端口 ==== server.listen(5): 监听一定要写数量否则出错
发送数据无需转换数据类型
Python3
所有数据必须要.encode(‘utf-8’) 编码成bytes类型才可进行发送数据和接收数据
然后在本地如果要查看恢复就.decode(‘utf-8’)解码就可以了