商场网站开发,柳州电商网站建设,新建网站后域名跳转到别的网站了,高性能网站建设在我们的日常生活中#xff0c;经常会用到数字#xff0c;所以数字#xff08;numbers#xff09;是 pytthon 中的一个基本数据类型。在 python 里面啊#xff0c;numbers 这种数据类型是一个大类#xff0c;在 numbers 这个大类下面有整型、浮点型#xff08;小数…在我们的日常生活中经常会用到数字所以数字numbers是 pytthon 中的一个基本数据类型。在 python 里面啊numbers 这种数据类型是一个大类在 numbers 这个大类下面有整型、浮点型小数、复数等子类。
1 整形int与浮点型float
1.1 整型int
整型是Python中一种基本的数据类型用于表示正整数和负整数。在Python中整型没有固定的上限或下限它的大小取决于可用内存和系统的架构。
1.1.1 整型的特点 无限制大小Python的整型可以是任意大的或者小只受限于计算机的内存和系统的架构。 没有专门的符号不像其他一些编程语言Python中的整数不需要使用特殊的符号或前缀来表示正数或负数。 支持运算整型变量可以参与数学运算如加法、减法、乘法、除法和取模等。 类型推断当你给变量赋值时Python会根据你赋的值自动推断变量的类型。
1.1.2 创建整型变量
在Python中创建整型变量非常简单只需要给变量赋一个整数值即可。
# 创建整型变量
my_integer 10
print(my_integer, type(my_integer)) # 输出: 10 class int
1.1.3 整型运算
整型变量可以进行各种数学运算。
a 10
b 5 # 加法
add_result a b
print(add_result) # 输出: 15 # 减法
subtract_result a - b
print(subtract_result) # 输出: 5 # 乘法
multiply_result a * b
print(multiply_result) # 输出: 50 # 除法
divide_result a / b
print(divide_result) # 输出: 2.0 # 取模求余数
modulus_result a % b
print(modulus_result) # 输出: 0 # 幂运算需要使用 ** 运算符
power_result a ** b
print(power_result) # 输出: 100000
1.1.4 类型转换
整型可以与其他数据类型进行转换通常使用内置的int()函数来将其他数据类型转换为整型。
# 将浮点数转换为整型会截断小数部分
float_number 3.14
int_number int(float_number)
print(int_number) # 输出: 3 # 将整数字符串转换为整型字符串必须包含有效的整数值
str_number 123
int_from_str int(str_number)
print(int_from_str) # 输出: 123
注意如果尝试将非整数字符串转换为整型会引发ValueError异常。
non_int_str abc
print(int(non_int_str))# 报错ValueError: invalid literal for int() with base 10: abc
整型在Python编程中非常常见因为它们可以用来表示计数、索引、大小、年龄等概念。同时由于Python的动态类型特性整型变量也可以随时与其他类型进行转换和运算。
1.2 浮点型float
浮点型是Python中用于表示实数的数据类型包括整数部分和小数部分。浮点数的精度是有限的因此在处理浮点数时可能会遇到精度问题。Python中的浮点数通常以双精度形式存储这意味着它们可以存储非常大或非常小的数以及小数点后很多位的数。
在很多其他的语言里面浮点数也就是数学里的小数还有进一步的细分分单精度和双精度。精度越高能表示的数值就越准确在其他很多的语言里单精度用 float 来表示双精度用 double 来表示。双精度表示的精度要比单精要更高一些。
在 python 里面没有单精度和双精度之分python 浮点数的数据类型只有 float因为 python 里面的 float 支持的精度就是其他语言里面所谓的双精度。
1.2.1 浮点型的特点 近似表示浮点数在计算机中是以近似值的形式表示的因此它们可能无法精确表示某些小数。 精度限制虽然Python的浮点数可以表示非常大或非常小的数但它们的精度是有限的。对于需要高精度计算的场景可能需要使用专门的库如decimal。 运算支持浮点数支持各种数学运算如加法、减法、乘法、除法等。
1.2.2 创建浮点型变量
在Python中创建浮点型变量非常简单只需要给变量赋一个浮点数值即可。
# 创建浮点型变量
my_float 3.14
print(my_float, type(my_float)) # 输出: 3.14 class float
1.2.3 浮点型运算
浮点型变量同样可以进行各种数学运算。
a 3.14
b 2.71 # 加法
add_result a b
print(add_result) # 输出: 5.85 # 减法
subtract_result a - b
print(subtract_result) # 输出: 0.43 # 乘法
multiply_result a * b
print(multiply_result) # 输出: 8.5054 # 除法
divide_result a / b
print(divide_result) # 输出: 1.1586676646706588
1.2.4 浮点型的精度问题
由于浮点数的近似表示进行浮点运算时可能会遇到精度问题。例如两个看似相等的浮点数可能在比较时并不相等。
x 0.1 0.2
y 0.3
print(x y) # 输出: False
在上面的例子中尽管x和y看起来应该相等都是0.3但由于浮点数的精度问题它们并不完全相等。
1.2.5 类型转换
整型可以转换为浮点型反之亦然。通常使用内置的float()函数将其他数据类型转换为浮点型使用int()函数将浮点型转换为整型会截断小数部分。
# 将整型转换为浮点型
int_number 3
float_number float(int_number)
print(float_number) # 输出: 3.0 # 将浮点型转换为整型会截断小数部分
float_number 3.14
int_number int(float_number)
print(int_number) # 输出: 3
浮点型在Python中广泛用于科学计算、数据处理、图形渲染等领域但需要注意的是在处理需要高精度计算的场景时应该特别小心浮点数的精度问题。如果需要高精度计算可以考虑使用decimal模块或第三方库。
1.3 Python中的 / 和 //
在Python中/ 和 // 是两种不同的除法运算符它们各自有特定的用途和行为。
1.3.1 浮点数除法/ 运算符
当你使用 / 运算符进行除法运算时Python会返回一个浮点数结果即使两个操作数都是整数或者除法的结果是整数在数学里 。
# 两个整数相除结果为浮点数
result 6 / 3
print(result) # 输出: 2.0 # 浮点数除法
result 6.0 / 3.0
print(result) # 输出: 2.0
这种除法会保留除法运算的结果的小数部分即使在数学上它应该是一个整数。例如6 / 3 的结果不是 2而是 2.0。
1.3.2 整数除法// 运算符
当你使用 // 运算符进行除法运算时Python会返回一个整数结果这个整数是除法运算结果的商的整数部分向下取整即地板除。
# 两个整数相除结果为整数
result 7 // 3
print(result) # 输出: 2 # 浮点数与整数相除结果仍为整数
result 7.0 // 3
print(result) # 输出: 2 # 注意负数相除时结果仍向负无穷大方向取整
result -7 // 3
print(result) # 输出: -3
这种除法会丢弃除法运算结果的小数部分只保留整数部分。因此7 // 3 的结果是 2而不是 2.3333333333333335。
这两种除法运算符在编程中各有用途。当你需要保留小数部分时使用 / 运算符当你只需要整数结果时使用 // 运算符。特别是在需要避免浮点数精度问题或者进行模运算时比如 a % b使用 // 运算符通常更为合适。
1.4 二进制、八进制、十进制、十六进制
1.4.1 二进制、八进制、十六进制表示符
二进制表示符0b八进制表示符0o十六进制表示符0x
1.4.2 二进制、八进制、十进制、十六进制的相互转换
使用 bin() 方法可以把其他进制的数转换为二进制。使用 int() 方法可以把其他进制的数转换为十进制。使用 oct() 方法可以把其他进制的数转换为八进制。使用 hex() 方法可以把其他进制的数转换为十六进制。
print(bin(10)) # 0b1010
print(bin(0o10)) # 0b1000
print(bin(0x10)) # 0b10000print(oct(10)) # 0o12
print(oct(0b10)) # 0o2
print(oct(0x10)) # 0o20print(int(0b10)) # 2
print(int(0o10)) # 8
print(int(0x10)) # 16print(hex(10)) # 0xa
print(hex(0b10)) # 0x2
print(hex(0o10)) # 0x8
1.5 复数complex
在Python中复数complex是数学上表示实数和虚数组合的数。复数的形式通常写作 a bj其中 a 是实部b 是虚部j 是虚数单位满足 j^2 -1。
Python中的复数可以使用 complex() 函数来创建该函数接受两个参数实部和虚部。例如
c complex(4, 3) # 创建一个复数实部为4虚部为3
你也可以直接在代码中用 j 来表示虚数单位例如
c 4 3j # 同样创建了一个复数实部为4虚部为3
Python提供了很多内置方法来处理复数例如
real返回复数的实部。imag返回复数的虚部。conjugate()返回复数的共轭实部不变虚部取反。real 和 imag 属性也可以用于赋值以改变复数的实部或虚部。
复数在Python中有广泛的应用特别是在科学计算、信号处理、电子工程等领域它们经常用于解决涉及周期性、波动、旋转等问题的数学模型。Python的标准库如cmath模块提供了很多用于处理复数的函数如正弦、余弦、对数、幂运算等。
2 布尔类型bool
布尔类型bool在编程中是一种非常重要的数据类型它只有两个取值true真和false假。这种类型在多种编程语言中都有广泛应用包括Python。布尔类型主要用于逻辑判断、条件控制、循环控制以及开关状态表示等场景。
在 Python 里面布尔类型用来表示真True和假False。注意这里的 True 和 False 与其它语言有些不一样它们的首字母都要大写。
2.1 与数字类型有关的布尔类型
在Python中布尔类型bool与数字类型有关但它不是传统的数字类型如整数int或浮点数float的直接子类。Python的布尔类型只有两个值True 和 False并且它们具有与整数 1 和 0的等价性。这意味着在需要数值上下文的场合中比如数学运算True 会被视为 1False 会被视为 0。
2.1.1 布尔类型和整型可以相互转换
print(int(True)) # 1
print(int(False)) # 0print(bool(1)) # True
print(bool(0)) # False
在上面的例子中布尔类型和整型可以相互转换。这种等价性在多种情况下都很有用比如在进行数学运算时或者在需要布尔值与其他数字类型进行交互时。例如
x True
y 2
result x y # 这里True被当作1来处理所以结果是3
print(result) # 输出: 3
这种设计使得布尔值可以很容易地在需要整数的场合中使用同时也保留了它们作为逻辑值的本质。
然而从类型系统的角度来看bool 并不是 int 的子类。它们是不同的类型只是在某些情况下可以互相转换或表现出类似的行为。你可以通过 isinstance() 函数来验证这一点
print(isinstance(True, bool)) # 输出: True
print(isinstance(True, int)) # 输出: False
2.1.2 非零的数字表示真True0表示假False
print(bool(2)) # True
print(bool(-2)) # True
print(bool(0.2)) # True
print(bool(0)) # False
2.1.3 其它的数据类型也可以转化为布尔类型
print(bool(python)) # 字符串:True
print(bool()) # 空字符串:False
print(bool([1,3,5])) # 列表:True
print(bool([])) # 空列表:False
从上面的例子我们可以看出凡是非空的数据类型都是 True空的数据类型都是 False。
Python里还有个特殊的类型 None它的布尔类型也是 False 。
print(bool(None)) # False
因此虽然布尔类型与数字类型有交互性并且在某些上下文中可以视为数字但从类型定义的角度来说布尔类型不是数字类型的一种。它们在Python的类型系统中是分开定义的并且具有不同的用途和行为。
2.2 布尔类型的常见用法
2.2.1 条件判断
布尔类型最常见的用法是在条件判断语句中如 if 语句。根据布尔值的真假程序会执行不同的代码块。例如
x 5
if x 3: print(x 大于 3)
else: print(x 不大于 3)
在这个例子中x 3 是一个布尔表达式如果其结果为true则执行 if 语句块中的代码如果为false则执行 else 语句块中的代码。
2.2.2 循环控制
布尔类型也常用于循环控制语句中如 while 循环。循环会一直执行直到布尔表达式的值为false。例如
count 0
while count 5: print(count) count 1
在这个例子中count 5 是一个布尔表达式。当count的值小于5时循环会继续执行一旦count的值达到或超过5循环就会停止。
2.2.3 逻辑运算
布尔类型支持逻辑运算包括与and、或or和非not。这些运算符用于组合多个布尔表达式以产生更复杂的逻辑条件。例如
x 5
y 10
if (x 3) and (y 20): print(x 大于 3 且 y 小于 20)
在这个例子中(x 3) and (y 20) 是一个组合了and运算符的布尔表达式。只有当x 3和y 20都为true时整个表达式的值才为true。
2.2.4 表示开关状态
布尔类型也常用于表示某种开关状态或标记状态。例如一个程序可能有一个布尔变量来跟踪用户是否已登录或者一个游戏可能使用布尔变量来表示某个对象是否可见。
is_logged_in True # 用户已登录
is_visible False # 对象不可见
需要注意的是在Python中一些其他类型的值在布尔上下文中会被解释为true或false。例如非零数字、非空字符串和非空列表等通常被视为true而0、空字符串和空列表等被视为false。这种特性使得布尔类型在与其他类型交互时更加灵活。
总的来说布尔类型是编程中不可或缺的一部分它使得程序能够基于逻辑条件进行决策和控制流程。