Python 提供了三种数值类型:int(整型),float(浮点型)和complex(复数)。
  • int:通常被称为整型或者整数,如200、299、10都属于整型;
  • float:浮点数包含整数和小数部分,如3.1415926,2.71828都属于浮点数;
  • complex:复数包含实数部分和虚数部分,形如 a+bj,其实部和虚部都是浮点类型;
需要注意的是,Python3 已经废弃了 Python2 的 Long(长整型),在 Python3 中,int 的大小没有限制,可以作为 Long 使用。这也是为什么Python非常适合科学计算的原因,因为Python可以处理无限大的整数。在Python中进行数值运算,并不需要考虑溢出问题,因为Python的数值永远不会溢出。
 
1. 数值类型之间的转换
 
Python 的三种数值类型可以进行相互转换,转换方式为:数字类型+圆括号,如下实例:
a = 456
b = 2.71828
print("int(b)=",int(b))
print("float(a)=",float(a))
print("complex(a)=",complex(a))
print("complex(a,b)=",complex(a,b))
执行结果如下图所示:
  
2. 常用的数学函数
 
Python 提供了丰富的数学函数以降低编程实现的难度,本问将介绍一些常用的函数。
import math
#求绝对值:abs(x)
print("abs(-200)=",abs(-200)) #向上取整:ceil(x)
print("ceil(3.1415)=",math.ceil(3.1415)) #向下取整:floor(x)
print("floor(3.678)=",math.floor(3.678)) #四舍五入:round(x)
print("round(3.678)=",round(3.678)) #乘方运算:pow(x,y),x的y次方
print("pow(3,4)=",pow(3,4)) #求平方根:sqrt(x)
print("sqrt(144)=",math.sqrt(144))

执行结果如下图所示:

 
3. 运算符
 
计算机的最基本用途之一就是执行数学运算,作为一门计算机编程语言,Python 也提供了一套丰富的运算符来满足各种运算需求。
Python 运算符主要可以分为6种:算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符和成员运算符。
 
