自学Python--历史

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41402059/article/details/81877473

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表示假。

猜你喜欢

转载自blog.csdn.net/weixin_41402059/article/details/81877473