Python的核心数据类型
数字(整形,浮点型,复数,布尔型) 字符串 str 列表 list .......
数字
整数型 int
整数型是不带小数部分的数据,包括自然数,0,负数 如:-5,0,1,100....
整形字面值的表示方式
十进制表示 10,200,-100.....
八进制表示 (0o开头,后跟0~7)
0o11 (9)
0o177 (127)
十六进制表示 (0x开头,后跟0~9,A-F或a-f)
注:a表示10,b表示11, ....f表示15
0x11 (17)
0xFF (255)
二进制表示(0b开头,后跟0~1)
0b111 (7)
0b1000 (8)
浮点型:float
浮点类型是带有小数部分的数字(小数部分可以为0)
浮点类型的两种表示方法:
小数型
3.14 2.1 1.00 5.0 ...
科学计数法
格式:小数e/E(正负号)指数
如:6.18E-1(等同于0.618)
2.9979e8 (等同于299790000)
复数:complex
分为两部分:
实部(real)
虚部(image)
注:虚部是以j或J结尾的
复数的字面值表示
1j、(2J)、1+1J、1-1j
布尔型数 bool
用来表示真和假两种状态类型
True 表示真(条件满足可成立)
False表示假(条件不满足或不成立)
说明:
True的值是1
False的值是0
空值 None
None是一个表示不存在的特殊对象
作用:
用来占位
变量解除绑定
表达式和运算符
表达式 expression
由一个数字或数字和运算符组成
作用:
通常让计算机做一些事情并返回结果
如:
1+2*3-4
*算数运算符*
+ 加法
- 减法
* 乘法
/ 除法 得到的是浮点类型,不会丢弃小数部分
1/3=0.333333333333
8/4=2.0
// 地板除 floordiv
除的结果去掉小数部分向下取整
7//3=2。
% 取余
7%3=1 3.25%1.5=0.25
** 幂运算
格式:x ** y
意为x的y次方
2**2=4
**复合赋值算术运算符**
运算符 说明
y += x 作用等同于y=y+x
y -= x 作用等同于y=y-x
y *= x 作用等同于y=y*x
y /= x 作用等同于y=y/x
y //= x 作用等同于y=y//x
y %= x 作用等同于y=y%x
y **= x 作用等同于y=y**x
**比较运算符**
< 小于
<= 小于等于
>= 大于
>= 大于等于
== 等于
!= 不等于
语法:
左表达式>右表达式
说明:
比较运算符通常返回布尔类型的值
示例:
100 < 200 #True
100>=200 #False
布尔运算
运算符:
not and or
布尔非操作 not
语法:
not x
作用:
对x进行布尔取非,如 bool(x)
为True,则返回False,否则返回True
示例:
not True # 返回False
not False # 返回True
布尔与操作 and
语法:
x and y
注:x,y代表表达式
作用:
优先返回假值对象
当x的布尔值为False时,返回x,否则返回y
示例:
True and True #True
True and False # False
False and True # False
False and False # False
布尔或操作 or
语法:
x or y
注:x,y代表表达式
作用:
优先返回真值对象
当x的布尔值为True时,返回x,否则返回y
示例:
True or True #True
True or False # True
False or True # True
False or False # False
空字符串 布尔值为False
“ ” or 0
(False) (False)
正负号运算符
+(正号) -(负号)
一元运算符
语法:
+表达式
-表达式
示例:
a = 5
b = -a
c = +a
数值对象的构造(创建)函数
Float(obj)
用字符串或数字转换为浮点数,如果不给出参数,则返回0.0
int(x,base=10)或int(x=0)
用数字或字符串转换为整数,如果不给出参数则返回0,base为进制转换的底数
Complex(r=0.0,i=0.0)用数字创建一个复数(实部为r,虚部为i)
bool(x)用x创建一个布尔值(True/False)
Bool(x)返回假值的情况
Bool(x)用于显示获取x的布尔值
假值情况:
None 空置
False 布尔假值
0 0.0 0j 所有数字零
运算符的优先级
** 优先
* / // % 其次
+ - 最后
1+3*3**2+4//2
1+3*9+4//2
1+27+4//2
1+27+2
28+2
30
括号分组子表达式
用()可以将表达式分组,()内部的表达式先进性运算
练习:
1、用交互模式:
1)一个西瓜7元一个,带20元能卖几个西瓜,找零多少?
2)一个大学生毕业薪资10000元,每年涨20%,十年后他的薪资是多少
10000*1.2**1.2
混合类型自动升级
1+2.14返回值类型为浮点型3.14
基本输出函数:print
格式:print(1,2,3)
Print(“这是一行文字”)
变量
什么是变量?
变量是关联一个对象的标识符
变量可以绑定一个对象,并可以通过变量名来使用这个对象
标识符的命名方法:
标识符必须以字母或下划线开头,后跟字母或下划线或数字
说明:
不能使用Python的关键字做变量名
Python变量名区分大小写
合法的变量名:
a a1 bbb _a _AABB var a1b2
不合法变量名:
1a 123 $ABC +a -b
赋值语句
语法:
变量名=表达式
或
变量名1=变量名2=变量名3=表达式
a=b=c=d=1000
或
变量名1,变量名2,变量名3,. . . = 序列
x , y=300 , 400 #x绑定300,y绑定400
作用:
创建一个变量或修改一个人变量的绑定对象
说明:
当变量不存在时,创建该变量,同时将变量绑定在这个对象上
当变量存在时,改变此变量的绑定对象
一个变量只能绑定一个对象
两个变量可以同时绑定在同一个对象上
Python中自动化存储器管理(重点)
a=10000
B=20000
a=a + b # 发生了什么事?
c = a # 发生了什么事?
a和c同时绑定在30000这个对象上
Python中 关联/绑定/引用的含义
在Python中,变量没有类型
关联/绑定/引用都是指一个变量和一个对象的关联关系
练习:
1、指定一个半径r = 3厘米的圆
1)计算圆的周长是多少厘米
2)计算圆的面积是多少平方厘米
2、已知有两个变量
a 绑定 10000
B 绑定20000
问:
在不创建任何新对象的情况下,如何让a和b交换绑定的对象
答:
方法一:
a = 10000
B = 20000
t = a #创建临时变量来帮定10000
a = b
b = t
print('a=',a) # 20000
print('b=',b) # 10000
方法二:
a=10000
b=20000
a,b=b,a # 序列赋值
print('a=',a) # 20000
print('b=',b) # 10000
在交互模式下查看当前作用域内的所有变量
help(“_ main _”)
退出键 q
注:help函数用来查看帮助或运行时信息
del语句(delete简写)
用于删除变量,同时解除此变量与对象之间的绑定关系
如果可能释放对象
语法:
del 变量名
自动化存储器管理和引用计数
每个对象会记录有几个变量引用自身,当引用的数量为0时此对象被销毁,此种自动化存储器管理的方式叫引用计数
a = 10000
b = 20000
a = b # 释放10000 同时a绑定在20000上
运算符
is/is not
作用:判断两个对象是否是同一个对象,当是同一个对象是返回True否则返回False
is not 的作用与is相反
语法:
x is y
x is not y
小整数对象池
Cpython 中 整数-5至256永远存在于小整数对象池中,不会释放并可重复使用
id(x)函数
作用:返回一个对象在内存中的地址