python03-保留字、标识符;变量、常量;数据类型、数据类型之间的转化

news2024/12/18 15:21:57

一、保留字 VS 标识符

1-1、35个保留字

 保留字,严格区分大小写

查询保留字:

1-2、标识符

常量:python中没有明确的定义常量的关键字,常量的值在程序运行过程中不允许修改!

二、变量 VS 常量

2-1、变量

变量名:必须是大小写英文、数字和_的组合,且不能用数字开头!

在Python中,没有显式的变量声明语句(如C或Java中的int x;)。

变量是在你第一次给它赋值隐式声明的:例如,x = 5不仅给变量x赋值5,还隐式地声明了变量x

如果你尝试使用一个尚未被赋值的变量,Python会抛出一个NameError异常,指出该变量未被定义。所以:使用前必须赋值!!!

Python是一种动态类型的语言,变量的类型可以随时变化!即:可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。

my_name = "小白龙"
print("我的名字是:", my_name)
print("类型是:", type(my_name))  # <class 'str'>

my_name = 10
print("类型是:", type(my_name)) # <class 'int'>

这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言

静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言。

2-2、常量

程序并没有限制,常量不能修改,但是这是共识!

三、数据类型

自定义类型:

此外,Python还支持通过类(class)定义自定义数据类型。类允许用户创建具有属性和方法的复杂数据结构。

3-1、数值类型

在Python编程语言中,数据类型被划分为可变(mutable)不可变(immutable)两大类。

不可变数据类型,顾名思义,指的是一旦数据被创建,其值就不能被更改。

这类数据类型的实例包括:整数(int)、浮点数(float)、字符串(str)以及元组(tuple)、布尔类型

例如,a = 5 创建了一个值为5的整数对象,之后你不能通过任何方式将a的值更改为另一个整数,如6。不过,你可以通过重新赋值来让变量a引用一个新的整数对象,例如a = 6,但这并不改变原先整数对象5的值,而是让a指向了一个新的整数对象6。

由于不可变数据类型的对象在创建后不能被修改,因此它们提供了数据的“安全性”。这意味着你可以放心地将不可变对象传递给函数或方法,而不用担心它们会被意外地更改。这也是Python中许多内置函数和方法返回不可变对象(如字符串元组)的原因之一

1、整数类型:不可变数据类型

对于很大的数,例如10000000000,很难数清楚0的个数。Python允许在数字中间以_分隔,因此,写成10_000_000_00010000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4

print(10_000_000_000) # 输出:10000000000

2、浮点数类型:不可变数据类型

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的。

对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8。

两个浮点数相加:

print(0.1+0.2) # 0.30000000000000004

# 定义两个浮点数
float_num1 = 3.14
float_num2 = 2.71

# 将两个浮点数相加
sum_of_floats = float_num1 + float_num2

# 打印结果: 两个浮点数的和是: 5.85
print("两个浮点数的和是:", sum_of_floats)

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。

由于浮点数的精度问题,有时相加的结果可能不会完全精确到小数点后很多位。——不确定的尾数。

解决办法:round函数。

round函数:

round() 函数用于将数字四舍五入到指定的小数位数。

round() 函数的基本语法是:

round(number, ndigits)
  • number 是你要四舍五入的数字。
  • ndigits 是可选参数,表示要保留的小数位数。如果省略,则默认值为 0,即四舍五入到最接近的整数。
print(0.1+0.2) # 0.30000000000000004
print(round(0.1+0.2, 1)) # 0.3

【注意】:

Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647

Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)

 

3、复数

复数由实部和虚部构成,其中实部是普通的实数,而虚部则是实数乘以虚数单位j(或J,Python对大小写不敏感)。

复数的标准形式为a + bj,其中a是实部,b是虚部,j是虚数单位。

在Python中,你可以通过以下几种方式创建复数:

1、使用复数字面量
num1 = 123 + 456j
print(num1) # (123+456j)
print(num1.real) # 123.0
print(num1.imag) # 456.0

num2 = 1.5 - 2.5j
print(num2) # (1.5-2.5j)
print(num2.real) # 1.5
print(num2.imag) # -2.5

 2、使用complex()函数

Python提供了一个内置的complex()函数,用于创建复数。你可以传递两个参数给这个函数:第一个参数是实部,第二个参数是虚部(如果省略第二个参数,则虚部默认为0)。

z3 = complex(2, 3)
z4 = complex(5)  # 虚部默认为0
print(z3)  # 输出: (2+3j)
print(z4)  # 输出: (5+0j)

4、布尔类型

python中一切皆对象!一个变量其实就是一个对象,每一个对象都有一个布尔值

 内置函数:bool

在 Python 中,bool 是一个内置函数,用于将一个值转换为布尔值(True 或 False)。

语法:

bool(x)
  • x:可以是任何类型的值。

bool 函数常用于条件判断。例如:

