Python零基础入门(四)——变量,数据类型与运算符

news2024/12/26 16:27:13

系列文章目录

个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页
Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟
码字不易,如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!😊😊😊


文章目录

  • 系列文章目录
  • 导语
  • 变量
    • 变量的定义与使用
  • 数据类型
    • 数字类型
      • 整数
      • 浮点数
      • 复数
    • 字符串类型
    • 布尔类型
    • 数据类型转换
  • 运算符
    • 运算符的优先级
  • 结语

导语

欢迎来到本篇博客,如果你是一个完全零基础的 Python 初学者,想要了解有关变量、数据类型和运算符的基础知识,那么你来对地方了!本文将带领你逐步入门 Python 编程语言的核心概念,让你轻松掌握这些重要的基础知识。

变量

在 Python 中,变量是用来存储数据的容器。你可以将变量看作是给数据起了一个名字,通过这个名字可以方便地引用和操作数据。

变量的定义与使用

在 Python 中,定义变量非常简单,不需要先声明变量类型,只需要给变量取一个名字,并使用等号将其与数据关联起来。例如:

x = 5
message = "Hello, world!"

上面的例子中,我们定义了两个变量:xmessagex 存储了整数值 5,message 存储了字符串值 “Hello, world!”。

但是变量的命名并不是任意的,应遵循以下几条规则

  • 变量名必须是一一个有效的标识符。
  • 变量名不能使用 Python 中的保留字。
  • 慎用小写字母 1 和大写字母 O。
  • 应选择有意义的单词作为变量名。

另外,Python 是一种动态类型的语言,也就是说,变量的类型可以随时变化。例如,创建变量 myname,并赋值为字符串“生化危机”,然后输出该变量的类型,可以看到该变量为字符串类型,再将变量赋值为数值 505,并输出该变量的类型,可以看到该变量为整型。执行过程如下:

>>> myname = "生化危机"		# 字符串类型的变量
>>> print(type(myname))
<class 'str'>
>>> myname = 505			# 整型的变量
>>> print(type(myname))
<class 'int'>

在 Python 语言中,使用内置函数 type() 可以返回变量类型。

在 Python 中,允许多个变量指向同一个值。例如:将两个变量都赋值为数字 2048,再分别应用内置函数 id() 获取变量的内存地址,将得到相同的结果。执行过程如下:

>>> no = number = 2048
>>> print(id(no))
2863084519568
>>> print(id(number))
2863084519568

在 Python 语言中,使用内置函数 id() 可以返回变量所指的内存地址。

数据类型

Python 中有多种数据类型,每种类型用于存储不同种类的数据。以下是 Python 中常见的数据类型:

数字类型

在 Python 中,数字类型主要包括整数、浮点数和复数。

整数

整数用来表示整数数值,即没有小数部分的数值。在 Python 中,整数包括正整数、负整数和 0,并且它的位数是任意的(当超过计算机自身的计算功能时,会自动转用高精度计算),如果要指定一个非常大的整数,只需要写出其所有位数即可。

整数类型包括十进制整数、八进制整数、十六进制整数和二进制整数。

  • 十进制整数

    十进制整数的表现形式大家都很熟悉。例如,下面的数值都是有效的十进制整数。

    3141 5926535897932384626
    66666666666666666666666666666666666666666666666666666666666666666666
    -2018
    0

    注意:十进制数不能以 0 作为开头(0 除外)。

  • 八进制整数

    由 0~7 组成,进位规则是 “逢八进一”,并且以 0o/0O 开头的数,如 0o123(转换成十进制数为 83)、-0o123(转换成十进制数为 -83)。

  • 十六进制整数

    由 0~9,A~F 组成,进位规则是 “逢十六进一”,并且以 0x/0X 开头的数,如 0x25(转换成十进制数为 37)、0Xb01e(转换成十进制数为 45086)。

  • 二进制整数

    只有 0 和 1 两个基数,进位规则是 “逢二进一”,并且以 0b/0B 开头的数。 如 0b101(转换为十进制数为 5)、0b1010(转换为十进制为 10)。

浮点数

浮点数由整数部分和小数部分组成,主要用于处理包括小数的数。例如,1.414、0.5、-1.732、3.1415926535897932384626等。浮点数也可以使用科学计数法表示。例如,2.7e2、 3.14e5 和 6.16e-2等。

注意:在使用浮点数进行计算时,可能会出现小数位数不确定的情况。例如,计算 0.1+0.1 时,可以得到想要的结果 0.2,而计算 0.1+0.2 时,却得到 0.30000000000000004 (想要的结果为 0.3)。

