Python基础语法(上)

常量和表达式

我们可以使用python来进行一些+ - * / %的一些运算

print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)

python中的运算规则与数学当中一致,先乘除后加减,有括号的先计算括号里面的。

形如 1 + 2 - 3 这样是算式, 在编程语言中称为 表达式, 算式的运算结果, 称为 表达式的返回值。

其中 1, 2, 3 这种称为 字面值常量, + - * / 这种称为 运算符 或者 操作符。

需要值得注意的是:在python中,2 / 3 == 0.6666....,而不是0,在C/C++,java中,整数除以整数的结果还是整数,并且会把小数部分舍弃。

而可能又有人出现疑问,为什么 1 + 2/3的结果是1.666666...5而不是1.666666....7,是因为在编程运算中,一般没有“四舍五入”这样的规则,在IEEE754标准下,在内存中表示浮点数的时候,可能会出现微小的误差。

变量

变量可以被认为是一块能够容纳数据的空间。

变量命名规则

1.变量命名必须由数字,字母,下划线构成,不能包含其他特殊符号

2.数字不能作为开头

3.变量名不能和Python的‘关键字’重复

4.变量名大小写敏感. num 和 Num 是两个不同的变量名

非必须规则:变量名使用有描述性的单词来表示, 尽量表达出变量的作用.

变量的类型

变量里面存储的不仅仅是数字, 还可以存储其它种类的数据. 为了区分不同种类的数据, 我们引入了 "类型" 这样的概念。

python中变量的类型,不需要在定义变量的时候显式声明而是依靠初始化语句,根据初始化的值的类型进行确定的。

(1)整数

a = 10
print(type(a))

Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够 大, 理论上就可以表示无限大小的数据,因此在python中就没有long这样的类型了。

(2)浮点数

b = 0.3
print(type(b))

python和 C++ / Java 等语言不同, Python 的小数只有 float 一种类型, 没有 double 类型. 但是实际上 Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数。

一个二进制位,称为一个bit,8个bit放在一起就是一个字节。

(3)字符串

e = 'h'
print(type(e))
c='hell0'
print(type(c))

 

使用 ' ' 或者 " " 引起来的, 称为 字符串. 可以用来表示文本

Python和C/C++,不同的是,只有字符串类型,因此单个字符,也是字符串类型。