if bool(some_variable):
    print("some_variable 是 True")
else:
    print("some_variable 是 False")

不过,在 if 语句中,直接使用变量通常更为简洁和直观,因为 if 语句会自动调用 bool 函数:

if some_variable:
    print("some_variable 是 True")
else:
    print("some_variable 是 False")

3-2、字符串类型:不可变数据类型

三引号:定义多行字符串。

\t:制表位的大小与前面的字符个数有关,一个制表位是8个字符;

所以,空格的大小=(8-前面的字符个数)

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义: 

print('我\n在\n北\n京\n等\n你')
print('-----------------------')
print(r'我\n在\n北\n京\n等\n你')

string02='试一下字符串的索引'
print(string02[2]) # 下
print(string02[-2]) # 索

string03="abcds"
string04="我想吃巧克力"
print(string03+string04) # abcds我想吃巧克力
print(3*string04) # 我想吃巧克力我想吃巧克力我想吃巧克力
print('巧克力' in string04) # True

3-3、空值

空值是Python里一个特殊的值,用None表示。

None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

四、数据类型之间的转换

chr()和ord()是一段互为相反的操作。

内置函数:

Python 提供了一系列内置函数,这些函数无需导入任何模块即可直接使用。

x = 10
y = 3
print(x / y) # 3.3333333333333335 隐式转换

# 计算 10 / 3 的整数商
quotient = 10 // 3

# 计算 10 / 3 的余数
remainder = 10 % 3

# 输出结果
print("整数商:", quotient)  # 输出: 整数商: 3
print("余数:", remainder)   # 输出: 余数: 1

在Python中,eval()函数是一个内置函数,它能够将一个字符串str当成有效的表达式来求值并返回计算结果。 

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

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

相关文章

解决VSCode无法识别相对路径的问题

前言&#xff1a; 近日在学习python文件操作时&#xff0c;发现使用VSCode作为编辑器时&#xff0c;文件的相对路径会出问题&#xff0c;报错“指定路径下找不到文件”&#xff0c;无法找到想要的文件。 知识点①&#xff1a;不同操作系统所使用的路径斜杠不同&#xff1a;Lin…

c++理解(三)

本文主要探讨c相关知识。 模板是对类型参数化 函数模板特化不是模板函数重载 allocator(空间配置器):内存开辟释放,对象构造析构 优先调用对象成员方法实现的运算符重载函数,其次全局作用域找 迭代器遍历访问元素,调用erase&#xff0c;insert方法后&#xff0c;当前位置到容器…

「九」HarmonyOS 5 端云一体化实战项目——「M.U.」应用云侧开发云数据库

1 立意背景 M. 代表 “我”&#xff0c;U. 代表 “你”&#xff0c;这是一款用于记录情侣从相识、相知、相恋、见家长、订婚直至结婚等各个阶段美好记忆留存的应用程序。它旨在为情侣们提供一个专属的空间&#xff0c;让他们能够将一路走来的点点滴滴&#xff0c;如初次相遇时…

NVM:安装配置使用(详细教程)

文章目录 一、简介二、安装 nvm三、配置 nvm 镜像四、配置环境变量五、使用教程5.1 常用命令5.2 具体案例 六、结语 一、简介 在实际的开发和学习中可能会遇到不同项目的 node 版本不同&#xff0c;而出现的兼容性问题。 而 nvm 就可以很好的解决这个问题&#xff0c;它可以在…

Spark优化----Spark 数据倾斜

目录 数据倾斜的表现&#xff1a; 定位数据倾斜问题&#xff1a; 解决方案一&#xff1a;聚合原数据 避免 shuffle 过程 缩小 key 粒度&#xff08;增大数据倾斜可能性&#xff0c;降低每个 task 的数据量&#xff09; 增大 key 粒度&#xff08;减小数据倾斜可能性&#xff0c…

第十六届蓝桥杯模拟赛(第一期)-Python

本次模拟赛我认为涉及到的知识点&#xff1a; 分解质因数 Python的datetime库 位运算 简单dp 1、填空题 【问题描述】 如果一个数 p 是个质数&#xff0c;同时又是整数 a 的约数&#xff0c;则 p 称为 a 的一个质因数。 请问 2024 有多少个质因数。 【答案提交】 这是一道结…

MATLAB2021B APP seriallist 串口通信

文章目录 前言一、项目需要二、使用步骤1.查找串口填写到查找列表2.发送函数3. 接收函数4.检测串口按钮5.选择串口号 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 项目需要&#xff1a; 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面…

OpenShift 4 - 多云管理(2) - 配置多集群观察功能

《OpenShift / RHEL / DevSecOps 汇总目录》 本文在 OpenShift 4.17 RHACM 2.12 环境中进行验证。 文章目录 多集群观察技术架构安装多集群观察功能监控多集群的运行状态监控多集群的应用运行在被管集群监控应用运行在管理集群监控被管集群的应用运行 参考 多集群观察技术架构…

