1、python历史:
宏观上python2与python3区别:
python2:源码不标准、混乱、重复代码太多
python3:统一标准、去掉重复代码
2、python的环境:
编译型:c、c++等,一次性将所有程序编译成二进制文件:开发效率低、不能跨平台、程序运行速度快
解释型:python、php等,当程序执行时,一行一行解释:开发效率高、跨平台、程序运行速度慢
python是动态解释型强类型语言
python优缺点:
优点:开发效率高、可移植、可扩展、可嵌入
缺点:速度慢、代码不能加密、线程不能利用多cpu
3、python种类(不同的解释器):
cpython:官网推荐,转换成C语言能识别的字节码,因此可以和C语言结合使用
jypython:转换成JAVA语言能识别的字节码,因此可以和JAVA语言结合使用
pypy:类似于编译型语言解释器,先编译后运行,因此运行速度快
4、Python2和Python3区别:
①Python2默认编码方式为ASCII、Python3默认编码方式为utf-8
解决方法:在代码首行加 # _*_ coding:utf-8 _*_
注:终端窗口默认编码是gbk,因此加上utf-8也会显示乱码
关于python2和python3编码区别:
在python中无论是python2还是python3,总体来说字符都只有两大类:
通用的Unicode字符和Unicode被编码后的字符如utf-8等字符
python2中字符类型:
str:已经编码后的字节序列
unicode:编码前的文本字符
python3中字符类型:
str:编码后的unicode字符
bytes:编码前的字节序列
我们可以认为字符串有两种状态,文本状态和字节(二进制)状态。
python2和python3中的两种字符类型都分别对应这两种状态,然后互相之间进行编解码转化。
编码就是将字符串转换成字节码,解码就是将字节码转换成字符串。
在python2中,str和unicode都有encode和decode方法
在python3中,str只有一个encode编码方法将字符串转换为字节码,bytes也只有一个decode解码方法将字节码转换为字符串
在python2中,普通的用引号括起来的就是str,此时字符串的编码类型就是python文件本身保存的编码类型;
在python3中,用引号括起来的字符串已经是unicode类型的str了
(编解码区别待补充)
已解决:https://blog.csdn.net/weixin_41402059/article/details/81879102
变量命名规范:数字、字母和下划线自由组合且不能以数字开头
例如:
t-t = 2 # 错
3t = 2 # 错
*r = 2 # 错
%w = 2 # 错
2w = 2 # 错
__ = 2 # 对
常量:
python实际没有常量,但约定常量全部用大写
注释:
#单行注释
#多行注释如下:
'''
a = 1
b = 2
'''
#或者
"""
a = 1
b = 2
"""
用户交互:
python2中有input()和raw_input()两种,raw_input将用户输入看作为字符串,input将用户输入看作表达式,如用户输入为纯数字时,获取到的数据类型为int
python3中取消了raw_input,只有input(相当于python2中的raw_input),将用户输入看作为字符串
# python2 用户输入为1时
a = input()
print(type(a)) # int
print(a) # 1
# python3 用户输入为1时
a = input()
print(type(a)) # str
print(a) # 1
# python2 用户输入为1+1时
a = input()
print(type(a)) # int
print(a) # 2
# python3 用户输入为1+1时
a = input()
print(type(a)) # str
print(a) # '1+1'
除数:
#整除
print(15/2) #7.5
#模糊除(取整)
print(15//2) #7
#取模(取余数)
print(15%2) #1
缩进:PEP8规定使用4个空格作为一个缩进
真假与01:
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
这一点与C类似,C语言也是非0表示真,0表示假。