【深度学习】 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…...
Java毕业设计基于springboot+vue的智慧旅游系统
前言 SpringBoot智慧旅游系统通常采用B/S(Browser/Server)架构,这种架构使得用户可以通过任何支持Web浏览器的设备访问系统,无需安装额外的客户端软件,降低了用户的使用门槛。一、项目介绍 开发语言:Java …...
对于对话中的文本简化,OpenClaw 的压缩比和可读性如何平衡?
关于文本简化中压缩比与可读性的平衡,这其实是一个在工程实践中经常遇到的核心矛盾。OpenClaw 的处理方式,仔细推敲起来,背后反映的是一种偏向实用主义的权衡思路。 压缩比高,通常意味着文本被大幅度精简,只保留最核心…...
电视盒变身记:3步打造你的家庭全能服务器,闲置设备重获新生!
电视盒变身记:3步打造你的家庭全能服务器,闲置设备重获新生! 【免费下载链接】amlogic-s9xxx-armbian amlogic-s9xxx-armbian: 该项目提供了为Amlogic、Rockchip和Allwinner盒子构建的Armbian系统镜像,支持多种设备,允…...
海康MVS安装注意事项
⒈目的 掌握海康MVS相机配置软件安装技巧,以便在MvCameraControlNet的演示案例运行时不报错(通常为找不到MvCameraControl.dll),问题为MVS安装时无法对安装环境进行配置。 ⒉安装资源 在海康机器人官网上:海康机器人…...
突破硬件限制的跨显卡AI增强方案:OptiScaler游戏画质优化全解析
突破硬件限制的跨显卡AI增强方案:OptiScaler游戏画质优化全解析 【免费下载链接】OptiScaler DLSS replacement for AMD/Intel/Nvidia cards with multiple upscalers (XeSS/FSR2/DLSS) 项目地址: https://gitcode.com/GitHub_Trending/op/OptiScaler OptiSc…...
24小时运行OpenClaw:nanobot定时任务监控方案
24小时运行OpenClaw:nanobot定时任务监控方案 1. 为什么需要24小时运行的OpenClaw? 去年夏天,我因为忘记备份一个重要项目文件而损失了三天的工作量。当时就想,如果能有个"数字管家"帮我定时执行这些重复性任务该多好…...
避开这3个坑!uni-app直传腾讯云COS的实战避坑指南
uni-app直传腾讯云COS的三大高频问题与增强方案 1. 临时密钥失效的实战解决方案 临时密钥失效是开发者最常遇到的痛点之一。想象一下这样的场景:用户正在上传重要文件,突然提示"密钥已过期",这种体验有多糟糕?我们先来…...
Steam Achievement Manager完全指南:开源工具解决Steam游戏成就高效管理难题
Steam Achievement Manager完全指南:开源工具解决Steam游戏成就高效管理难题 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager Steam Achievemen…...
GPT-Neo终极指南:从预训练模型到高效文本生成的完整实践
GPT-Neo终极指南:从预训练模型到高效文本生成的完整实践 【免费下载链接】gpt-neo An implementation of model parallel GPT-2 and GPT-3-style models using the mesh-tensorflow library. 项目地址: https://gitcode.com/gh_mirrors/gp/gpt-neo GPT-Neo是…...
从零到一:构建智能AI代理的提示工程实战指南
从零到一:构建智能AI代理的提示工程实战指南 【免费下载链接】Prompt-Engineering-Guide dair-ai/Prompt-Engineering-Guide: 是一个用于指导对话人工智能开发的文档。适合用于学习对话人工智能开发和自然语言处理。特点是提供了详细的指南和参考资料,涵…...