AMBA-CHI协议详解(十二)

AMBA-CHI协议详解&#xff08;一&#xff09;- Introduction AMBA-CHI协议详解&#xff08;二&#xff09;- Channel fields / Read transactions AMBA-CHI协议详解&#xff08;三&#xff09;- Write transactions AMBA-CHI协议详解&#xff08;四&#xff09;- Other transac…

【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)

一、RAGFlow简介 RAGFlow是一个基于对文档深入理解的开源RAG&#xff08;Retrieval-augmented Generation&#xff0c;检索增强生成&#xff09;引擎。 主要作用&#xff1a; 让用户创建自有知识库&#xff0c;根据设定的参数对知识库中的文件进行切块处理&#xff0c;用户向大…

Android中坐标体系知识超详细讲解

说来说去都不如画图示意简单易懂啊&#xff01;&#xff01;&#xff01;真是的&#xff01; 来吧先上张图&#xff01; &#xff08;一&#xff09;首先明确一下android 中的坐标系统&#xff1a; 屏幕的左上角是坐标系统原点&#xff08;0,0&#xff09; 原点向右延伸是X轴正…

IO的进阶

目录 1. 字符流转向字节流的桥梁1.1 OutputStreamWriter1.2 InputStreamReader1.3 编码与解码1.4 常见编码方式1.5 编码与解码的注意事项 2.Properties2.1概述2.2 Properties 的常用方法2.3 Properties 的应用场景2.4 实例 3.序列化3.1 ObjectOutputStream 4.字符编码4.1 ASCII…

【计算机网络】期末考试预习复习|中

作业讲解 转发器、网桥、路由器和网关(4-6) 作为中间设备&#xff0c;转发器、网桥、路由器和网关有何区别&#xff1f; (1) 物理层使用的中间设备叫做转发器(repeater)。 (2) 数据链路层使用的中间设备叫做网桥或桥接器(bridge)。 (3) 网络层使用的中间设备叫做路…

Edge Scdn用起来怎么样?

Edge Scdn&#xff1a;提升网站安全与性能的最佳选择 在当今互联网高速发展的时代&#xff0c;各种网络攻击层出不穷&#xff0c;特别是针对网站的DDoS攻击威胁&#xff0c;几乎每个行业都可能成为目标。为了确保网站的安全性与稳定性&#xff0c;越来越多的企业开始关注Edge …

UE4_控件蓝图_制作3D生命血条

一&#xff1a;效果图如下&#xff1a; 二、实现步骤&#xff1a; 1、新建敌人 右键蓝图类 选择角色&#xff0c; 重命名为BP_Enemytest。 双击打开&#xff0c;配置敌人网格体 修改位置及朝向 效果如下&#xff1a; 选择合适的动画蓝图类&#xff1a; 人物就有了动作&#x…

厦门凯酷全科技有限公司引领电商营销新风尚

在当今数字化经济快速发展的背景下&#xff0c;抖音作为领先的短视频和直播平台&#xff0c;已成为品牌推广和产品销售的重要渠道。厦门凯酷全科技有限公司&#xff08;以下简称“凯酷全”&#xff09;凭借其专业的团队和丰富的经验&#xff0c;专注于为客户提供高质量的抖音电…

高扬程潜水泵:大流量与高效率的完美结合|深圳鼎跃

洪水是由暴雨、风暴潮等等自然因素引起的江河湖海水量迅速增加或水位迅猛上涨的水流现象。一旦发生洪水事件&#xff0c;会侵袭河道沿岸的城市、农田等场景&#xff0c;在低洼地区容易形成积水&#xff0c;不仅影响人们的生活&#xff0c;还存在一定的安全风险。 高扬程潜水泵是…

神经网络基础-神经网络搭建和参数计算

文章目录 1.构建神经网络2. 神经网络的优缺点 1.构建神经网络 在 pytorch 中定义深度神经网络其实就是层堆叠的过程&#xff0c;继承自nn.Module&#xff0c;实现两个方法&#xff1a; __init__方法中定义网络中的层结构&#xff0c;主要是全连接层&#xff0c;并进行初始化。…

web网页前后端交互方式

参考该文&#xff0c; 一、前端通过表单<form>向后端发送数据 前端是通过html中的<form>表单&#xff0c;设置method属性定义发送表单数据的方式是get还是post。 如使用get方式&#xff0c;则提交的数据会在url中显示&#xff1b;如使用post方式&#xff0c;提交…

Mac配置 Node镜像源的时候报错解决办法

在Mac电脑中配置国内镜像源的时候报错,提示权限问题,无法写入配置文件。本文提供解决方法,青测有效。 一、原因分析 遇到的错误是由于 .npm 目录下的文件被 root 用户所拥有,导致当前用户无法写入相关配置文件。 二、解决办法 在终端输入以下命令,输入管理员密码即可。 su…