Task 2 数据类型
常用内置类型
基本的数据类型
-
整数 Integer(int)
-
浮点数 Float
-
布尔值 Boolean (bool)
-
类型Type
坦白来说,type是一种面向类的对象,python是一种面向的对象友好的语言
print(type(2)) #int型
print(type(2.3)) #float型的
print(type(2 > 2.3)) #bool型的,一般都是Ture 或者False
在今后的学习中还会遇到更多的类型:
注意:python中float类型的相当于C语言中double类型的数据
print(type("2.2")) # str (string or text)
print(type([1,2,3])) # list
print(type((1,2,3))) # tuple
print(type({1,2})) # set
print(type({1:42})) # dict (dictionary or map)
print(type(2+3j)) # complex (complex number)
print(type(f)) # function
print(type(math)) # module
常用内置常数
常数区别于变量,常数的值是固定的,不可变的
Python内置了一些常数:
-
True,用于表示布尔 真
-
False,用于表示布尔 假
-
None ,代表 空,用于空值
math
库中的一些数学常量
-
pi,数学常数 pi = 3.141592...,精确到可用精度
-
e,数学常数 e = 2.718281...,精确到可用精度
-
tau,数学常数 tau= 6.283185...,精确到可用精度(其实它不常用)
-
inf,浮点正无穷大,等价于
float('inf')
,负无穷大使用-math.inf
print(True)
print(False)
print(None)
import math
print(math.pi)
print(math.e)
print(math.tau)
print(math.inf)
print(-math.inf)
常用内置运算符
整除(//)
/
表示的是浮点数除法,他的结果是一个浮点数,例如2/1=2.0
//
表示的是整除除法,保留整数,舍弃余数
/
是浮点数除法操作符
print("5/3 = ",5/3)
//
代表的是整除
print(" 5//3 =", ( 5//3))
print(" 2//3 =", ( 2//3))
print("-1//3 =", (-1//3))
print("-4//3 =", (-4//3))
模运算符或者余数运算符(%)
结果为商的余数
print(" 6%3 =", ( 6%3))
print(" 5%3 =", ( 5%3))
print(" 2%3 =", ( 2%3))
print(" 0%3 =", ( 0%3))
print("-4%3 =", (-4%3))
print(" 3%0 =", ( 3%0))
类型影响语义
运算符的运作方式会受到运算数据的类型的数据的影响
print(3 * 2)
print(3 * "p2s")
print(3 + 2)
print("Data" + "whale")
print(3 + "p2s")
运算符优先级
也遵循C语言中的优先级顺序
短路求值
逻辑运算参照表
X | Y | X and Y | X or Y | not X | not Y |
---|---|---|---|---|---|
True | True | True | True | False | False |
True | False | False | True | False | True |
False | False | False | False | True | True |
False | True | False | True | True | False |
def yes():
return True
def no():
return False
def crash():
return 1/0 # 会崩溃!
print(no() and crash()) # 成功运行!
print(crash() and no()) # 崩溃了!
print (yes() and crash()) # 因为上一行崩溃了,所以这行不会被运行,就是运行也会因为短路求值崩溃
换成or
再来试试
print(yes() or crash()) # 成功运行
# print(crash() or yes()) # 崩溃了
print(no() or crash()) # 因为上一行崩溃了,所以这行不会被运行,就是运行也会因为短路求值崩溃