python之数值运算程序_[Python Learning]数值计算

2023-05-16

环境

TX Yun-Ubuntu 14.04.1 LTS

python-2.7.6

正文

加法运算

int + int -> int

>>>1 + 1

2

int + float -> float

>>>1 + 2.0

3.0

float + float->float

>>>1.0 + 2.0

3.0

减法运算

int - int -> int

>>>2 - 1

1

int - float ->float(反之亦然)

>>>2 - 1.0

1.0

float - float->float

>>>2.0 - 1.0

1.0

乘法运算

int * int -> int

>>>1 * 1

1

int * float -> float(反之亦然)

>>>1 * 2.0

2.0

float * float ->float

>>>1.0 * 2.0

2.0

除法运算

int / int -> int

>>>17 / 3

5

int / float -> float

>>>8 / 0.5

1.6

int // float ->float(地板除)

>>>17 // 3.0

5.0

float / float ->float

>>>2.0 / 2.0

1.0

float // float -> float(地板除)

>>>17.0 // 3.0

5.0

取余运算

int % int -> int

>>>17 % 3

2

int % float -> float(反之亦然)

>>>17 % 3.0

2.0

float % float -> float

>>>17.0 % 3.0

2.0

地板除

”//“ 除法不管操作数何种数值类型,总是舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

>>>1 // 2 #地板除, 返回整数

0

>>>1.0 // 2.0 #地板除, 返回浮点数

0.0

>>>-1 // 2 #返回比 –0.5 小的整数, 也就是 -1

-1

长整数

Lint + int -> Lint

>>>aL=99999L

>>>a=1

>>>a+aL

100000L

幂运算

int ** int -> int

>>>5 ** 2

25

int ** float -> float(反之亦然)

>>>5 ** 2.0

25.0

复数运算

>>>a=1+2j

>>>b=1+2j

>>>a+b #复数加法

(2+4j)

>>>a-b #复数减法

0j

>>>a*b #复数乘法

(-3+4j)

>>>a=1

>>>b=1+1j

>>>a+b #整数+复数

2+1j

数值运算总结

如果有一个操作数是复数, 另一个操作数被转换为复数。

否则,如果有一个操作数是浮点数, 另一个操作数被转换为浮点数。

否则, 如果有一个操作数是长整数,则另一个操作数被转换为长整数;

否则,两者必然都是普通整数,无须类型转换。

对象

>>>a=1

>>>id(a)

38158680

>>>a+=1

>>>a

2

>>>id(a)

38158656

python的变量和我们已知的C语言,Java,php不同,这里用“对象”来描述会更好一些。我们以前对变量的定义是一个“盒子”—— 装着各种类型的数据,其“变”字可以很简单的理解为可变的。重新对变量赋值,那么盒子里面的数据就会更改,但是地址没变,只是值变了。在这里,当我们给python的对象重新赋值,实际上是重新创建了一个对象,并把新的数据放在该对象上,然后返回新对象的引用。尽管看上去和原来一样,理解这一点至关重要。

>>>a=1

>>>a

1

>>>del a

>>>a

Traceback (most recent call last):

File "", line 1, in

NameError: name 'a' is not defined

