1.1 数据类型概念:按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分成如下结构:
1.2 常量
1.2.1概念:在程序运行过程中,值不会发生变化的量,一般通过人工初始化或键盘输入实现。
1.2.2.整数(int)
十进制:数字,正负号组成,位数任意,如:123 0 -2020,注意:python3可以使用下划线对数字常量进行分割,以便阅读记忆
a=21_47_48_36_47
b=123
c=0
d=-2020
print(a)
八进制:以0o或0O开头,后跟上八进制数字(0-7),如:0o12 0o777 0o789错误
python2中八进制是以0开头
注意:可以调用oct()方法输出八进制
a=15
a
oct(a)
十六进制:以0x或0x开头后跟十进制数字(0-9,A-F或a-f),如:0xFFFF 0x25 0x25 0xAA -0x456,可以调用hex()方法,输出十六进制:
a=15
a
hex(a)
二进制:以0b或者0x开头后跟0和1,逢二进一,如:0b1111 0B1001,可以调用bin()方法输出二进制:
a=0b1111
a
bin(a)
1.2.3.浮点数(float)
小数表示法:由符号,数字和小数点组成(注意:必须有小数点)。如:-2.5,3.0,15. , .34
科学计数法:又称指数法。由符号,尾数(整数或者小数),阶码标示(E或e),阶符和整数阶码组成,格式:xey:
原则:E后必须为整数
XY一个不能少
E前后不能有空格
如: -2.5E-3 ,3e5 ,34E-3 ,-2.5E-3表示-2.5*10^-3
注意:浮点数运算可能出现小数位不确定情况,如: 0.1+0.1为0.2,但是0.1+0.2为0.30000000000000004,这是浮点数转换为二进制会有误差导致,尽量避免浮点数的比较,如:
if 0.1+0.1 ==0.8:
print("yes")
else:
print("no")
1.2.4:布尔类型(bool)
作用:用于表示真与假,本质为数学类型
组成:True和False
True及False第一个字母大写
True表示1,False表示0、,可以进行数学运算,如False+1--->1 True+1---->2,但不建议执行运算
python2中无此类型,是使用1和0表示的
1.2.5.字符串
本质:python的字符串是一种序列,其本质为字符串的首地址,是一种抽象概念,其值不可以改变。
定界符:'单引号' "双引号" 三引号
例:'china' "china" """china"""
定界字符的首尾必须相同,如:'chain''错误,'' ti's正确
三引号可以分布多行,如:
'''china
china
china'''
1.2.6.转义字符
作用:以反斜杠(\)开头的特定字符序列,表示有特殊功能字符
python3中,所有的字符串都是Unicode字符串即16位存储,python2普通串是8位的ASCALL码。
python3中没有字符概念,字符实质位长度1的字符串
你能看出下列代码输出结果吗?
print('\100,\x40')
print("a\bi\'in\bovi\be\'\\\byou\'\n")
//结果:
@,@
i'iove'you'
转移字符功能失效:使得转移字符功能失效,原样输出,在字符串定界符前增加r或R
print(r"c:\windows\new")
注意:绝对路径若放在代码中,可以使用r使\失去作用,也可以写成(\)
print("c:\\windows\\new")
1.3.变量
1.3.1 变量名
变量名又称为标识符,用于标识变量空间,函数,类型的名称。
组成:字母,下划线,数字组成,不能以数字开头,如:name mde_12 $money 3word(错误)
注意字母区分大小写
变量名不能使用python保留字(关键字),常见关键字显示方法:交互式控制台中输入:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>>
python中以下划线开头的标识符有特殊意义,一般避免使用相似的表示符,如:
单下划线开头,如width(表示不能直接访问的类属性)
双下划线开头,如add(表示类的私有成员)
双下划线卡头和结尾,如init_()(表示构造函数)
python支持汉字作为变量名,但不推荐,如:中国="china" print(中国)
1.3.2.变量定义
格式:变量名=value (=念做赋值,不是等于)
python中的变量不需要声明类型
a=4
b="china"
c=[]
d=95
e=a+b #由右向左运算
新的变量通过赋值动作,开辟内存空间,保存值,如果没有赋值而是直接使用会抛出异常
x #一个x变量没有赋值,啥也不是
#结果
Traceback (most recent call last):
File "D:/pythoncode/第二遍python/demo3.py", line 104, in <module>
x
NameError: name 'x' is not defined
变量类型是通过赋值动态变化的:
number=2048
print(type(number))
number ='china'
print(type(number))
下列语句区别:
a=b=c=1
a,b,c=1,2,3
1.3.3.变量是什么?
python中一切都是对象,变量是对象的引用!
对象是分配的一块内存空间,拥有特定的值,支持特定类型的操作,是一种容器
对象是一个系统表的元素,拥有指向对象的连接空间,可以理解为一种标签或者名字
a=2,系统执行2步,建立一个对象空间存储2,将a标签贴到存储2的对象上进行绑定
a=10,表示将标签a从存储2的对象上撕下来,贴到存储10的对象上。
b=a,表示对象10贴了2个标签a和b
a=b=1024
print(id(a),id(b))
a=2048
print(id(a),id(b))
可以使用del 变量名的方式删除变量的引用
a=b=1024
del a,b
print(c)
1.3.4.整型变量对象占用字节数