变量类型
- 严格意义上讲,python只有一个类型
- 标准数据类型六种
- 数字Number
- 字符串类型 str
- 列表 list
- 元组 tuple
- 字典 dict
- 集合 list
数字类型 Number
- python 中数字没有大小限制
常见数字分类
- 整数
- 没有小数部分
- 包含正数,复数,0
- 二进制
- 只有0,1
- 以0b开头的01串
- 例如:
- 0b110
- 0b1110
- 八进制
- 以0o开头的 0到7之间的数字串
- 例如:
- 0o71
- 十六进制
- 以0x组成的由0-9,a-f构成的串
- 例如:
- 0xffff
- 浮点数
- 科学记数法
- 复数
#二进制定义
a1 = 0b110
print(a1)
a2 = 0b1110
print(a2)
>>> 6
>>> 14
# 八进制的案例
a3=0o71
print(a3)
>>> 65535
#十六进制的案例
a4=0xffff
print(a4)
>>> 65535
浮点数
- 就是通过意义上的小数量
- 常见的案例格式
- 3.1415926
- 3.(3.0的缩写)
- .4(0.4的缩写)
- 科学记数法
- 定义跟数学一致
- 写法就是e后面跟整数用来表示10的指数
#科学记数法
height = 184
184
184.0
0.2
print(height)
height = 1.84e2
print(height)
a=.2
print(a)
>>> 184
>>> 184.0
>>> 0.2
复数 complex
- 跟数学定义一致
- 虚部用j/J表示
- 例如
- 5+4j
- 4j
- (4j)
a=4j
print(a)
>>> 4j
布尔值
- 布尔值就是用来表示真假的值
- 只有两个值:True/False
- 在python里面,布尔值可以当数字使用,True=1,False=0
- 如果数字当作布尔值来使用,0=False,其余都当作True
#布尔值当数字使用
age=18+True
print(age)
age=18+False
print(age)
#判断语句
a= -1
if a:
print('负数是True')
else:
print('复数是False')
>>> 19
>>> 18
>>> 负数是True
字符串
- 表达文字信息的内容,例如“我最帅”
- 形式上是引号引起来的一段内容
- 引号包括
- 单引号
- 双引号
- 三引号,可以用来表示多行信息
- 单双引号含义一致,只能引用一行
#字符串案例
str = 'i love you '
print(str)
str2="i am the unique"
print(str2)
#三引号可以表示多行
str3='''
我希望有个如你一般的人
如山间清爽的风
如古城温暖的光
从清晨到傍晚
由山野到书房
只要最后是你就好'''
print(str3)
>>> i love you
>>> i am the unique
>>>我希望有个如你一般的人
如山间清爽的风
如古城温暖的光
从清晨到傍晚
由山野到书房
只要最后是你就好
None类型
运算符
- 由一个以上的值经过一系列的运算得到新值的过程就叫运算
- 用来操作运算的符号叫做运算符
- 运算符分类
- 算数运算符
- 比较或者关系运算符
- 赋值运算符
- 逻辑运算符号
- 位运算
- 成员运算符
- 身份运算符
#表达式案例
a = 1 + 2
算数运算符
- 用来进行算术运算的符号
- 通常用来表示加减乘除运算
- python没有自增自减运算符
#算数运算符案例
#加减乘跟数学意义基本一致
a = 9 - 2
print(a)
b = 9 + 2
print(b)
c = 8 * 2
print(c)
#python 的除法分为普通除法,地板除,取余
#正常除法
#此操作在 python2.x和python3.x中有些不同
a = 9 / 2
print(a)
#地板除,取整
a = 9 // 2
print(a)
#取余
a = 9 % 2
print(a)
#除以负数的结果
a = 9 % -4
print(a)
##两个**就是指数
>>>7
11
16
4.5
4
1
-3
比较运算符
- 对两个内容进行比较的运算符
- 结果一定是布尔值,即 True/False
# 等于 ==
a = 3 == 4
print(a)
# 不等于 !=
a = 3 !=4
print(a)
#其他的符号是
# > ,>= ,< , <=
print(3 >= 8)
print('i love you'>"zoukexin ")
>>> False
True
False
False
赋值运算符
- 把一个值放到一个变量里面去
#赋值符号 =
a = 9
#复杂赋值
a = b = 9
a,b = 1,2
#赋值的缩写
cc = 0
cc = cc + 3
print(cc)
# 注意下面符号仅仅是一个缩写
cc += 3 # cc = cc + 3
print(cc)
#所有数学运算符都可以缩写
# -= ,*= , /=,%= ,**=,都是缩写形式
#python没有 ++,--
>>> 3
6
逻辑运算符
- 对布尔类型变量或者值进行运算的符号
- and :逻辑与
- or:逻辑或
- not:逻辑非
- python:里面的逻辑运算符没有异或
- 运算规则:
- and看作是乘法,or看做加法,
- True看作1,False看作0
- 则逻辑运算符就能转化成整数数学运算
- 最后结果如果是0则为False,否则为True
- 逻辑运算的短路问题
- 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
# 逻辑表达举例
a = True
b = True
c = False
aa = a and b
print(aa)
bb=a and c
print(bb)
cc = 100 and c
print(cc)
>>> True
False
False
#短路问题案例
a = True
b = True
c = False
aa = a or b and (a and b)#转化成算术 1+ .....
print(aa)
>>> True
#短路问题二
def a():
print("a")
return True
def b():
print("b")
return True
aaa = a() and b()
print(aaa)
print("*" * 20)#分隔符
bbb = a() or b()#短路
print(bbb)
>>> a
b
True
********************
a
True
成员运算符
- 用来检测一个值或者变量是否在某个集合里面
- in :成员运算符
- not in:不在里面的意思
# in 案例
L = [1,2,3,4,5]
a = 6
aa = a not in L#a没有在里面
print(aa)
>>> True
身份运算符
- 用来确定两个变量是否是同一个变量
- is :变量运算符
- is not 不是
- 对于整数N\in [-5,256],解释器对他们做了单独的处理,放进了固定的内存中,不因你每次运行而变化。
#身份运算符
a = 1
b = 100021567
aa = a is b
print(aa)
#a,b仅仅是值一样,并不代表a,b是一个变量
a = 10215620
b = 10215620
aa = a is b
print(aa)
a = 5
b = 5
aa = a is b
print(aa)
>>>False
False
True
运算符的优先级问题
小括号具有最高优先级
运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND’
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符