【深度学习】 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…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...
C++ 类基础:封装、继承、多态与多线程模板实现
前言 C 是一门强大的面向对象编程语言,而类(Class)作为其核心特性之一,是理解和使用 C 的关键。本文将深入探讨 C 类的基本特性,包括封装、继承和多态,同时讨论类中的权限控制,并展示如何使用类…...