如果字符串里包含了双引号,我们就用单引号引起来,反之则用双引号引起来,如果既包含双引号又包含单引号,就使用三引号'''   """括起来。

(4)布尔

布尔类型是一个特殊的类型, 取值只有两种, True (真) 和 False (假)。

多类型的意义

(1) 类型决定了数据在内存中占据多大空间

(2) 类型其实约定了能对这个变量做什么样的操作.

int/float类型能够进行 + - * /等操作,但不能使用len

str类型能进行+ 操作,但不能进行- * /等,可以使用len

动态类型和静态类型

动态类型:运行过程中,变量的类型可能会发生改变。

静态类型:程序运行过程中,变量的类型始终不变。

输入输出

num = input("请输入一个整数:")
print(type(num))

 

值得注意的是:input返回的值是str类型。

如果我们要将得到的input返回值进行运算,就需要将它转换成int类型。int()。

a = input('请输入第一个整数: ')
b = input('请输入第二个整数: ')
a = int(a)
b = int(b)
print(f'a + b = {a + b}')

 

print(f 'a = {a}') ,这个语法叫做格式化字符串,f-string此处的f表示“format”,此时就可以使用{ }这样的语法,往字符串里嵌入变量或者表达式。

运算符

(1)算术运算符

像 + - * / % ** // 这种进行算术运算的运算符, 称为算术运算符。

我们重点介绍一下//运算符。

// 地板除法(取整除法),会针对计算的结果进行“向下取整”。

print(7//2)
print(-7//2)

 

(2)关系运算符

像 < >= == != 这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系。

1.关系运算符对应的表达式,值是布尔类型

表达式符合要求,为真

不符合要求,为假

2.关系运算符不光可以针对数字进行比较,还能够比较“字符串”

字典序!先看首字母,首字母越靠前就越小。小写字母大于大写字母。也可以看相关的ASII码值。a的值为:97,A的值为:65。首字母相等就依次向后比较。

(3)逻辑运算符

and 并且 两侧操作数均为True,最终结果也为True,否则为False。(一假则假)

or 或者 两侧操作数均为False,最终结果为False,否则为True。(一真则真)

not 逻辑取反 操作数本身为False,结果为True。操作数本身为True,结果为False。

短路求值

对于and操作来说,如果左侧表达式为False,那么结果也就为False,右侧表达式就不必求值。

对于or操作来说,如果左侧表达式为True,那么结果也就为True,右侧表达式就不必求值。

总结:

在Python中,报错通常有两种情况

1.语法错误,在程序运行前,Python解释器,就能把错误识别出来。

2.运行错误,在程序运行之前,识别不了的代码,必须要执行到相应代码,才能发现问题。

如果把布尔类型的值和整数进行算术运算,此时就会把True当作1,False当作0。

在Python中,一个语句写完了之后,可以加上分号,也可以不加。通常情况下都是不加的。

如果把多个语句写到了同一行,这个时候语句就要加上分号。

 

 

 

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

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

相关文章

数图闪耀2025深圳CCFA中国零售博览会:AI+零售数字化解决方案引发现场热潮

展会时间&#xff1a;2025年5月8日—10日 地点&#xff1a;深圳国际会展中心&#xff08;宝安新馆&#xff09; 【深圳讯】5月8日&#xff0c;亚洲规模最大的零售行业盛会——2025 CCFA中国零售博览会在深圳盛大开幕。本届展会汇聚全球25个国家和地区的900余家参展商&#xff…

方法:批量识别图片区域文字并重命名,批量识别指定区域内容改名,基于QT和阿里云的实现方案,详细方法

基于QT和阿里云的图片区域文字识别与批量重命名方案 项目场景 ​​企业档案管理​​:批量处理扫描合同、发票等文档,根据编号或关键信息自动重命名文件​​医疗影像管理​​:识别X光、CT等医学影像中的患者信息,按姓名+检查日期重命名​​电商订单处理​​:从订单截图中提…

Mybatis解决以某个字段存在,批量更新,不存在批量插入(高效)(一)

背景 在开发企业级应用时&#xff0c;我们经常需要处理批量数据的插入和更新操作。传统的逐条处理方式性能低下&#xff0c;而简单的REPLACE INTO或INSERT ... ON DUPLICATE KEY UPDATE在某些场景下又不够灵活。本文将介绍一种基于临时表的高效批量插入/更新方案&#xff0c;解…

JVM、JRE、JDK的区别

JVM JVM全称Java虚拟机(Java Virtual Machine, JVM),它是运行java字节码的虚拟机&#xff0c;JVM针对不同的系统有不同的实现&#xff0c;目的运行相同的字节码有同样的结果&#xff0c;JVM是“一次编译&#xff0c;到处运行”实现的关键。如下不同的编程语言编译生成字节码文…

神经元和神经网络定义

在深度学习中&#xff0c;神经元和神经网络是构成神经网络模型的基本元素。让我们从基础开始&#xff0c;逐步解释它们的含义和作用。 1️⃣ 神经元是什么&#xff1f; 神经元是神经网络中的基本计算单元&#xff0c;灵感来自于生物神经系统中的神经元。每个人的脑中有数以亿…

CDGP重点知识梳理

写在前面 全文11700字,共82个重点知识 目 录 考点分布 考试要求 第一章 数据管理-5%

Ubuntu 22.04 安装配置远程桌面环境指南

在云服务器或远程主机上安装图形化桌面环境,可以极大地提升管理效率和用户体验。本文将详细介绍如何在 Ubuntu 22.04 (Jammy Jellyfish) 系统上安装和配置 Xfce4 桌面环境,并通过 VNC 实现远程访问。 系统环境 操作系统:Ubuntu 22.04 LTS (Jammy Jellyfish)架构:AMD64安装…

node提示node:events:495 throw er解决方法

前言 之前开发的时候喜欢使用高版本&#xff0c;追求新的东西&#xff0c;然后回头运行一下之前的项目提示如下 项目技术栈&#xff1a;node egg 报错 node:events:495 throw er; // Unhandled error event ^ Error: ENOENT: no such file or directory, scandir F:\my\gi…

【软件设计师:软件工程】9.软件开发模型与方法

一、软件危机与软件工程 软件危机与软件工程是计算机科学发展中密切相关的两个概念。 1.软件危机(Software Crisis) 背景:20世纪60年代至80年代,随着计算机硬件性能提升,软件规模与复杂度剧增,传统开发方法难以应对,导致大量项目失败。 表现: 成本失控:开发周期长、…

范式之殇-关系代数与参照完整性在 Web 后台的落寞

最近参加了一个PostgreSQL相关的茶会&#xff0c;感慨良多。原本话题是PostgreSQL 在 SELECT 场景中凭借其成熟的查询优化器、丰富的功能特性和灵活的执行策略&#xff0c;展现出显著优势。在窗口函数&#xff08;Window Functions&#xff09;、JOIN 优化、公共表表达式&#…

WebRTC工作原理详细介绍、WebRTC信令交互过程和WebRTC流媒体传输协议介绍

简介 WebRTC&#xff08;Web Real-Time Communication&#xff09;是一项允许在网页浏览器之间进行音视频通信的技术&#xff0c;基本不需要安装额外的插件。它的核心特点是支持低延迟的点对点&#xff08;P2P&#xff09;通讯&#xff0c;常用于视频聊天、实时文件共享、多人…

【大语言模型ChatGPT4/4o 】“AI大模型+”多技术融合:赋能自然科学暨ChatGPT在地学、GIS、气象、农业、生态与环境领域中的应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

提升编程效率的利器:Zed高性能多人协作代码编辑器

在当今这个快节奏的开发环境中&#xff0c;一个高效、灵活的代码编辑器无疑对开发者们起着至关重要的支持作用。Zed&#xff0c;作为来自知名编辑器Atom和语法解析器Tree-sitter的创造者的心血之作&#xff0c;正是这样一款高性能支持多人合作的编辑神器。本文将带领大家深入探…

基于51单片机步进电机控制—9个等级

基于51单片机步进电机控制 &#xff08;仿真&#xff0b;程序&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.使用L298驱动步进电机转动&#xff0c;可分为9个速度等级&#xff08;1级最快&#xff0c;9级最慢&#xff09;&#xff1b; 2.使用74HC595驱…

【某OTA网站】phantom-token 1004

新版1004 phantom-token 请求头中包含phantom-token 定位到 window.signature 熟悉的vmp 和xhs一样 最新环境检测点 最新检测 canvas 下的 toDataURL方法较严 过程中 会用setAttribute给canvas 设置width height 从而使toDataURL返回不同的值 如果写死toDataURL的返回值…

LSTM的简单模型

好的&#xff0c;我来用通俗易懂的语言解释一下这个 LSTMTagger 类是如何工作的。 1️⃣ 类的目的 这个 LSTMTagger 类是一个用于自然语言处理&#xff08;NLP&#xff09;任务的模型&#xff0c;目的是标注输入的句子&#xff0c;通常用于词性标注&#xff08;例如&#xff…

每天批次导入 100 万对账数据到 MySQL 时出现死锁

一、死锁原因及优化策略 1.1 死锁原因分析 批量插入事务过大&#xff1a; Spring Batch 默认将整个 chunk&#xff08;批量数据块&#xff09;作为一个事务提交&#xff0c;100 万数据可能导致事务过长&#xff0c;增加锁竞争。 并发写入冲突&#xff1a; 多个线程或批处理作…

DeepResearch深度搜索实现方法调研

DeepResearch深度搜索实现方法调研 Deep Research 有三个核心能力 能力一&#xff1a;自主规划解决问题的搜索路径&#xff08;生成子问题&#xff0c;queries&#xff0c;检索&#xff09;能力二&#xff1a;在探索路径时动态调整搜索方向&#xff08;刘亦菲最好的一部电影是…

跟我学C++中级篇——STL容器的查找对比

一、C标准库的查找 在C的STL中&#xff0c;对容器或相关序列的查找中&#xff0c;有两种方式&#xff0c;一种是std::find&#xff0c;另外一种是std::search。而且在它们的基础上&#xff0c;还衍生出std::find_if、std::find_if_not、std::find_end等和std::search_n、range…

SpringAI框架中的RAG知识库检索与增强生成模型详解

SpringAI框架中的RAG知识库检索与增强生成模型详解 一、RAG简介 RAG&#xff08;Retrieval-Augmented Generation&#xff09;可以通过检索知识库&#xff0c;克服大模型训练完成后参数冻结的局限性&#xff0c;携带知识让大模型根据知识进行回答。 二、SpringAI框架支持的R…