当前位置: 首页 > news >正文

Python基础语法1:注释与输入输出、变量与简单数据类型、运算符与表达式、条件判断与循环

Python是一个大家都很熟悉的语言,由于Python语法简单、免费开源、各种三方库,很多专业都有学习应用,GIS专业也是,不论是ArcGIS还是QGIS等,都对Python有广泛的支持,所以我们学习Python其实主要是软件应用层面的应用编程。最近闲下来没事,打算略微系统的学习一下Python基础,我的学习笔记是参考《尚硅谷Python视频教程,0基础入门学习python,轻松掌握python》:https://www.atguigu.com/video/296/,由于我并不是0基础,所以笔记中并不是记录了尚硅谷课程所有的内容。
在这里插入图片描述

第一部分介绍基础入门内容,分支、循环、数据类型、函数、文件操作等。

1、注释与输入输出

(1)注释

块注释:以#开始,建议后面加一个空格;

行内注释:也是以#开始,建议后面加上两个个空格;

多行注释:用 一对连续的三个引号(单引号和双引号均可),或在编译器中选中多行代码,使用Ctrl+/ 注释 。

(2)print()函数

print()函数的具体参数定义为:print(*objects , sep=' ' , end='\n' , file=None , flush=False ),其中objects是具体的对象,sep定义了分割符号,end定义结尾,默认是使用\n换行;file定义了输出保存的文件,如果要把输出保存到某一个文件,经常会与openclose等函数一起使用,以写入模式(w)打开文件,打印后再关闭文件;flush设置了是否刷新,默认不刷新,将内容先缓存到内存中,如果同时设置了写入某文件并刷新,则会立刻把内容刷新存储到该文件中,并不会先缓存到内存中。

(3)格式化输出

如果希望输出文字信息的同时,一起输出数据,就需要使用到 格式化操作符;使用的%被称为格式化操作符,包含 % 的字符串,被称为 格式化字符串;print("格式化字符串" % (变量1, 变量2...))

格式化字符含义
%s字符串
%d有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
%f浮点数,%.2f 表示小数点后只显示两位
%%输出 %

(4)变量输入

变量输入主要是使用input函数获取键盘上的输入,输入的内容会被定义为字符串,字符串变量 = input("提示信息:")

(5)IPO模型

IPO 模型是一种常用的程序设计方法,其名称代表了 Input-Process-Output(输入-处理-输出)三个
步骤。它强调了程序的流程和数据流动,可以帮助程序员更清晰地思考问题和编写代码。IPO 模型包
括以下几个步骤:

• 输入(Input):确定程序需要的输入数据,并且定义输入数据的格式、范围和验证方式。

• 处理(Process):确定要进行的计算或功能操作,编写相应的算法和程序代码,并且测试确保其
正确性。

• 输出(Output):指定程序的输出结果和格式,并且确保输出符合要求和预期

2、变量与简单数据类型

(1)变量与常量

变量用来存储数据,需要在定义后使用;常量是程序运行过程中,值不改变的量,一般是使用大写表示常量。

变量的命名往往使用与内容相关的名称,例如name或者year来命名 姓名和年份变量;变量名、函数名被称为标识符。标识符可以由 字母、下划线 和 数字 组成,不能以数字开头,不能与关键字重名。

关键字 就是在 Python 内部已经使用的标识符,具有特殊的功能或者含义。常用的关键字如下:

变量命名规则仅仅是一种惯例,目的是为了 增加代码的识别和可读性。在 Python 中,如果 变量名 需要由 二个 或 多个单词 组成时,可以按照以下方式命名:每个单词都使用小写字母,单词与单词之间使用 _下划线 连接。

此外,可以使用驼峰命名法。小驼峰式命名法:第一个单词以小写字母开始,后续单词的首字母大写;大驼峰式命名法:每一个单词的首字母都采用大写字母。

Python中变量不需要指定数据类型,除了使用type函数外,还可以使用isinstance函数来测试和判断数据类型。isinstance() 函数是 Python 中的一个内置函数,基本用法为:isinstance(object, classinfo),其中object 是要检查的对象,classinfo 是要检查的类或类型,可以是类对象、类型对象或者由它们组成的元组。

(2)简单数据类型

Python中的简单数据类型主要是整型、浮点型、布尔型、字符串。

整型即整数,浮点型即小数,布尔型包括True和False两种,在python中能够解释为假的值有:None、0、0.0、False、所有的空容器(空列表、空元组、空字典、空集合、空字符串)。

字符串即一串字符,用一对引号括起来表示,常用的字符串运算包括:字符串加法和字符串乘法,字符串加法即字符串的拼接,字符串乘法即字符串的重复。

Python中字符串索引从0开始计数,使用字符串索引可以截取字符串。

字符串类型可以进行转换,常用的包括:

