Python教程(6)——Python变量的基础类型。|整数类型|浮点数类型|字符串类型|布尔类型|

学习编程语言,不得不忽视变量这个概念。Python 中的变量是用于存储数据的名称,你可以将值赋给变量,并在程序的其他地方使用该变量来引用该值。变量在程序中起到存储和操作数据的作用。

如果学过C/C++语言的同学,定义了变量后,需要加个类型的限制,比如

int age = 28
double money = 10.2

也就是说定义了一个变量,前面必须加个类型的限制。而Python 是一种动态类型语言,这意味着你不需要在声明变量时指定变量的类型。将值赋给一个变量时,Python会根据值的类型自动确定变量的类型。我们不需要自己去定义类型。

  • 变量的声明和赋值:
age = 10       # 整数类型变量
name = "Alice"   # 字符串类型变量
pi = 3.14    # 浮点数类型变量
is_true = True   # 布尔类型变量
  • 变量的引用和使用:
print(x)       #变量 x 的值
print("Hello, " + name)   # 字符串拼接和输出
y = x + 5     # 进行数值运算,并将结果赋给变量 y
  • 变量的类型可以随时更改:
x = 10      # 整数类型变量
x = "Hello"   # 将变量 x 的类型更改为字符串类型

需要注意的是,变量名在 Python 中是区分大小写的,也就是变量名ageAGE是不一样的,另外,Python还有些关键字符,不能用作变量名。

整数类型(int)

在Python中,整数类型(int)是一种用于表示整数值的数据类型。整数类型是Python的内置类型之一,用于处理整数数据。
在Python中,可以使用整数类型来表示正数、负数和零。整数类型没有大小限制,可以表示任意大小的整数。

x = 10   # 正整数
y = -5   # 负整数
z = 0    # 零

在Python中,整数类型支持常见的整数运算操作,例如加法、减法、乘法和除法等。可以使用运算符对整数进行计算,并将结果赋给新的变量或直接输出。例如:

a = 10 + 5   # 加法运算
b = 10 - 5   # 减法运算
c = 10 * 5   # 乘法运算
d = 10 / 5   # 除法运算

需要注意的是,Python的整数类型是动态的,即在赋值时会自动确定变量的类型。如果将一个整数赋给变量,变量将自动确定为整数类型。例如:

x = 10      # x的类型为整数类型(int)
y = -5      # y的类型为整数类型(int)
z = 0       # z的类型为整数类型(int)

