Python 数据类型

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

image-20231121193903455

在今后的学习中还会遇到更多的类型:

注意: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

image-20231121194812991

常用内置常数

常数区别于变量,常数的值是固定的,不可变的

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)

image-20231121220602595

//代表的是整除

print(" 5//3 =", ( 5//3))
print(" 2//3 =", ( 2//3))
print("-1//3 =", (-1//3))
print("-4//3 =", (-4//3))

image-20231121220714935

模运算符或者余数运算符(%)

结果为商的余数

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))

image-20231121221049407

类型影响语义

运算符的运作方式会受到运算数据的类型的数据的影响

print(3 * 2)
print(3 * "p2s")
print(3 + 2)
print("Data" + "whale")
print(3 + "p2s")

image-20231121222525479

运算符优先级

也遵循C语言中的优先级顺序

短路求值

逻辑运算参照表

XYX and YX or Ynot Xnot 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()) # 因为上一行崩溃了,所以这行不会被运行,就是运行也会因为短路求值崩溃

image-20231121223116117

换成or再来试试

print(yes() or crash()) # 成功运行
# print(crash() or yes()) # 崩溃了
print(no() or crash())  # 因为上一行崩溃了,所以这行不会被运行,就是运行也会因为短路求值崩溃

image-20231121223241232

区分type与isinstance函数

image-20231114135600661image-20231114135657041

 
posted @   珺璟-zxy  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统
点击右上角即可分享
微信分享提示