函数名函数值
int(x, [基数] )将数字或字符串转换为整数,如果x为浮点数,则自动截断小数部分 ;这里的基数是表示进制,默认10进制。
float(x)将整型等转换成浮点型
bool(x)转换成bool类型 的True或 False
str(x)将x转换成字符串

(3)小整数的地址问题

Python中的小整数,通常指的是-5至256之间的整数。

当你在Python中创建一个整数对象时,Python会根据该整数的值动态地为其分配内存空间。对于小整数,Python会使用一种称为“小整数缓存”的机制来优化内存使用,这个缓存池中的整数对象会被重复利用,而不是为每个新创建的小整数分配新的内存空间。这样可以减少内存分配和释放的开销,提高程序的性能。

如果你需要跟踪Python对象的内存地址,可以使用Python提供的内置函数id()来获取对象的唯一标识符,这个标识符通常可以用来近似地表示对象的内存地址。但是请注意,这个标识符并不是真正的内存地址,而是由Python解释器生成的一个唯一标识符,用于区分不同的对象实例。

3、运算符与表达式

算术运算符即常用的数学公式中使用的运算符号,除了加减乘除外,还有整除//,取余数%,几次幂**

赋值运算符是用来赋值,除了常用的等于、加等、减等,还有乘等于,除等于,整除等于,取余数等于;

位运算符是把数字转为二进制后,进行相关的操作,包括了按位与运算符&(参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0),或运算符|,异或运算符^(当两对应的二进位相异时,结果为1),取反~,左移<<与右移运算符>>

关系运算符用于比较大小、是否相等等;逻辑运算符是:和、或、非;成员运算符包括innot in表示是否在指定的序列范围内;身份运算符isis not表示是否是一个对象。

运算符具有一定的优先级

4、条件判断

条件判断常用的即if语句,还包括if-else结构、if-elif-else结构,以及嵌套循环等。Python 3.10及以后版本中引入了新特性:match,用于模式匹配,允许你根据对象的模式来检查对象,并执行相应的代码块。

match语句中的每个代码块由一个或多个case子句组成,每个case子句后面跟着一个模式和一个代码块。当模式匹配成功时,会执行相应的代码块;如果没有任何模式匹配成功,则可以选择使用一个默认的代码块,使用下划线_来表示。

match与if的对比:

if语句是最基本的条件控制结构,用于基于条件测试执行不同的代码块;if语句在处理简单条件和分支时非常有用;可以使用elif(else if)来添加额外的条件分支。if语句不支持模式匹配,只能基于布尔表达式进行条件判断。

match语句是Python 3.10及以后版本引入的新特性,主要用于模式匹配。match语句允许根据对象的模式结构来检查对象,并根据匹配的模式执行相应的代码块;特别适用于处理复杂的数据结构,如元组、列表、字典等,以及自定义类的实例,它通过模式匹配提供了更简洁、更直观的方式来处理复杂的条件逻辑。

5、循环

在循环中,还可以使用pass语句表示一个空操作,在执行时没有任何的响应,pass的位置最终应该有代码来执行,只不过暂时写不出来。但是只能跳过距离最近的for或者while循环,不是结束循环或者跳出多层循环。

http://www.dtcms.com/a/278882.html

相关文章:

  • 云原生技术与应用-Containerd容器技术详解
  • MySQL数据库的基础操作
  • AI驱动的软件工程(下):AI辅助的质检与交付
  • nvidia-smi命令参数解释
  • 机器学习(ML)、深度学习(DL)、强化学习(RL):人工智能的三驾马车
  • 外星人电脑Alienware Aurora R11原装出厂OEM预装Windows10系统
  • 自动驾驶数据仓库:时间片合并算法。
  • 【React Native】ScrollView 和 FlatList 组件
  • 基于ASP.NET+SQL Server实现(Web)排球赛事网站
  • Java文件操作
  • PTKQuery
  • 大规模测试自动化测试指南
  • day9 串口通信
  • 如何单独安装设置包域名
  • Kafka Broker源码解析(上篇):存储引擎与网络层设计
  • Java HTTP应用开发:从基础到实战
  • C语言-流程控制
  • 使⽤Pytorch构建⼀个神经⽹络
  • Linux 消息队列接收与处理线程实现
  • 【HTTP版本演变】
  • 考完数通,能转云计算/安全方向吗?转型路径与拓展路线分析
  • Elasticsearch9.x核心架构概述
  • Redis7持久化
  • 【postgresql数据库实现表的树结构查询】
  • 项目进度中间节点缺失,如何精细化分解任务
  • MIPI DSI(三) MIPI DSI 物理层和 D-PHY
  • 《大数据技术原理与应用》实验报告三 熟悉HBase常用操作
  • 现代数据平台能力地图:如何构建未来数据平台的核心能力体系
  • 为什么ER-GNSS/MINS-01能重新定义高精度导航?
  • vscode 源码编译