对于这种情况,所有语言都存在这个问题,暂时忽略多余的小数位数即可。

复数

Python 中的复数与数学中的复数的形式完全一致,都是由实部和虚部组成,并且使用 j 或 J 表示虛部。当表示一个复数时,可以将其实部和虚部相加,例如,一个复数,实部为 3.14,虚部为 12.5j,则这个复数为 3.14+12.5j。

字符串类型

字符串就是连续的字符序列,可以是计算机所能表示的一一切字符的集合。在 Python 中,字符串属于不可变序列,通常使用单引号 “ ’ ’ ”、双引号 “ " " ” 或者三引号“ ‘’’ ‘’’ ”括起来。这三种引号形式在语义上没有差别,只是在形式上有些差别。其中单引号和双引号中的字符序列必须在一行上,而三引号内的字符序列可以分布在连续的多行上

注意:字符串开始和结尾使用的引号形式必须一致。另外当需要表示复杂的字符串时,还可以进行引号的嵌套。例如,下面的字符串也都是合法的。

‘在 Python 中也可以使用双引号(" ")定义字符串’
" ‘(… )nnn’ 也是字符串"
‘’’ ‘—’ “__” *** ‘’’

Python 中的字符串还支持转义字符。所谓转义字符是指使用反斜杠 “\” 对一些特殊字符进行转义。常用的转义字符如下表所示。

转义字符说明
\续行符
\n换行符
\0
\t水平制表符,用于横向跳到下一制表位
"双引号
单引号
\一个反斜杠
\f换页
\0dd八进制数,dd 代表的字符,如 \012 代表换行
\xhh十六进制数,hh 代表的字符,如 \x0a 代表换行

注意:在字符串界定符的前面加上字母 r(或 R),那么该字符串将原样输出,其中的转义字符将不进行转义。例如,输出字符串“ “失望之酒\x0a机会之杯” ”将正常输出转义字符换行,而输出字符串“ r"失望之酒\x0a机会之杯" ”,则原样输出,执行结果如下所示。

>>> print("失望之酒\x0a机会之杯")
失望之酒
机会之杯
>>> print(r"失望之酒\x0a机会之杯")
失望之酒\x0a机会之杯

布尔类型

布尔类型主要用来表示真或假的值。在 Python 中,标识符 True 和 False 被解释为布尔值。另外,Python 中的布尔值可以转化为数值,其中 True 表示 1,而 False 表示 0。

说明:Python 中的布尔类型的值可以进行数值运算,例如,“False + 1” 的结果为 1。但是不建议对布尔类型的值进行数值运算。

在 Python 中,所有的对象都可以进行真值测试。其中,只有下面列出的几种情况得到的值为假,其他对象在 if 或者 while 语句中都表现为真。

  • False 或 None.
  • 数值中的零,包括0、0.0、虚数0。
  • 空序列,包括字符串、空元组、空列表、空字典。
  • 自定义对象的实例,该对象的 __bool__ 方法返回 False,或 __len__ 方法返回 0。

数据类型转换

Python 是动态类型的语言(也称为弱类型语言),虽然不需要先声明变量的类型,但有时仍然需要用到类型转换。在 Python 中,提供了如下表所示的函数进行各数据类型间的转换。

函数作用
int(x)将 x 转换成整数类型
int(x,n)将 n 进制的字符串 x 转换成整数类型
float(x)将 x 转换成浮点数类型
complex(real [,imag])创建一个复数
str(x)将 x 转换为字符串
repr(x)将 x 转换为表达式字符串
eval(str)计算在字符串中的有效 Python 表达式,并返回一个对象
chr(x)将整数 x 转换为一个字符
ord(x)将一个 ASCII 字符 x 转换为它对应的整数值
hex(x)将一个整数 x 转换为一个十六进制字符串
oct(x)将一个整数 x 转换为一个八进制的字符串
bin(x)将一个整数 x 转换为一个二进制的字符串

运算符

Python 提供了丰富的运算符,用于执行各种数学和逻辑操作。以下是一些常用的运算符:

  • 算术运算符:用于执行基本的数学运算,如加法、减法、乘法、除法、求余、取整除和幂。例如 +, -, *, /, %, //, **

  • 赋值运算符:用于将值赋给变量。例如 =, +=, -=, *=, /=, %=, //=, **=

  • 比较(关系)运算符:用于比较两个值的大小关系,返回布尔值(True 或 False)。例如 >, <, ==, !=, >=, <=

  • 逻辑运算符:用于组合多个条件,返回布尔值。例如 and, or, not

  • 成员运算符:用于检查元素是否存在于某个集合中。例如 in, not in

  • 位运算符:位运算符是把数字看作二进制数来进行计算的,因此,需要先将要执行运算的数据转换为二进制,然后才能执行运算。Python 中的位运算符有位与、位或、位异或、位取反、左移位和右移位,&, |, ^, ~, <<, >>