整数类型还支持其他的操作,如取余(%)、幂运算(\)、整数除法(//)、位运算、比较运算等。可以根据需求选择合适的操作符进行运算。

另外需要注意的,python当中的整数是不会发生溢出的,整数类型(int)没有固定大小的限制,可以表示任意大小的整数。这意味着在进行加减乘除等运算时,Python会根据需要自动调整整数类型的大小,以适应计算结果。当进行整数运算时,如果结果超出了当前整数类型的表示范围,Python会自动将其转换为长整型(long)来保存。

例如,当进行较大的整数相加时,Python会自动使用长整型来保存结果:

x = 2 ** 31 - 1  # x为int类型,表示范围内的最大整数
y = 2 ** 31     # y为int类型,表示范围外的整数
z = x + y       # z会自动转换为长整型来保存结果
print(z)        # 输出:4294967295
print(type(z))  # 输出:<class 'int'>
print( 2 ** 311)
# 输出一个天文数字4171849679533027504677776769862406473833407270227837441302815640277772901915313574263597826048

浮点数类型(float)

浮点数也就是小数,至于为啥这么叫,咱们记住就行。在Python中,浮点数类型(float)是一种用于表示实数(包括小数)的数据类型。浮点数类型是Python的内置类型之一,用于处理带有小数部分的数值。所以33.0是不同的类型的。

在Python中,浮点数的表示形式采用IEEE 754标准,可以表示具有一定精度的实数。浮点数类型的变量可以存储小数、整数和科学计数法表示的数值。例如:

x = 3.14         # 普通浮点数表示
y = 2.0e-3      # 科学计数法表示
z = 1/3          # 分数表示

在Python的浮点数类型中,可以进行各种数学运算操作,例如加法、减法、乘法和除法等。同样,可以使用运算符对浮点数进行计算,并将结果赋给新的变量或直接输出。例如:

a = 3.14 + 2.5   # 加法运算
b = 3.14 - 2.5   # 减法运算
c = 3.14 * 2.5   #乘法运算
d = 3.14 / 2.5   # 除法运算

需要注意的是,浮点数可能存在精度误差,这是由于计算机内部使用二进制表示实数导致的。因此,对于要求精确计算的场景,建议使用Decimal模块来处理精确的十进制浮点数。

浮点数类型还支持一些其他的操作,例如取整(int()函数)、四舍五入(round()函数)、比较运算等。可以根据需求选择合适的操作符或函数对浮点数进行处理。

pi = 3.1415926
print(round(pi, 2) # 输出3.14
print(int(pi))     # 输出3

字符串类型(str)

字符串类型是python当中非常非常重要的一个类型,后面我会用一个章节的内容来重点讲解。这里就了解一些通用性的东西。

在Python中,可以使用单引号(')或双引号(")来表示字符串,并且字符串中的引号需要成对出现。

str1 = 'Hello, World!'		# 输出Hello, World!
str2 = "Python is awesome."	# 输出Python is awesome.

无论选择使用单引号还是双引号,结果都是相同的。上面的两个字符串变量str1str2都表示相同的字符串。

当需要在字符串中插入引号时,可以使用不同类型的引号来表示。

str3 = "She said, 'Hello!'" # 输出She said, 'Hello!'
str4 ='He said, "Hi!"'        # 输出He said, "Hi!"

如果字符串中既有单引号又有双引号,可以使用义字符\来表示,就是告诉程序,这个引号就是字符串的一部分,你直接输出就行了。

str5 = "I'm learning Python."	# 输出I'm learning Python.
str6 = 'He said, "I\'m busy."'	# 输出He said, "I'm busy."

当需要在字符串中换行时,可以使用多行字符串的表示方法。可以使用三个单引号(‘’')或三个双引号(“”")将字符串括起来。例如:

str7 = '''This is a
multi-line string.'''
str8 = """Hello,
World!"""

str7str8都是多行字符串,可以在其中进行换行操作。

关于字符串类型的具体内容,后面我会专门开一个章节来讲解。

布尔类型(bool)

布尔类型几乎每种编程语言中都有,就只有两种取值——真和假。不同语言中写法稍微有点不同。在Python中,布尔类型(bool)是一个内置的基本数据类型,用于表示逻辑值,即True(真)或False(假),记住首字母要大写,布尔类型用于条件和逻辑运算。

  • 可以使用逻辑运算符进行布尔运算,包括and(与)、or(或)和not(非),用于组合和操作布尔值。
x = True
y = False
print(x and y)  # 输出: False
print(x or y)   # 输出: True
print(not x)    # 输出: False
  • 还可以使用比较运算符来比较两个值的大小或关系,比较运算的结果返回布尔值。
x = 5
y = 10
print(x == y)   # 输出: False
print(x < y)    # 输出: True
print(x >= y)   # 输出: False
  • 布尔类型常常用于条件语句中的判断条件,根据布尔值的真假来执行相应的代码块。
age = 20
if age >= 18:print("成年人")
else:print("未成年人")

以上是布尔类型在Python中常用的一些场景,布尔类型相对而言,会是比较简单的。

在Python钟,整数类型、浮点数类型、字符串类型以及布尔类型都是非常基础的变量类型,也是非常重要的,因为这构建了整个Python大厦,另外在Python当中还有列表类型(list),元组类型(tuple),字典类型(dict),这三种变量类型也是非常重要,后面每种类型都会分别用一个章节来讲解。除了以上几种常见的变量类型,Python还具有其他的一些数据类型,如集合类型(set)、字节类型(bytes)、复数类型(complex)等,这些数据类型可以根据不同的需求和场景灵活使用。

更多精彩内容,请关注同名公众:一点sir(alittle-sir)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/19154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无涯教程-Lua - repeat...until 语句函数

与 for 和 while 循环(它们在循环顶部测试循环条件)不同&#xff0c;Lua编程中的 repeat ... until 循环语言在循环的底部检查其条件。 repeat ... until 循环与while循环相似&#xff0c;不同之处在于&#xff0c;保证do ... while循环至少执行一次。 repeat...until loop - …

单机,集群和分布式概念

单机的局限性&#xff1a; 1.受限于硬件资源&#xff0c;单机所能承受的用户并发量太少&#xff1b; 2.一个系统有多个模块&#xff0c;任意模块的修改都会导致整个项目代码重新编译、部署&#xff1b; 3.系统中&#xff0c;有些模块是CPU密集型&#xff0c;有些模块是I/O密…

通过案例实战详解elasticsearch自定义打分function_score的使用

前言 elasticsearch给我们提供了很强大的搜索功能&#xff0c;但是有时候仅仅只用相关度打分是不够的&#xff0c;所以elasticsearch给我们提供了自定义打分函数function_score&#xff0c;本文结合简单案例详解function_score的使用方法&#xff0c;关于function-score-query…

InnoDB引擎底层逻辑讲解——架构之内存架构

1.InnoDB引擎架构 下图为InnoDB架构图&#xff0c;左侧为内存结构&#xff0c;右侧为磁盘结构。 2.InnoDB内存架构讲解 2.1 Buffer Pool缓冲池 2.2 Change Buffer更改缓冲区 2.3 Adaptive Hash Index自适应hash索引 查看自适应hash索引是否开启&#xff1a; show variable…

6.s081(Fall 2022)Lab2: system calls

文章目录 前言其他篇章参考链接0. 前置准备1. System call tracing (moderate)简单分析Hint 1Hint 2Hint 3Hint 4Hint 5测试 2. Sysinfo (moderate) 前言 好像没啥前言 其他篇章 环境搭建 Lab1:Utilities 参考链接 官网链接 xv6手册链接&#xff0c;这个挺重要的&#xff…

Spring Data Elasticsearch - 在Spring应用中操作Elasticsearch数据库

Spring Data Elasticsearch 文章目录 Spring Data Elasticsearch1. 定义文档映射实体类2. Repository3. ElasticsearchRestTemplate3.1 查询相关特性3.1.1 过滤3.1.2 排序3.1.3 自定义分词器 3.2 高级查询 4. 索引管理4.1 创建索引4.2 检索索引4.3 修改映射4.4 删除索引 5. 异常…

GO学习之 多线程(goroutine)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 文章目录 GO系列前言一、并发介绍1.1 进程和线程和协程1.2 并发和并行 二、goroutine介绍三…

AWS——02篇(AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储)

AWS——02篇&#xff08;AWS之服务存储EFS在Amazon EC2上的挂载——针对EC2进行托管文件存储&#xff09; 1. 前言2. 关于Amazon EFS2.1 Amazon EFS全称2.2 什么是Amazon EFS2.3 优点和功能2.4 参考官网 3. 创建文件系统3.1 创建 EC2 实例3.2 创建文件系统 4. 在Linux实例上挂载…

服务器硬件、部署LNMP动态网站、部署wordpress、配置web与数据库服务分离、配置额外的web服务器

day01 day01项目实战目标单机安装基于LNMP结构的WordPress网站基本环境准备配置nginx配置数据库服务部署wordpressweb与数据库服务分离准备数据库服务器迁移数据库配置额外的web服务器 项目实战目标 主机名IP地址client01192.168.88.10/24web1192.168.88.11/24web2192.168.88…

『赠书活动 | 第十三期』《算力经济:从超级计算到云计算》

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 『赠书活动 &#xff5c; 第十三期』 本期书籍&#xff1a;《算力经济&#xff1a;从超级计算到云计算》 赠书规则&#xff1a;评论区&#xff1a;点赞&#xff5c;收…

线段树合并例题

https://www.luogu.com.cn/problem/P3224 1. 永无乡 题意&#xff1a; 给 n 个岛屿&#xff0c;每个岛有一个标号&#xff0c;初始修有 m 条路&#xff0c;有两个操作&#xff0c;操作1 为 给两个岛屿之间修路&#xff0c;操作2为求出 所有能从当前岛屿到达的岛 中标号第k小的…

前端需要知道的计算机网络知识

1 Web 机制 无论通过有线方式 (通常是网线) 还是无线方式&#xff08;比如 wifi 或蓝牙)&#xff0c;通信需要进行连接&#xff0c;网络上的每台计算机需要链接到路由器&#xff08;router&#xff09;。 路由器确保从一台计算机上发出的一条信息可以到达正确的计算机。计算机…

【Android Framework系列】第9章 AMS之Hook实现登录页跳转

1 前言 前面章节我们学习了【Android Framework系列】第5章 AMS启动流程和【Android Framework系列】第6章 AMS原理之Launcher启动流程&#xff0c;大概了解了AMS的原理及启动流程&#xff0c;这一章节我们通过反射和动态代理对不同Android版本下的AMS进行Hook&#xff0c;实现…

一个tomcat部署两个服务的server.xml模板

一个服务的文件夹名字叫hospital&#xff0c;一个服务的文件夹叫ROOT&#xff0c;一个tomcat运行两个服务如何配置呢&#xff1f;注意一个appBase为webapps&#xff0c;另一个appBase为webapps1,当然也可以放在一个webappps里面。 <Service name"Catalina">&l…

几个似非而是的注释问题

C 语言的注释可以出现在 C 语言代码的任何地方。这句话对不对&#xff1f;这是我当学生时我 老师问的一个问题。我当时回答是不对。好&#xff0c;那我们就看看下面的例子&#xff1a; A &#xff09;&#xff0c; int/*...*/i; B &#xff09;&#xff0c; char* s"…

多模块Springboot项目maven单独打包子模块

背景介绍 最近接手一个项目代号XXL&#xff0c;是一个多模块的Springboot项目&#xff0c;在解决了线上的bug之后&#xff0c;想单独给子模块打包上线部署&#xff0c;问题来了。如果整个工程一起mvn -X -DskipTests clean package&#xff0c;打包出来的XXL-web.jar是可以正常…

Andriod开发性能优化实践

文章目录 内存优化布局优化网络优化图片优化内存泄露绘制优化 内存优化 在Android开发中&#xff0c;有一些实践可以帮助进行内存优化&#xff0c;以减少应用程序的内存占用和提高性能。以下是一些常见的内存优化实践&#xff1a; 使用合适的数据结构和集合&#xff1a;选择合…

初学者入门进阶吉他推荐,卡马F1和VEAZEN费森VZ90系列怎么选?详细对比评测,哪一款更符合你的首选!

在新手入门单板吉他圈里&#xff0c;KEPMA卡马F1系列和VEAZEN费森VZ90系列是国内品牌一直都很热销的吉他型号&#xff0c;那么&#xff0c;今天就给大家做一个对比&#xff0c;新手们可以通过各方面评测分析&#xff0c;理性的看看哪把琴适合你买。希望对不知道如何选一把合适吉…

【WebGIS实例】(10)Cesium开场效果(场景、相机旋转,自定义图片底图)

效果 漫游效果视频&#xff1a; 【WebGIS实例】&#xff08;10&#xff09;Cesium开场效果&#xff08;场景、相机 点击鼠标后将停止旋转并正常加载影像底图&#xff1a; 代码 可以直接看代码&#xff0c;注释写得应该比较清楚了&#xff1a; /** Date: 2023-07-28 16:21…

认识 mysql 命令

文章目录 1.简介2.选项3.子命令4.小结参考文献 1.简介 mysql 是 MySQL 的命令行客户端工具&#xff0c;用于连接到 MySQL 服务器并执行 SQL 语句。 它支持交互式和非交互式两种使用方式。以交互方式使用时&#xff0c;查询结果以 ASCII 表格式呈现。 当以非交互方式使用时&am…