按照Python的法则,你无法真正删除一个数值对象,你仅仅是不再使用它而已。如果你实际上想删除一个数值对象的引用,使用del语句。删除对象的引用之后,你就不能再使用这个引用(变量名), 除非你给它赋一个新值。如果试图使用一个已经被删除的对象引用,会引发 NameError 异常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python之数值运算程序_[Python Learning]数值计算 的相关文章

  • 散景图只会弹出一个空白窗口

    所以我最近一直在尝试学习散景 一切都很顺利 但突然间 每当我尝试制作散景图时 浏览器就会显示一个空白页面 我没有收到任何错误代码 只有空白页 这是我几天前成功用来创建绘图的程序 我什至尝试加载几周前制作的 html 绘图文件 该文件在同事计
  • 使用三个一维数组绘制等值线图

    正如标题所示 我想使用三个一维数组绘制等高线图 这么说吧 x np array 1 2 3 and y np array 1 2 3 and z np array 20 21 45 为了在 matplotlib 中绘制等高线图 我对x an
  • 按每个元素中出现的数字对字符串列表进行排序[重复]

    这个问题在这里已经有答案了 我有一个脚本 其目的是对不断下载到服务器上的空间数据集文件进行排序和处理 我的列表目前大致如下 list file t00Z wrff02 grib2 file t00Z wrff03 grib2 file t0
  • 是否可以在 IPython 控制台中显示 pandas 样式?

    是否可以显示熊猫风格 https pandas pydata org pandas docs stable user guide style html在 iPython 控制台中 Jupyter 笔记本中的以下代码 import panda
  • pandas read_csv 之前预处理数据文件

    我使用 SAP 的数据输出 但它既不是 CSV 因为它不引用包含其分隔符的字符串 也不是固定宽度 因为它具有多字节字符 它是一种 固定宽度 字符 为了将其放入 pandas 我当前读取文件 获取分隔符位置 对分隔符周围的每一行进行切片 然后
  • 在Python中将大文件(25k条目)加载到dict中很慢?

    我有一个大约有 25000 行的文件 它是 s19 格式的文件 每行就像 S214780010 00802000000010000000000A508CC78C 像这样的事情怎么样 我做了一个测试文件 只有一行S21478001000802
  • 在 python 中发送标头[重复]

    这个问题在这里已经有答案了 我有以下 python 脚本 我想发送 假 标头信息 以便我的应用程序就像 Firefox 一样运行 我怎么能这么做呢 import urllib urllib2 cookielib username passw
  • pandas 数据框的最大大小

    我正在尝试使用读取一个有点大的数据集pandas read csv or read stata功能 但我不断遇到Memory Errors 数据帧的最大大小是多少 我的理解是 只要数据适合内存 数据帧就应该没问题 这对我来说不应该是问题 还
  • 对法语文本进行词形还原[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一些法语文本需要以某种方式进行处理 为此 我需要 首先 将文本标记为单词 然后对这些单词进行词形还原以避免多次处理相同的词根 据我
  • lmfit模型拟合然后预测

    我正在领养lmfit进行曲线拟合并使用拟合模型进行预测 然而下面的代码并没有达到我想要的效果 能否请你帮忙 谢谢 import numpy as np from lmfit import Model def linearModel x a0
  • cxfreeze virtualenv 中缺少 distutils 模块

    从 python3 2 项目运行 cxfreeze 二进制文件时 我收到以下运行时错误 project dist project distutils init py 13 UserWarning The virtualenv distuti
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • matplotlib vlines 图中未应用 y 轴的最小值

    我正在 matplotlib 中绘制 vlines 图 数据集中的所有 y 值如下 gt 0 我希望 y 轴最底部的刻度能够读取0 但相反 我得到 500 这是代码 usr bin env python import numpy as np
  • 机器学习的周期性数据(例如度角 -> 179 与 -179 相差 2)

    我使用 Python 进行核密度估计 并使用高斯混合模型对多维数据样本的可能性进行排名 每一条数据都是一个角度 我不确定如何处理机器学习的角度数据的周期性 首先 我通过添加 360 来删除所有负角 因此所有负角都变成了正角 179 变成了
  • 为什么我无法杀死 k8s pod 中的 python 进程?

    我试图杀死一个 python 进程 ps aux grep python root 1 12 6 2 1 2234740 1332316 Ssl 20 04 19 36 usr bin python3 batch run py root 4
  • 如何将 pandas DataFrame 转换为 TimeSeries?

    我正在寻找一种将 DataFrame 转换为 TimeSeries 而不拆分索引和值列的方法 有任何想法吗 谢谢 In 20 import pandas as pd In 21 import numpy as np In 22 dates
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe
  • 将二进制数转换为包含每个二进制数的数组

    我试图将二进制值转换为每个 1 0 的列表 但我得到默认的二进制值而不是列表 我有一个字符串 我将每个字符转换为二进制 它给了我一个列表 其中每个字符都有一个字符串 现在我试图将每个字符串拆分为值为 0 1 的整数 但我什么也得不到 if

随机推荐