【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值

2023-10-26

目录

一、前言

二、实验环境

三、Python基本数据类型

1. 数字

a. 整数(int)

b. 浮点数(float)

c. 运算

运算符

增强操作符

代码整合

d. 运算中的类型转换

e. 运算函数abs、max、min、int、float

 2. 布尔值(bool)

a. 运算

b. 类型转换


一、前言

        Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。

        Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:

  • Python:基本数据类型、容器(列表、字典、集合、元组)、函数、类
  • Numpy:数组、数组索引、数据类型、数组数学、广播
  • Matplotlib:绘图,子图,图像
  • IPython:创建笔记本,典型工作流程

二、实验环境

        Python 3.7

        运行下述命令检查Python版本

 python --version 

三、Python基本数据类型

Python的基本数据类型包括:

  1. 整数(int):表示整数值,例如1、2、-3等。
  2. 浮点数(float):表示带有小数点的数值,例如3.14、2.5等。
  3. 布尔值(bool):表示真(True)或假(False)的逻辑值。
  4. 字符串(str):表示文本数据,使用引号(单引号或双引号)括起来,例如"Hello"、'Python'等。
  5. 列表(list):表示一组有序的元素,可以包含不同类型的数据,用方括号括起来,例如[1, 2, 3]、['apple', 'banana', 'orange']等。
  6. 元组(tuple):类似于列表,但是不可修改,用圆括号括起来,例如(1, 2, 3)、('apple', 'banana', 'orange')等。
  7. 集合(set):表示一组唯一的元素,用大括号括起来,例如{1, 2, 3}、{'apple', 'banana', 'orange'}等。
  8. 字典(dict):表示键值对的映射关系,用大括号括起来,例如{'name': 'John', 'age': 25}等。