(1)算术运算符
对于算术运算,大家并不陌生,常用的加减乘除就是算术运算。不过,在编程语言里,算术运算符特殊一些,Python 中的算术运算有7种:加(+)、减(-)、乘( * )、除(/)、取模(%)、幂运算( ** )和取整预算(//)。以下通过实例演示算术运算符的用法。
#初始化测试数据
x = 30
y = 24
z = 12
#分别进行7种算术运算
z = x + y
print("x + y =", z)
z = x - y
print("x - y =", z)
z = x * y
print("x * y =", z)
z = x / y
print("x / y =", z)
z = x % y
print("x % y =", z)
z = x ** y
print("x ** y =", z)
z = x // y
print("x // y =", z)
执行结果如下图所示:

(2)比较运算符

比较无处不在,大于、小于、等于、不等于……和 C/C++、Java 等编程语言一样,Python 也提供了6种比较运算符:>(大于),<(小于),==(等于),!=(不等于),>=(大于等于),<=(小于等于)。比较运算的结果是一个布尔值,True 或者 False,看下面的案例代码:
# 初始化变量
x = 12
y = 7
#分别进行6种比较运算
print("x == y:", x == y)
print("x != y:", x != y)
print("x > y:", x > y)
print("x < y:", x < y)
print("x >= y:", x >= y)
print("x <= y:", x <= y)
执行结果如下图所示:
 
(3)赋值运算符
其实在前面的代码中已经用到赋值运算,如 x = 12,就是一个最简单的赋值运算,“=”就是最简单的赋值运算符。将简单的赋值运算与算术运算结合,Python 形成了更丰富的赋值运算符:+=、-=、=、/=、%=、*=、//=。看下面的案例代码:
#初始化变量
x = 12
y = 21
#分别进行7种赋值运算
y = x
print("y = x, y =", y)
y += x
print("y += x, y =", y)
y -= x
print("y -= x, y =", y)
y *= x
print("y *= x, y =", y)
y /= x
print("y /= x, y =", y)
y **= x
print("y **= x, y =", y)
y //= x
print("y //= x, y =", y)

执行结果:

(4)逻辑运算符
所谓逻辑运算,就是:与、或、非。Python 中的3种逻辑运算符分别为:and(与),or(或),not(非),逻辑运算的结果是布尔值:True 或者 False。
  1. A and B:当A和B有一个为False时,结果就为False,只有A和B都为True时,结果才为True;
  2. A or B:只有当A和B都是False时,结果才为False,只要有一个为True,结果就为True;
  3. not A:当 A 为 True 时,返回 False,否则返回 True。
看下面的案例:
#初始化变量
a = 2
b = 3
c = 5
#分别执行3种逻辑运算
print("a>b and a<c :", a>b and a<c)
print("a<b and c :", a<b and c)
print("a>b or c :", a>b or a<c)
print("a<b or c :", a<b or c)
print("a or a<c :", a or a<c)
print("not a :", not a)
print("not a<b :", not a<b)

执行结果如下图所示:

 
(5)位运算符
程序中的所有数值在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。Python 中有6种位运算符:
  • &:按位与,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0;
  • |:按位或,只要对应的2个二进位有一个为1时,结果位就为1;
  • ^:按位异或,当两对应的二进位相异时,结果为1;
  • ~:按位取反,对数据的每个二进制位取反,即把1变为0,把0变为1;
  • >>:按位右移,将>>左侧的数按位向右移动>>右边的数指定的位;
  • <<:按位左移,将<<左侧的数按位向左移动<<右边的数指定的位;
看下面的案例代码:
a = 21
b = 6
print('a & b = ',a & b)
print('a | b = ',a | b)
print('a ^ b = ',a ^ b)
print('~a = ',~a)
print('a << 2 = ',a << 2)
print('a >> 2 = ',a >> 2)

执行结果如下图所示:

 

这里讲a=21,b=6,转换为二进制如下:

a = 0001 0101
b = 0000 0110 a&b = 0000 0100
a|b = 0001 0111
a^b = 0001 0011
~a = 1110 1010
a<<2 = 01010100
a>>2 = 0000 0101
(6)成员运算符
除了前面介绍的5种运算符,Python 还支持成员运算符。介绍成员运算符之前,我们需要提前了解一个概念:数据结构,如字符串、列表、元组、字典。在接下来的文章中我们将详细介绍这些基础的数据结构。字符串、列表、字典,它们就像一个集合,其中包含若干元素,这些元素就是集合的成员;对于一个给定的元素,它有可能在一个给定的集合中,也可能不在,Python 中采用成员运算符来判断元素是否属于成员,成员运算的结果为布尔值,True 或者 False。
看下面的代码:
#初始化字符串和列表
temp1 = "abcdefg"
temp2 = [4,2,3,5,8,9]
a = "cdf"
b = 5
c = "cde"
print("a in temp1?", a in temp1)
print("b in temp2?", b in temp2)
print("c in temp1?", c in temp1)
 
执行结果如下图所示:
 
 

 

Python编程思想(3):数字及其相关运算的更多相关文章

  1. 【系列】Python编程思想(1):Python简介与开发环境搭建

    李宁老师的 开始学习.   本系列文章深入介绍了Python的各种技术,堪称是目前最全的Python教程.主要目的是让读者可以了解Python的各种核心技术,包括各种Python函数库.本教程使用Py ...

  2. python编程思想及对象与类

    目录 编程思想 面向对象 面向过程 对象与类的概念 对象与类的创建 对象的实例化方法-独有数据 编程思想 1.面向对象 1.1. 面向对象前戏 案例:人狗大战 # 需求:人狗大战# 1.'创造'出人和 ...

  3. 『Python基础-5』数字,运算,转换

    『Python基础-5』数字,运算,转换 目录 基本的数字类型 二进制,八进制,十六进制 数字类型间的转换 数字运算 1. 数字类型 Python 数字数据类型用于存储数学上的值,比如整数.浮点数.复 ...

  4. python递归 及 面向对象初识及编程思想

    递归 及 面向对象初识及编程思想   一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递 ...

  5. Py修行路 python基础 (十四)递归 及 面向对象初识及编程思想

    一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策略时,必须有一个明确的递归结束条件 ...

  6. 关于Java、Python、Go编程思想的不同

    Go学习笔记 - 关于Java.Python.Go编程思想的不同 看了两周七牛团队翻译的<Go语言程序设计>,基本上领略到了Go语言的魅力.学习一个语言,语法什么的任何人都是很容易学会,难 ...

  7. python基础——面向过程的编程思想及举例

    面向过程的编程思想 1.面向过程的编程思想及举例 写程序时: 要先想功能,分步实现 2. os模块中walk输出目录中文件路径 os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上 ...

  8. python基础语法9 生成器,面向对象编程思想,三元表达式,列表生成式,生成器表达式(生成式),匿名函数,内置函数

    生成器 1.什么是生成器? 生成的工具. 生成器是一个 "自定义" 的迭代器, 本质上是一个迭代器. 2.如何实现生成器 但凡在函数内部定义了的yield, 调用函数时,函数体代码 ...

  9. Python基础之面向对象:1、面向对象及编程思想

    一.人狗大战 1.需求 用代码模拟人.狗打架的小游戏 人和狗种类不同,因此双方的属性各不相同 推导一: 人和狗各有不同属性 使用字典方式储存属性较为方便,并可储存多种属性 # 1.在字典内储存'人'属 ...

随机推荐

  1. 李婷华 201771010113 《面向对象程序设计(java)》 第二周学习总结

    第一部分:理论知识学习部分 第三章 java的基本程序设计结构 本章主要学习数据类型.变量.运算符.类型转换.字符串.输入输出.控制流程.大数值.数组等内容. 1.基本知识 (1)标识符:由字母.下划 ...

  2. 利用css+js制作下拉列表

    利用文本框来制作,可以不影响给后台传数据.<!DOCTYPE html> <html> <head> <style> *{;;;} body{font- ...

  3. Qt自定义文本输入框实现支持输入度分秒和度两种格式(简易无限制输入)

    1.自定义文本输入框 #ifndef MYLINEEDIT_H #define MYLINEEDIT_H #include <QLineEdit> #include "ui_my ...

  4. Openwrt:mtd/mtd_write烧写固件

    文章目录 1 查看当前系统分区信息 2 备份固件firmware 3 恢复固件firmware 4 备份恢复Openwrt路由器配置 5 恢复Openwrt路由器默认设置 6 刷新路由器固件 比较简单 ...

  5. @RequestParam和@RequestBody和@PathVariable用法小结

    @RequestParam 使用@RequestParam接收前段参数比较方便,前端传参的URL: url = "${ctx}/main/mm/am/edit?Id=${Id}&na ...

  6. 在IntelliJ IDEA中创建和运行java/scala/spark程序

    本文将分两部分来介绍如何在IntelliJ IDEA中运行Java/Scala/Spark程序: 基本概念介绍 在IntelliJ IDEA中创建和运行java/scala/spark程序 基本概念介 ...

  7. 二、YARN

    一.YARN 介绍 yarn 是下一代 MapReduce,即 MRv2,是在第一代 MapReduce 基础上演变而来的,主要是为了解决原始 Hadoop 扩展性较差,不支持多计算框架而提出的,通俗 ...

  8. python迭代器,生成器

    1. 迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大 ...

  9. Django组件content-type使用方法详解

    前言 参考博客:https://www.zhangshengrong.com/p/zD1yQJwp1r/ 一个表和多个表进行关联,但具体随着业务的加深,表不断的增加,关联的数量不断的增加,怎么通过一开 ...

  10. 《机器学习_07_03_svm_核函数与非线性支持向量机》

    一.简介 前两节分别实现了硬间隔支持向量机与软间隔支持向量机,它们本质上都是线性分类器,只是软间隔对"异常点"更加宽容,它们对形如如下的螺旋数据都没法进行良好分类,因为没法找到一个 ...