【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值
目录
一、前言
二、实验环境
三、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的基本数据类型包括:
- 整数(int):表示整数值,例如1、2、-3等。
- 浮点数(float):表示带有小数点的数值,例如3.14、2.5等。
- 布尔值(bool):表示真(True)或假(False)的逻辑值。
- 字符串(str):表示文本数据,使用引号(单引号或双引号)括起来,例如"Hello"、'Python'等。
- 列表(list):表示一组有序的元素,可以包含不同类型的数据,用方括号括起来,例如[1, 2, 3]、['apple', 'banana', 'orange']等。
- 元组(tuple):类似于列表,但是不可修改,用圆括号括起来,例如(1, 2, 3)、('apple', 'banana', 'orange')等。
- 集合(set):表示一组唯一的元素,用大括号括起来,例如{1, 2, 3}、{'apple', 'banana', 'orange'}等。
- 字典(dict):表示键值对的映射关系,用大括号括起来,例如{'name': 'John', 'age': 25}等。
1. 数字
-
a. 整数(int)
-
整数是没有小数部分的数字,可以是正数、负数或零。
-
没有取值范围限制
-
-
b. 浮点数(float)
- 浮点数则包括整数部分和小数部分,可以表示小数和科学计数法形式的数字。
- 取值范围和小数精度都存在限制,但常规计算可忽略
-
c. 运算
-
运算符
-
加(+)、减(-)、乘(*)、除(/)、取模(%)、整除(//)、幂运算(**)
-
-
注:以下运算过程连续进行
-
加法运算符(+):
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
增强操作符
-
+=、-=、*=、/=、%=、//=、**=
-
+=
增强操作符:x += 10 # 等同于 x = x + 10 print(x) # 输出 522
-
-=
增强操作符:x -= 100 # 等同于 x = x - 100 print(x) # 输出 422
-
*=
增强操作符:x *= 2 # 等同于 x = x * 2 print(x) # 输出 844
-
/=
增强操作符:x /= 3 # 等同于 x = x / 3 print(x) # 输出 281.3333333333333
-
%=
增强操作符:x %= 100 # 等同于 x = x % 100 print(x) # 输出 81.33333333333331
-
//=
增强操作符:x //= 10 # 等同于 x = x // 10 print(x) # 输出 8.0
-
**=
增强操作符:x **= 3 # 等同于 x = x ** 3 print(x) # 输出 512.0
代码整合
x = 521
print(x, type(x))# 使用运算符对 x 进行操作
x = x + 10
print(x) # 输出 531x = x - 100
print(x) # 输出 431x = x * 2
print(x) # 输出 862x = x / 3
print(x) # 输出 287.3333333333333x = x % 100
print(x) # 输出 87.3333333333333x = x // 10
print(x) # 输出 8.0x = x ** 3
print(x) # 输出 512.0# 使用增强操作符对 x 进行操作
x += 10
print(x) # 输出 522.0x -= 100
print(x) # 输出 422.0x *= 2
print(x) # 输出 844.0x /= 3
print(x) # 输出 281.3333333333333x %= 100
print(x) # 输出 81.3333333333333x //= 10
print(x) # 输出 8.0x **= 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中的关键字,不同于其他变量名。
下面是一些布尔运算符和布尔表达式的例子:
- 逻辑与(and):如果两个条件都为True,结果为True。例如:True and False 的结果是 False。
- 逻辑或(or):如果至少一个条件为True,结果为True。例如:True or False 的结果是 True。
- 逻辑非(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
相关文章:
【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值
目录 一、前言 二、实验环境 三、Python基本数据类型 1. 数字 a. 整数(int) b. 浮点数(float) c. 运算 运算符 增强操作符 代码整合 d. 运算中的类型转换 e. 运算函数abs、max、min、int、float 2. 布尔值(…...

无swing,高级javaSE毕业之贪吃蛇游戏(含模块构建,多线程监听服务)
JavaSE,无框架实现贪吃蛇 文章目录 JavaSE,无框架实现贪吃蛇1.整体思考2.可能的难点思考2.1 如何表示游戏界面2.2 如何渲染游戏界面2.3 如何让游戏动起来2.4 蛇如何移动 3.流程图制作4.模块划分5.模块完善5.0常量优化5.1监听键盘服务i.输入存储ii.键盘监…...

HDD-FAT32 ZIP-FAT32 HDD-FAT16 ZIP-FAT16 HDD-NTFS
FAT32、FAT16指的是分区格式, FAT16单个文件最大2G FAT32单个文件最大4G NTFS单个文件大于4G HDD是硬盘启动 ZIP是软盘启动 U盘选HDD HDD-NTFS...
王道数据结构编程题 二叉树
二叉树定义 以下为本文解题代码的二叉树定义。 struct TreeNode {int val;TreeNode* left, *right;TreeNode(int val 0, TreeNode* left nullptr, TreeNode* right nullptr): val(val), left(left), right(right) {} };非递归后序遍历 题目描述 编写后序遍历二叉树的非递…...
登录怎么实现的,密码加密了嘛?使用明文还是暗文,知道怎么加密嘛?
在Java中登录功能的实现通常包括以下步骤,其中密码应该以加密形式存储在数据库中,而不以明文形式存储,以增强安全性: 登录功能的实现步骤: 用户输入: 用户在登录页面上输入用户名和密码。 传输到服务器&a…...
Nginx和Tomcat负载均衡实现session共享
以前的项目使用Nginx作为反向代理实现了多个Tomcat的负载均衡,为了实现多个Tomcat之间的session共享,使用了开源的Memcached-Session-Manager框架。 此框架的优势: 1、支持Tomcat6和Tomcat7 2、操作粘性或不黏性Session 3、没有单点故障 4、T…...
【算法题】210. 课程表 II
题目: 现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。 例如,想要学习课程 0 ,…...
“数据类型不一致”会走索引吗?
分析&回答 字符串类型的索引 id_1 varchar(20) NOT NULL这样下面两条语句的结果是一样的: SELECT * FROM ix_test WHERE id_11; SELECT * FROM ix_test WHERE id_11;执行计划是不同的: mysql> explain select * from ix_test where id_11; | 1 …...

Leetcode 1572.矩阵对角线元素之和
给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat [[1,2,3],[4,5,6],[7,8,9]] 输出:25 解释:对角线的和为ÿ…...

[PG]将一行数据打散成多行数据
原始数据 比如有如此表结构定义: 假如查询数据如下: select dt as "日期",bj_count as "北京", sh_count as "上海",gz_count as "广州", sz_count as "深圳" from city_stats order by dt--------------------…...

二蛋赠书一期:《快捷学习Spring》
文章目录 前言活动规则参与方式本期赠书《快捷学习Spring》关于本书作者介绍内容简介读者对象 结语 前言 大家好!我是二蛋,一个热爱技术、乐于分享的工程师。在过去的几年里,我一直通过各种渠道与大家分享技术知识和经验。我深知,…...

Threejs汽车展厅
2023-09-06-16-29-40 预览:https://9kt8fy-1234.csb.app/ 源码链接...
LeetCode:207. 课程表、210. 课程表 II(拓扑排序 C++)
目录 207. 课程表 题目描述: 实现代码与解析: 拓扑排序 210. 课程表 II 题目描述: 实现代码与解析: 拓扑排序 原理思路: 207. 课程表 题目描述: 你这个学期必须选修 numCourses 门课程࿰…...
如何使用组件
可以复用的代码写到组件里面,比如左侧的导航栏 1.写好一个组件 记得结构写在template标签里面,当然div也可以 2.在需要使用的地方,用标签使用组件 3.在使用的文件内import此组件 import CommonAside from /components/CommonAside.vue; …...
Android 13.0 Launcher3定制之双层改单层(去掉抽屉式二)
1.概述 在13.0的系统产品开发中,对于在Launcher3中的抽屉模式也就是双层模式,在系统原生的Launcher3中就是双层抽屉模式的, 但是在通过抽屉上滑的模式拉出app列表页,但是在一些产品开发中,对于单层模式的Launcher3的产品模式也是常用的功能, 所以需要了解抽屉模式,然后修…...
对卷积的一点具象化理解
前言 卷积的公式一般被表示为下式: 对新手来说完全看不懂这是干什么,这个问题需要结合卷积的应用场景来说。 原理 卷积比较广泛的应用是在信号与系统中,所以有些公式的定义会按照信息流的习惯。假设存在一串信号g(x)经过一个响应h(x)时他的响…...

NV12数据格式转H265编码格式实现过程
一、需求 在视频处理和传输应用中,将视频数据编码为高效的格式是非常重要的。H.265(也称为HEVC)是一种先进的视频编码标准,具有更好的压缩性能和图像质量,相比于传统的编码标准(如H.264)&#…...

ubuntu 22.04 深度学习环境配置
第一步 安装驱动 网址:https://www.nvidia.com/download/index.aspx 根据硬件选择,我这里是 ubuntu 服务器,显卡是v100 sudo su root chmod ax NVIDIA //按 TAB 即可 加运行权限 # 禁用原显卡驱动 vim /etc/modprobe.d/blacklist.conf # 在最后一行…...
支付宝小程序集成mqtt兼容IOS和安卓
1. 前言 去年就想做支付宝小程序接入mqtt协议。但最终多方咨询,问客服问社区得到的答案都是支付宝小程序不能直接支持mqtt协议。偶然间发现徐宏大神的佳作,终于发现了xmqtt.js这个好东西。它实现了支付宝小程序完美接入mqtt协议,设备可以…...

在Qt5中SQLite3的使用
一、SQLite简要介绍 什么是SQLite SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其他数据库,S…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...