1. 数字

  • a. 整数(int)

    • 整数是没有小数部分的数字,可以是正数、负数或零。 

    • 没有取值范围限制

  • b. 浮点数(float)

    • 浮点数则包括整数部分和小数部分,可以表示小数和科学计数法形式的数字。
    • 取值范围和小数精度都存在限制,但常规计算可忽略
  • c. 运算

    • 运算符

      • 加(+)、减(-)、乘(*)、除(/)、取模(%)、整除(//)、幂运算(**)

                   注:以下运算过程连续进行

  1. 加法运算符(+):

    x = x + 10
    print(x)  # 输出 531
  2. 减法运算符(-):

    x = x - 100
    print(x)  # 输出 431
  3. 乘法运算符(*):

    x = x * 2
    print(x)  # 输出 862
  4. 除法运算符(/):

    x = x / 3
    print(x)  # 输出 287.3333333333333
  5. 取模运算符(%):

    x = x % 100
    print(x)  # 输出 87.3333333333333
  6. 整除运算符(//):

    x = x // 10
    print(x)  # 输出 8.0
    
  7. 幂运算符(**):

    x = x ** 3
    print(x)  # 输出 512

增强操作符

  • +=、-=、*=、/=、%=、//=、**=       

  1. += 增强操作符:

    x += 10  # 等同于 x = x + 10
    print(x)  # 输出 522
  2. -= 增强操作符:

    x -= 100  # 等同于 x = x - 100
    print(x)  # 输出 422
  3. *= 增强操作符:

    x *= 2  # 等同于 x = x * 2
    print(x)  # 输出 844
  4. /= 增强操作符:

    x /= 3  # 等同于 x = x / 3
    print(x)  # 输出 281.3333333333333
  5. %= 增强操作符:

    x %= 100  # 等同于 x = x % 100
    print(x)  # 输出 81.33333333333331
  6. //= 增强操作符:

    x //= 10  # 等同于 x = x // 10
    print(x)  # 输出 8.0
  7. **= 增强操作符:

    x **= 3  # 等同于 x = x ** 3
    print(x)  # 输出 512.0

代码整合

x = 521
print(x, type(x))

# 使用运算符对 x 进行操作
x = x + 10
print(x)  # 输出 531

x = x - 100
print(x)  # 输出 431

x = x * 2
print(x)  # 输出 862

x = x / 3
print(x)  # 输出 287.3333333333333

x = x % 100
print(x)  # 输出 87.3333333333333

x = x // 10
print(x)  # 输出 8.0

x = x ** 3
print(x)  # 输出 512.0

# 使用增强操作符对 x 进行操作
x += 10
print(x)  # 输出 522.0

x -= 100
print(x)  # 输出 422.0

x *= 2
print(x)  # 输出 844.0

x /= 3
print(x)  # 输出 281.3333333333333

x %= 100
print(x)  # 输出 81.3333333333333

x //= 10
print(x)  # 输出 8.0

x **= 3
print(x)  # 输出 512.0

d. 运算中的类型转换

        注意到,上述运算中除了整数与整数之间的运算以外,运算结果均为浮点数;

(特例:整数与整数之间的除法)

e. 运算函数abs、max、min、int、float

  • abs():绝对值;
  • max(x1,x2,…,xn):返回最大值;
  • min(x1,x2,…,xn) :返回最小值;
  • int(x):将x强制转换为整数类型;
  • float(x):将x强制转换为浮点数类型;
# 绝对值
abs_value = abs(-10)
print(abs_value)  # 输出: 10

# 最大值
max_value = max(5, 8, 2, 10)
print(max_value)  # 输出: 10

# 最小值
min_value = min(5, 8, 2, 10)
print(min_value)  # 输出: 2

# 强制转换为整数
integer_value = int(3.14)
print(integer_value)  # 输出: 3

# 强制转换为浮点数
float_value = float("3.14")
print(float_value)  # 输出: 3.14

 2. 布尔值(bool)

        布尔值(Booleans)是Python中的一种基本数据类型,用于表示真(True)或假(False)的值。布尔值通常用于条件判断和逻辑运算。

        布尔值在Python中非常重要,因为它们在控制流语句(例如if语句和while循环)中扮演着关键角色。条件表达式的结果可以是布尔值,根据条件表达式的真假来执行不同的代码块。

        布尔值有两个可能的取值:True和False。它们是Python中的关键字,不同于其他变量名。

下面是一些布尔运算符和布尔表达式的例子:

  1. 逻辑与(and):如果两个条件都为True,结果为True。例如:True and False 的结果是 False。
  2. 逻辑或(or):如果至少一个条件为True,结果为True。例如:True or False 的结果是 True。
  3. 逻辑非(not):对布尔值取反。例如:not True 的结果是 False。

        布尔值可以与其他数据类型进行比较和运算。例如,可以将布尔值与整数、浮点数或字符串进行比较,或者在条件表达式中使用布尔值来控制程序的执行流程。

t, f = True, False
print(type(t))

a. 运算

print(t and f)  # 逻辑与运算,输出:False
print(t or f)   # 逻辑或运算,输出:True
print(not t)    # 逻辑非运算,输出:False
print(t != f)   # 不等于比较运算,输出:True

b. 类型转换

        布尔类型可以转换为int类型

print(t, t+0)  # 输出:True 1,因为True可以表示为1,所以t+0的结果是1
print(f, f+0)  # 输出:False 0,因为False可以表示为0,所以f+0的结果是0
print(t, t+1)  # 输出:True 2,因为True可以表示为1,所以t+1的结果是2
print(f, f+1)  # 输出:False 1,因为False可以表示为0,所以f+1的结果是1

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

【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值 的相关文章

  • 当加载图标且 tk.mainloop 位于线程中时,Tkinter 会锁定 Python

    这是测试用例 import Tkinter as tk import thread from time import sleep if name main t tk Tk thread start new thread t mainloop
  • pip 中的新彩色终端进度条

    我发现新版本的pip Python的包安装程序 有一个彩色进度条来显示下载进度 我怎样才能做到这一点 Like this pip 本身正在使用rich https pypi org project rich 包裹 特别是 他们的进度条文档
  • 如何让服务器监听多个端口

    我想用同一台服务器监听 100 个不同的 TCP 端口 这是我目前正在做的事情 import socket import select def main server socket socket socket socket AF INET
  • 在 ReportLab 中向画布元素添加超链接的最简单方法是什么?

    我正在使用 ReportLab 使用 Python 制作 pdf 我想向画布添加一个形状 并让该形状充当超链接 使以下示例中的矩形链接到 google com 的最简单方法是什么 from reportlab pdfgen import c
  • 在 Python 中打开文本文件时出现问题

    这看起来应该很简单 f open C Users john Desktop text txt r 但我收到此错误 Traceback most recent call last File
  • AMD plaidml 与 CPU Tensorflow - 意外结果

    我目前正在运行一个简单的脚本来训练mnist数据集 通过 Tensorflow 通过我的 CPU 运行训练给了我49us sample和使用以下代码的 3e 纪元 CPU import tensorflow as tf mnist tf k
  • Spark MLLib 存在问题,导致概率和预测对于所有内容都相同

    我正在学习如何将机器学习与 Spark MLLib 结合使用 目的是对推文进行情感分析 我从这里得到了一个情感分析数据集 http thinknook com wp content uploads 2012 09 Sentiment Ana
  • 我应该如何在 Python 中将 HTTPHandler 与 RotatingFileHandler 链接起来?

    我需要创建一个系统 将嵌入式系统中生成的日志消息远程记录在服务器上并存储在轮换日志文件中 由于网络通信的限制 日志消息必须通过HTTP协议传输 服务器已经运行了Flask http flask pocoo org 基于 HTTP 服务器 因
  • 枚举列表中的列表

    我有一个约会 并记录了那天发生的事件 我想枚举显示日历的日期的事件列表 我还需要能够从列表中删除事件 def command add date event calendar if date not in calendar calendar
  • 将字符串作为有序字典导入

    我有一个没有扩展名的文件 其中包含这样的行 忽略行之间的间距 但每一行都是单独的行 OrderedDict key1 u value1 key2 value2 OrderedDict key1 u value1 key2 value2 Or
  • 如何加载 caffe 模型并转换为 numpy 数组?

    我有一个 caffemodel 文件 其中包含 ethereon 的 caffe tensorflow 转换实用程序不支持的层 我想生成我的咖啡模型的 numpy 表示 我的问题是 如何将 caffemodel 文件 我还有 prototx
  • Numpy - 两个矩阵的行之间的协方差

    我需要计算两个不同矩阵的每一行之间的协方差 即第一个矩阵的第一行与第二个矩阵的第一行之间的协方差 依此类推 直到两个矩阵的最后一行 我可以在没有 NumPy 的情况下使用下面附加的代码来完成此操作 我的问题是 是否可以避免使用 for 循环
  • 将数据导入 Django 的好方法

    我想定期将数据导入 Django 项目 我需要告诉我的数据提供者我想要以什么格式接收数据 我应该以 Json XML CSV 格式请求吗 在 Django 中通常如何处理这个问题 Django 有一个用于导入数据的完整框架 称为 Fixtu
  • 如何使用 json 谷歌翻译 api?

    我正在尝试使用来自 python 的 google 翻译和 utf 8 文本 如何调用json api 他们有一个将其嵌入 html 的文档 但我在任何地方都找不到合适的 API 或 wsdl 谢谢 拉斐尔 这是最终对我有用的代码 使用没有
  • 如何创建一个包含多个文件且没有子包的Python包

    我正在尝试创建一个包含一些类的包 mypackage 但希望这些类包含在多个文件中 例如 我希望 class a py 包含一个名为 ClassA 的类 等等 因此 我想要以下文件结构 mypackage init py class a p
  • 在 python matplotlib 中格式化损坏的 y 轴

    我正在 matplotlib 中处理一个 相当复杂的 条形图 它包含来自多个源的摘要数据 每个源都沿 x 轴标记 y 轴上有一系列结果 许多结果都是异常值 我尝试使用断开的 y 轴来显示这些结果 而不会使用以下组合来扭曲整个图表这个方法 h
  • 在matplotlib中绘制曲线连接点

    所以我试图绘制曲线来连接点 这是我正在使用的代码 def hanging line point1 point2 a point2 1 point1 1 np cosh point2 0 np cosh point1 0 b point1 1
  • Python 中字典的 enumerate()

    我知道我们用enumerate用于迭代列表 但我在字典上尝试过 但没有给出错误 CODE enumm 0 1 1 2 2 3 4 4 5 5 6 6 7 7 for i key in enumerate enumm print i key
  • 导入后属性未添加到模块中

    我做了以下实验室 vagrant ubuntu xenial test tree pack1 init py mod1 py pack2 init py mod2 py mod3 py test py 2 directories 6 fil
  • 为什么这个多处理代码会失败? [复制]

    这个问题在这里已经有答案了 def sample pass Process target sample start Process target sample start 上面的代码失败并出现错误 已尝试在当前进程之前启动新进程 进程已完成

随机推荐

  • 判断操作系统和浏览器类型(苹果还是安卓,微信还是QQ)

    一 获取操作系统类型 function getOS var userAgent navigator in window userAgent in navigator navigator userAgent toLowerCase var v
  • FPGA时序约束学习笔记——IO约束(转)

    一 参考模型 图源来自 抢先版 小梅哥FPGA时序约束从遥望到领悟 二 参数分析 T 0 gt 3 Tclk1 T 3 gt 4 Tco T 4 gt 5 T 5 gt 6 Tdata T 4 gt 5 Tdata Init T 5 gt
  • 渗透测试流程

    文章目录 前言 一 渗透测试流程 二 流程步骤 1 明确目标 2 信息收集 3 漏洞探测 4 漏洞验证 5 提权所需 6 信息分析 7 信息整理 8 形成报告 总结 前言 渗透测试 出于保护信息系统的目的 更全面地找出测试对象的安全隐患 入
  • python数据库连接

    python数据库连接 import os import time import pymysql import sys class Myclass object def init self try self db pymysql conne
  • Springboot整合Activiti详解

    文章目录 版本依赖 配置文件 需要注意的问题 画流程图 activiti服务类进行编写 流程部署 流程定义 启动流程 流程实例 测试流程 启动流程 完成任务 受理任务 版本依赖 开发工具 IDEA SpringBoot 2 4 5 这里我试
  • MySQL

    1 MySQL概述 1 什么是数据库 数据库是一个存储数据的仓库 2 都有哪些公司在用数据库 金融机构 游戏网站 购物网站 论坛网站 3 提供数据库服务的软件 1 软件分类 MySQL SQL Server Oracle Mariadb D
  • 初中计算机试题戏曲进校园,【校园通讯】“戏曲进校园”走进东街学校,春风化新雨,戏曲百媚生!...

    原标题 校园通讯 戏曲进校园 走进东街学校 春风化新雨 戏曲百媚生 戏曲进校园 戏曲进校园 走进东街学校 春风化新雨 戏曲百媚生 文 东街学校 张永慰 弘扬民族文化 展现戏曲精华 10月10日 戏曲进校园 活动走进济水东街学校 为全体师生带
  • 3.18飞书面试(58min)

    3 18飞书面试 58min 1 问项目 首先是问redis是怎么用的 mq的消费是怎么写的呢 mq如何保证消息消费的可靠性 你在项目中用到了本地缓存 放在了业务代码内存中 那如果签到一半你的项目突然崩了 本地缓存都消失了 那不是会出问题啊
  • [人工智能-深度学习-66]:架构 - 人工智能的学习误区与正确思路、方法

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122116482 目录 前言 第1章
  • spring+struts+ibatis

    原来的系统里面只采用了struts的框架 并且没有使用struts的校验功能 为方便开发 修改框架为spring struts ibatis组合1 添加需要的jar文件2 添加spring配置文件applicationContext xml
  • view-source是一种协议,查看源码

    view source是一种协议 早期基本上每个浏览器都支持这个协议 后来Microsoft考虑安全性 对于WindowsXP pack2以及更高版本以后IE就不再支持此协议 但是这个方法在FireFox和Chrome浏览器都还可以使用 如
  • Linux驱动_spi驱动(ICM20608)

    参考 Linux SPI 驱动分析 1 结构框架 StephenZhou CSDN博客 linux spi驱动 Linux SPI 驱动分析 2 框架层源码分析 StephenZhou CSDN博客 spi message init SPI
  • sql server 加密_列级SQL Server加密

    列加密 创建一个新的数据库并创建CustomerInfo表 CREATE DATABASE CustomerData Go USE CustomerData GO CREATE TABLE CustomerData dbo Customer
  • 机器学习/深度学习--手写数字识别(MNIST数据集)

    import torch 导入torchvision的transform模块 用来处理数据集 from torchvision import transforms from torchvision import datasets from
  • WebRTC音视频通话-RTC直播本地视频及相册视频文件

    WebRTC音视频通话 RTC直播本地视频及相册视频文件 WebRTC音视频通话 RTC直播本地视频文件效果图如下 WebRTC音视频通话 RTC直播本地视频文件时候 用到了AVPlayer CADisplayLink 一 通过AVPlay
  • SpringBoot项目部署到阿里云服务器

    一 阿里云 01 开放端口 02 安装jdk 將jar包放到这个目录下 解压缩 并删除安装包 tar zxvf jdk 8u191 linux x64 tar gz rm f jdk 8u191 linux x64 tar gz 设置系统环
  • shell中 >&2含义

    echo this is a test gt 2 gt 2 也就是把结果输出到和标准错误一样 之前如果有定义标准错误重定向到某file文件 那么标准输出也重定向到这个file文件 其中 的意思 可以看成是 The same as 与 一样
  • webpack入门

    webpack入门 webpack简介 模块打包器 项目构建工具 自动化构建工具 将多种类型资源之间的依赖关系构建成统一的静态资源 打包上线部署 js css等 但不包括html 因为它认为html不算模块 四个核心概念 入口entry 输
  • springboot整合shiro实现认证授权源码

    shiro admin 介绍 springboot整合shiro实现前后端分离架构 swagger文档协调前端开发 源码地址 https gitee com liujinxin ark shiro admin 软件架构 架构说明 sprin
  • 【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值

    目录 一 前言 二 实验环境 三 Python基本数据类型 1 数字 a 整数 int b 浮点数 float c 运算 运算符 增强操作符 代码整合 d 运算中的类型转换 e 运算函数abs max min int float 2 布尔值