Python基础语法:变量和数据类型详解(整数、浮点数、字符串、布尔值)①
文章目录
- 变量和数据类型详解(整数、浮点数、字符串、布尔值)
- 一、变量
- 二、数据类型
- 1. 整数(int)
- 2. 浮点数(float)
- 3. 字符串(str)
- 4. 布尔值(bool)
- 三、类型转换
- 四、综合示例
- 结论
变量和数据类型详解(整数、浮点数、字符串、布尔值)
在Python编程中,变量和数据类型是基础中的基础。理解并掌握这些概念对于编写高效、准确的代码至关重要。本文将深入探讨Python中的变量和几种主要的数据类型:整数、浮点数、字符串和布尔值。最后,我们还会提供一个复杂的Python示例,帮助更好地理解这些概念的应用。
一、变量
变量是存储数据的容器,可以用来保存和操作不同类型的数据。在Python中,变量的声明和赋值非常简单,无需显式声明类型,直接赋值即可:
x = 10 # 整数
y = 3.14 # 浮点数
name = "Alice" # 字符串
is_student = True # 布尔值
在上面的代码中,x
、y
、name
和 is_student
分别是整数、浮点数、字符串和布尔值。Python会根据赋值自动推断变量的类型。
二、数据类型
Python是一种动态类型语言,这意味着变量的数据类型是在运行时确定的。下面详细介绍Python中的几种常见数据类型。
1. 整数(int)
整数用于表示没有小数部分的数字。在Python中,整数可以是正数、负数或零,并且没有大小限制,可以表示非常大的数字。例如:
a = 42
b = -7
c = 0
整数运算支持加、减、乘、除等基本运算:
x = 10
y = 3
print(x + y) # 输出 13
print(x - y) # 输出 7
print(x * y) # 输出 30
print(x / y) # 输出 3.3333333333333335
print(x // y) # 输出 3(整数除法)
print(x % y) # 输出 1(取余数)
print(x ** y) # 输出 1000(幂运算)
2. 浮点数(float)
浮点数用于表示带有小数部分的数字,通常用于需要精确表示小数的场景。例如:
pi = 3.14159
g = 9.8
浮点数运算支持加、减、乘、除等基本运算:
a = 5.5
b = 2.2
print(a + b) # 输出 7.7
print(a - b) # 输出 3.3
print(a * b) # 输出 12.1
print(a / b) # 输出 2.5
需要注意的是,由于计算机内部的浮点数表示方法,浮点数运算可能会有精度误差。
3. 字符串(str)
字符串用于表示文本数据,可以用单引号、双引号或三引号括起来。字符串是不可变的,即一旦创建就不能修改其内容。例如:
hello = "Hello, world!"
quote = 'Python is fun.'
multiline = """This is a
multiline string."""
字符串操作包括拼接、重复、切片、查找等:
s1 = "Hello"
s2 = "World"
print(s1 + " " + s2) # 输出 "Hello World"(拼接)
print(s1 * 3) # 输出 "HelloHelloHello"(重复)
print(s1[1:4]) # 输出 "ell"(切片)
print("H" in s1) # 输出 True(查找)
4. 布尔值(bool)
布尔值用于表示真(True)或假(False)两种状态,常用于条件判断和逻辑运算。例如:
is_sunny = True
is_raining = False
布尔值可以通过逻辑运算符进行操作,如 and
、or
和 not
:
a = True
b = False
print(a and b) # 输出 False
print(a or b) # 输出 True
print(not a) # 输出 False
三、类型转换
在实际编程中,有时需要在不同数据类型之间进行转换。Python提供了多种类型转换函数,例如 int()
、float()
、str()
和 bool()
:
# 整数转换为浮点数
x = 42
y = float(x)
print(y) # 输出 42.0# 浮点数转换为整数
pi = 3.14159
n = int(pi)
print(n) # 输出 3# 数字转换为字符串
num = 123
s = str(num)
print(s) # 输出 '123'# 字符串转换为布尔值
flag = bool("Hello")
print(flag) # 输出 True
四、综合示例
为了更好地理解上述概念,下面是一个涉及变量和数据类型的复杂示例,模拟了一个简单的银行账户管理系统:
class BankAccount:def __init__(self, account_number, account_holder, balance=0.0):self.account_number = account_number # 账户号码(字符串)self.account_holder = account_holder # 账户持有人(字符串)self.balance = balance # 账户余额(浮点数)def deposit(self, amount):if amount > 0:self.balance += amountprint(f"成功存入 {amount} 元,当前余额:{self.balance} 元")else:print("存入金额必须大于零")def withdraw(self, amount):if 0 < amount <= self.balance:self.balance -= amountprint(f"成功取出 {amount} 元,当前余额:{self.balance} 元")else:print("取款金额必须大于零且不超过账户余额")def display(self):print(f"账户号码:{self.account_number}")print(f"账户持有人:{self.account_holder}")print(f"账户余额:{self.balance} 元")# 创建账户
account = BankAccount("1234567890", "Alice", 1000.0)# 显示账户信息
account.display()# 存入金额
account.deposit(500.0)# 取出金额
account.withdraw(200.0)# 再次显示账户信息
account.display()
在这个示例中,我们定义了一个 BankAccount
类,包含账户号码、账户持有人和账户余额三个属性,以及存款、取款和显示账户信息的方法。通过这个示例,可以看到如何使用变量和数据类型来创建和操作一个简单的银行账户管理系统,代码运行结果如下:
结论
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。
欢迎点赞|关注|收藏|评论,您的肯定是我创作的动力 |
相关文章:

Python基础语法:变量和数据类型详解(整数、浮点数、字符串、布尔值)①
文章目录 变量和数据类型详解(整数、浮点数、字符串、布尔值)一、变量二、数据类型1. 整数(int)2. 浮点数(float)3. 字符串(str)4. 布尔值(bool) 三、类型转换…...

【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树
目录 1 -> 红黑树 1.1 -> 红黑树的概念 1.2 -> 红黑树的性质 1.3 -> 红黑树节点的定义 1.4 -> 红黑树的结构 1.5 -> 红黑树的插入操作 1.6 -> 红黑树的验证 1.8 -> 红黑树与AVL树的比较 2 -> 红黑树模拟实现STL中的map与set 2.1 -> 红…...

MySQL DDL
数据库 1 创建数据库 CREATE DATABASE 数据库名 CREATE DATABASE IF NOT EXISTS 数据库名;(判断是否存在) CREATE DATABASE 数据库名 CHARACTER SET 字符 2 查看数据库 SHOW DATABASES; 查看某个数据库的信息 SHOW CAEATE DATABASE 数据库名 3 修改数据库 …...
从模型到应用:李彦宏解读AI时代的新趋势与挑战
如何理解李彦宏说的“不要卷模型,要卷应用” 开源项目的机遇与挑战 7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议在上海世博中心举办。在产业发展主论坛上,百度创始人、董事长兼首席执行官李彦宏呼吁:“大家不要卷…...

C++ STL 随机数用法介绍
目录 一:C语言中的随机数 二:C中的随机数 1. 生成随机数的例子 2. 随机数引擎 3. 随机数引擎适配器 4. C中预定义的随机数引擎,引擎适配器 5. 随机数分布 一:C语言中的随机数 <stdlib.h>//初始化随机种子 srand(static_ca…...
容器之docker compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个 YAML 文件,您可以配置应用程序需要的所有服务,并使用单个命令来创建和启动这些服务。以下是对 Docker Compose 的详细介绍: 核心概念 服务(Services&am…...

MIT机器人运动控制原理浅析-人形机器人
MIT人形机器人基于开发改进的执行器全新设计,通过可感知执行器运动动力学移动规划器(Actuator-Aware Kino-Dynamic Motion Planner)及着地控制器(Landing Controller)等实现机器人的运动控制。 机器人设计 机器人高0.7米,21KG(四肢重量 25%),…...
开源 WAF 解析:选择最适合你的防护利器
前言 随着网络安全风险的增加,Web 应用防火墙(WAF)成为保护网站和应用程序免受攻击的关键工具。在众多的选择中,开源 WAF 以其灵活性、可定制性和成本效益备受青睐。本文将深入探讨几种主流开源 WAF 解决方案,帮助你选…...

AirPods Pro新功能前瞻:iOS 18的五大创新亮点
随着科技的不断进步,苹果公司一直在探索如何通过创新提升用户体验。iOS 18的推出,不仅仅是iPhone的一次系统更新,更是苹果生态链中重要一环——AirPods Pro的一次重大升级。 据悉,iOS 18将为AirPods Pro带来五项新功能࿰…...
JavaScript中的可选链操作符
在JavaScript中,?. 被称为可选链操作符(Optional Chaining Operator)。它允许你访问对象的深层属性而不必显式地检查每一层属性是否存在。如果链中的某个属性不存在,表达式将短路返回undefined,而不是抛出一个TypeErr…...

huggingface笔记:gpt2
0 使用的tips GPT-2是一个具有绝对位置嵌入的模型,因此通常建议在输入的右侧而不是左侧填充GPT-2是通过因果语言建模(CLM)目标进行训练的,因此在预测序列中的下一个标记方面非常强大 利用这一特性,GPT-2可以生成语法连…...
一次业务的批量数据任务的处理优化
文章目录 一次业务的批量数据任务的处理优化业务背景1.0版本 分批处理模式2.0版本 平衡任务队列模式3.0版本 优化调度平衡任务队列模式总结 一次业务的批量数据任务的处理优化 业务背景 一个重新生成所有客户的财务业务指标数据的批量数据处理任务。 1.0版本 分批处理模式 …...

新能源汽车充电站远程监控系统S275钡铼技术无线RTU
新能源汽车充电站的远程监控系统在现代城市基础设施中扮演着至关重要的角色,而钡铼技术的S275无线RTU作为一款先进的物联网数据监测采集控制短信报警终端,为充电站的安全运行和高效管理提供了强大的技术支持。 技术特点和功能 钡铼S275采用了基于UCOSI…...

海外视频媒体发布/发稿:如何在国外媒体以视频的形式宣发
1. 背景介绍 在如今数字化时代,每个国家都拥有着各自的视频媒体平台,而主流媒体也都纷纷加入了视频发布的行列。视频媒体的宣发形式主要包括油管Youtube等视频分享平台,以及图文配合的发布方式。通过在视频中夹带链接,媒体可以以…...

HTML 【实用教程】(2024最新版)
核心思想 —— 语义化 【面试题】如何理解 HTML 语义化 ?仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格 增加代码可读性,让人更容易读懂对SEO更加友好,让搜索引擎更容易读懂 html 文件的基本结构 html 文件的文件后缀为 …...
How to Describe Figures in a Research Article
How to Describe Figures in a Research Article DateAuthorVersionNote2024.07.10Dog TaoV1.0Finish the document. 文章目录 How to Describe Figures in a Research ArticleGeneral GuidelinesDetailed DescriptionsCommon Describing Phrases Effective communication of …...

昇思MindSpore学习入门-CELL与参数一
Cell作为神经网络构造的基础单元,与神经网络层(Layer)的概念相对应,对Tensor计算操作的抽象封装,能够更准确清晰地对神经网络结构进行表示。除了基础的Tensor计算流程定义外,神经网络层还包含了参数管理、状态管理等功能。而参数(…...

【k8s中安装rabbitmq】k8s中安装rabbitmq并搭建镜像集群-hostpath版
文章目录 简介一.条件及环境说明二.需求说明三.实现原理及说明四.详细步骤4.1.规划节点标签4.2.创建configmap配置4.3.创建三个statefulset和service headless配置4.4.创建service配置 五.安装完后的配置六.安装说明 简介 k8s集群中搭建rabbitmq集群服务一般都会用到pvc&#x…...
(5) 深入探索Python-Pandas库的核心数据结构:Series详解
目录 前言1. Series 简介2. Series的特点3. Series的创建3.1 使用列表创建Series3.2 使用字典创建Series3.3 使用列表和自定义索引创建Series3.4 指定数据类型和名称 4. Series的索引/切片4.1 下标索引:基于整数位置的索引4.2 基于标签的索引4.3 切片4.4 使用.loc[]…...

JAVA之开发神器——IntelliJ IDEA的下载与安装
一、IDEA是什么? IEAD是JetBrains公司开发的专用于java开发的一款集成开发环境。由于其功能强大且符合人体工程学(就是更懂你)的优点,深受java开发人员的喜爱。目前在java开发工具中占比3/4。如果你要走java开发方向,那…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...