注意

  • 使用除法(/ 或 //)运算符和求余运算符时,除数不能为 0,否则将会出现异常。

  • 混淆 “ = ” 和 “ == ” 是编程中最常见的错误之一。很多语言(不只是 Python)都使用了这两个符号,另外每天都有很多程序员用错这两个符号。“ = ” 是赋值运算符,“ == ” 是比较运算符。

  • 在 Python 中,当需要判断一个变量是否介于两个值之间时,可以采用 “值1<变量<值2” 的形式,如 “0<a< 100”。

运算符的优先级

所谓运算符的优先级,是指在应用中哪一一个 运算符先计算,哪-一个后计算,Python 运算符的运算规则是

  • 优先级高的运算先执行,优先级低的运算后执行。
  • 同优先级的操作按照从左到右的顺序进行。
  • 可以使用 “()” 调整计算的优先级,括号内的运算最先执行。

下表按从高到低的顺序列出了运算符的优先级,同一行中的运算符具有相同优先级。

运算符说明
**
~、+、-取反、正号和负号
*、/、%、//算术运算符
+、-算术运算符
<<、>>位运算符中的左移和右移
&位运算符中的位与
^位运算符中的位异或
|位运算符中的位或
<、<=、>、>=、!=、==比较运算符

结语

希望通过本篇博客,你对 Python 中的变量、数据类型和运算符有了更清晰的理解。这些是你开始编写 Python 程序的基础,将会在你的编程旅程中起到重要的作用。祝你在学习 Python 的过程中取得成功!

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

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

相关文章

采集数据发布到WordPress网站指定分类栏目

将采集的文章数据发布到WordPressCMS网站指定分类栏目&#xff0c;设置方法如下&#xff1a; 目录 1. 获取分类名称或ID 2. 对接网站发布 1. 获取分类名称或ID 在wordpress后台获取对应的分类栏目名称或者ID都可以。 点击左侧菜单【文章】 --> 然后点击展开菜单中的【…

自然语言处理的最新研究与发展

第一章&#xff1a;引言 自然语言处理&#xff08;Natural Language Processing&#xff0c;简称NLP&#xff09;是人工智能领域中一项重要而受关注的技术&#xff0c;它致力于实现计算机与人类自然语言之间的有效交互。随着深度学习技术的快速发展&#xff0c;NLP领域也取得了…

LNMP架构——Discuz! Board 管理中心

文章目录 一.LNMP架构基本概念1.什么是LNMP2.LNMP实现过程3.LNMP的特点 二.安装Nginx 服务&#xff11;.安装依赖包&#xff12;.创建运行用户&#xff13;.编译安装&#xff14;.优化路径&#xff15;.添加 Nginx 系统服务 三.安装 MySQL 服务&#xff11;.安装Mysql环境依赖包…

java运动会管理系统

目录 一、项目介绍 1、主要功能介绍 二、分析与设计 三、问题与分析 四、小结 五、代码 一、项目介绍 1、主要功能介绍 对于管理者&#xff1a; 1、登录系统来发布运动会的项目以及对应项目的比赛规则 2、管理者也可以修改运动会比赛时间和地点&#xff0c;如果管理者…

漏刻有时数据可视化Echarts组件开发(27):端午地图粽情之你的家乡吃甜还是吃咸?

端午地图粽情之你的家乡吃甜还是吃咸&#xff1f; 前言Echarts创意来源Echarts核心代码1.引入外部文件2.构建HTML容器3.Echarts组件开发预置各省数据初始化DOM配置选项geo组件series组件自适应浏览器完整option选项配置代码 前言 中国各地对粽子的口味偏好存在一定的差异&…

vue中的数据响应化

1、Vue的设计思想 MVVM框架的三要素&#xff1a;数据响应式、模板引擎及其渲染 数据响应式&#xff1a;监听数据变化并在视图中更新 Object.defineProperty()Proxy 模版引擎&#xff1a;提供描述视图的模版语法 插值&#xff1a;{{}}指令&#xff1a;v-bind&#xff0c;v-on…

chatgpt赋能python:Python构造器:理解类和对象的初始化方法

Python构造器&#xff1a;理解类和对象的初始化方法 Python是一门面向对象的编程语言&#xff0c;它的核心思想是数据和操作是紧密耦合的&#xff0c;而这些操作被封装到对象中。对象是一个具有属性和方法的实体&#xff0c;而类则是一种可以创建相同类型对象的蓝图。在Python…

chatgpt赋能python:Python有宏吗?

Python 有宏吗&#xff1f; 什么是宏&#xff1f; 在编程中&#xff0c;宏指的是一种代码编写方式&#xff0c;可以将一部分代码封装成可以被调用的函数或者语句&#xff0c;以便于在程序中重复使用。相对于普通的函数&#xff0c;宏更为灵活&#xff0c;可以达到更高的效率&…

RuntimeError: launcher ‘pdsh‘ not installed解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【吃透网络安全】2023软考网络管理员考点网络安全(三)计算机系统安全评估

涉及知识点 计算机系统安全评估准则&#xff0c;计算机系统安全评估历史&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 后面还有更多续篇希望大家能给个赞哈&#xff0c;这边提供个快捷入口&#xff01; 第一节…

二叉树题目:二叉树的后序遍历

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;二叉树的后序遍历 出处&#xff1a;145. 二叉树的后序遍历 难度 3 级 题目…

沁恒CH32V103 边玩边学1-开发环境与GPIO项目

为什么选择这块板子&#xff1f; 它基于 RISC-V 架构&#xff0c;来看看 GPT 给出的介绍&#xff1a; RISC-V 是一种开源的指令集架构(ISA),与 x86 和 ARM 相似。它具有以下主要特点 • 简单 - RISC-V 采用精炼而简单的 RISC 指令设计,只有一些基本的常用指令。这使得 RISC-V…

CRM未来发展的6大方向

在数字化时代&#xff0c;几乎所有的企业都受到了数字化的洗礼&#xff0c;CRM作为企业数字化转型中的不可缺少的业务系统之一&#xff0c;也受到越来越企业的关注。 纵观CRM发展的趋势&#xff0c;当下CRM系统已经从早期的主要以记录&收集客户资料、管理销售的单点式管理延…

css基础知识四:说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别?

一、背景 在css中我们通常使用px作为单位&#xff0c;在PC浏览器中css的1个像素都是对应着电脑屏幕的1个物理像素 这会造成一种错觉&#xff0c;我们会认为css中的像素就是设备的物理像素 但实际情况却并非如此&#xff0c;css中的像素只是一个抽象的单位&#xff0c;在不同…

深入浅出Node.js中的node_modules

文章目录 1. 什么是node_modulesnode_modules是什么npm包管理器和node_modules的关系 2. 如何安装和使用node_modulesnpm安装和使用node_modules的基本命令package.json文件的作用和结构npm包版本号的含义及如何管理包版本 3. 如何发布自己的npm包npm包的结构和规范如何将自己的…

端午出行电脑没网怎么办?无线网卡解决网络问题

无线网卡是一种可以让电脑或其他设备通过无线信号连接网络的硬件设备&#xff0c;无线网卡有多种类型和接口&#xff0c;例如USB无线网卡&#xff0c;PCI-E无线网卡&#xff0c;PCMCIA无线网卡等。端午出行在即&#xff0c;不妨看看驱动人生准备的无线网卡攻略&#xff0c;让大…

什么是kafka,如何学习kafka,整合SpringBoot

目录 一、什么是Kafka&#xff0c;如何学习 二、如何整合SpringBoot 三、Kafka的优势 一、什么是Kafka&#xff0c;如何学习 Kafka是一种分布式的消息队列系统&#xff0c;它可以用于处理大量实时数据流。学习Kafka需要掌握如何安装、配置和运行Kafka集群&#xff0c;以及如…

Kubernetes设计架构

一&#xff1a;Kubernetes是什么 Kubernetes是容器集群管理系统&#xff0c;是一个开源的平台&#xff0c;可以实现容器集群的自动化部署、自动扩缩容、维护等功能 通过Kubernetes可以&#xff1a; 快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源&#xff0c;优化硬…

chatgpt赋能python:Python桌面软件的优势和发展

Python桌面软件的优势和发展 作为一种高级编程语言&#xff0c;Python已经在广大的程序员中得到了越来越广泛的应用&#xff0c;同时也成为了一种非常适合开发桌面软件的语言。下面&#xff0c;我们将重点介绍Python桌面软件的优势和发展。 Python桌面软件的优势 Python编程…

ubuntu18修改源

1. 查看当前系统的源 系统的源 2. 将sources.list备份&#xff0c;sources-bak.list是备份文件 3. 选择要换的源 # 默认注释了源码镜像以提高 apt update 速度&#xff0c;如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted un…