【Python】基础知识(语句,函数)

news2025/7/27 17:09:11

目录

  • Python基础语法
    • 接上次的知识点补充
    • 顺序语句
    • 条件/分支语句
      • 语法格式
    • 空语句 pass
    • 循环语句
      • while 循环
      • For循环
      • continue和break
    • 函数
      • 语法格式
      • 调用函数/使用函数
      • 函数参数
      • 函数返回值
      • 变量作用域
      • 函数执行过程
      • 链式调用
      • 嵌套调用
      • 函数递归
      • 参数默认值
      • 关键字参数

写在前面🍎:码字不易,如果对你有帮助的话,给个三连或者关注一下吧🍰,感谢支持!📣

Python基础语法

接上次的知识点补充

补充1.Python中不支持++,–这样的自增,自减操作,'++‘python中把+当成正号,’–‘python把’-'当成负号,负负得正,所以值就不会改变,后置++,–不支持
在这里插入图片描述在这里插入图片描述

补充2.python中的整数可以和布尔值相加,如果相加进行算术运算,Ture当做1,False当做0,但是这样的操作是没有意义的在这里插入图片描述

补充3.python中只有字符串类型!在python中,一个语句写完之后,可以加上分号,也可以不加,没影响,通常是不加的,如果多个语句写到同一行,这个时候语句之间,务必要加上分号

顺序语句

默认情况下, Python 的代码执行顺序是按照从上到下的顺序, 依次执行的

这种按顺序执行的代码,就叫顺序语句

条件/分支语句

条件语句就是根据一个具体条件成立与否来决定接下来的逻辑走向

举个例子,如果我认真敲代码,我就很容易找到工作,否则,毕业就失业,这里的认真敲代码就是条件,条件成立就执行容易找到工作,条件不成立,就毕业即失业,我们把它写成代码
在这里插入图片描述

语法格式

(1)if
在这里插入图片描述
如果 expression 值为 True, 则执行 do_something1, do_something2,next_something
如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2

(2)if – else
在这里插入图片描述
如果 expression 值为 True, 则执行 do_something1
如果 expression 值为 False, 则执行 do_something2

(3)if – elif – else
在这里插入图片描述

如果 expression1 值为 True, 则执行 do_something1
如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2
如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3

注意:Python中的条件语句写法, 和很多编程语言不太一样.
1.if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
2.if / else 命中条件后要执行的 “语句块”, 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
3.对于多条件分支, 不是写作 else if, 而是 elif (合体了)

缩进和代码块
python中缩进非常重要!是不能乱写的在这里插入图片描述
注意上述代码的区别:
在代码1 中, print(“world”) 有一级缩进, 这个语句属于 if 内的代码块, 意味着条件成立, 才执行, 条件不成立, 则不执行.
在代码2 中, print(“world”) 没有缩进, 这个语句是 if 外部的代码, 不属于 if 内部的代码块. 意味着条件无论是否成立, 都会执行

在python中,缩进表示代码块,在if,else,elif,while,for需要跟上代码块的部分,都是需要缩进表示的,当有多级嵌套的时候,当前语句属于哪个代码块,完全取决于缩进的级别

空语句 pass

可以使用空语句进行占位, 并不会对程序的执行有任何影响
在这里插入图片描述

循环语句

有些操作是需要反复执行的. 这种就需要使用循环

while 循环

基本语法结构:
在这里插入图片描述
条件为真, 则执行循环体代码.
条件为假, 则结束循环

使用while循环注意:
1.循环变量的初始值
2.循环的判定条件
3.循环变量的更新语句

举几个例子

  1. 打印1 -10

2.计算 5 的阶乘
在这里插入图片描述

3.求 1! + 2! + 3! + 4! + 5!
在这里插入图片描述
这个程序用到了两重循环.
也就是在循环语句中也可以套循环

For循环

基本语法格式:
在这里插入图片描述

注意:
1.python 的 for 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单
2.所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”

举几个例子:
1.打印1-10
在这里插入图片描述
range是内键函数,(1,11)是前闭后开区间[1,11)
2.打印2,4,6,8,10
在这里插入图片描述
range(begin,end) -->[begin,end)
range函数还提供第三个函数表示"步长",默认值为1,这里步长为2,也就是一次让循环变量加二
3.打印10-1
在这里插入图片描述
步长可以是负数
4.求1-100的和

continue和break

continue 表示结束这次循环, 进入下次循环,break 表示结束整个循环

想知道continue和break的具体用法,可以指路我的博客<分支语句和循环语句>,用法都是共通的

函数

编程中的函数, 是一段 可以被重复使用的代码片段

举个例子:当我们要求数列的和,不用函数
在这里插入图片描述
我们可以看到这几组代码重复度是非常高的而我们把求和写成一个函数,减少代码冗余
在这里插入图片描述

语法格式

创建函数/定义函数
形参列表中,形参之间使用,分隔。函数体要带一层缩进,函数执行到return,就意味着执行完了
在这里插入图片描述

调用函数/使用函数

函数名(实参列表) // 不考虑返回值
返回值 = 函数名(实参列表) // 考虑返回值

函数定义并不会执行函数体内容, 必须要调用才会执行. 调用几次就会执行几次
函数必须先定义, 再使用
在这里插入图片描述

函数参数

在函数定义的时候, 可以在 ( ) 中指定 “形式参数” (简称 形参), 然后在调用的时候, 由调用者把 “实际参数”(简称 实参) 传递进去
这样就可以做到一份函数, 针对不同的数据进行计算处理
在这里插入图片描述
注意:
一个函数可以有一个形参, 也可以有多个形参, 也可以没有形参
一个函数的形参有几个, 那么传递实参的时候也得传几个. 保证个数要匹配

Python 是动态类型的编程语言, 函数的形参不必指定参数类型. 换句话说, 一个函数可以支持多种不同类型的参数
在这里插入图片描述

函数返回值

函数的参数可以视为是函数的 “输入”, 则函数的返回值, 就可以视为是函数的 “输出”
在这里插入图片描述
在这里插入图片描述
这两个代码的区别就在于, 前者直接在函数内部进行了打印, 后者则使用 return 语句把结果返回给函数调用者, 再由调用者负责打印

一个函数中可以有多个 return 语句
在这里插入图片描述
执行到 return 语句, 函数就会立即执行结束, 回到调用位置

一个函数是可以一次返回多个返回值的. 使用 , 来分割多个返回值
在这里插入图片描述
如果只想关注其中的部分返回值, 可以使用 _ 来忽略不想要的返回值
在这里插入图片描述

变量作用域

在这个代码中, 函数内部存在 x, y, 函数外部也有 x, y
但是这两组 x, y 不是相同的变量, 而只是恰好有一样的名字在这里插入图片描述

变量只能在所在的函数内部生效
在函数 test() 内部定义的 x, y 只是在函数内部生效. 一旦出了函数的范围, 这两个变量就不再生效了
在这里插入图片描述

在不同的作用域中, 允许存在同名的变量
虽然名字相同, 实际上是不同的变量
在这里插入图片描述
注意:
在函数内部的变量, 也称为 “局部变量”
不在任何函数内部的变量, 也称为 “全局变量”

如果函数内部尝试访问的变量在局部不存在, 就会尝试去全局作用域中查找
在这里插入图片描述
如果是想在函数内部, 修改全局变量的值, 需要使用 global 关键字声明在这里插入图片描述

注意:f,else,while,for这些关键字也会引入代码块,但是这些代码块不会对变量的作用域产生影响,在上述语句代码块内部定义的变量可以在外面被访问

函数执行过程

调用函数才会执行函数体代码. 不调用则不会执行
函数体执行结束(或者遇到 return 语句), 则回到函数调用位置, 继续往下执行
在这里插入图片描述

链式调用

把一个函数的返回值, 作为另一个函数的参数, 这种操作称为 链式调用在这里插入图片描述

嵌套调用

函数内部还可以调用其他的函数, 这个动作称为 “嵌套调用”
test 函数内部调用了 print 函数, 这里就属于嵌套调用
在这里插入图片描述

一个函数里面可以嵌套调用任意多个函数
在这里插入图片描述
在这里插入图片描述

函数递归

递归是嵌套调用中的一种特殊情况, 即一个函数嵌套调用自己

举个例子:递归计算5!
在这里插入图片描述
在这里插入图片描述
递归的优点
1.递归类似于 “数学归纳法” , 明确初始条件, 和递推公式, 就可以解决一系列的问题.
2.递归代码往往代码量非常少.
递归的缺点
1.递归代码往往难以理解, 很容易超出掌控范围
2.递归代码容易出现栈溢出的情况
3.递归代码往往可以转换成等价的循环代码. 并且通常来说循环版本的代码执行效率要略高于递归版本

参数默认值

Python 中的函数, 可以给形参指定默认值
带有默认值的参数, 可以在调用的时候不传参

代码示例: 计算两个数字的和
当我们只想让用户知道结果,而我们想要知道其中间的执行过程时,我们可以引入参数默认值,如下图所示,当debug为True时,我们就可以看到其执行过程,此处debug=False 即为参数默认值. 当我们不指定第三个参数的时候, 默认debug的取值即为False
在这里插入图片描述

带有默认值的参数需要放到没有默认值的参数的后面
在这里插入图片描述

关键字参数

在调用函数的时候, 需要给函数指定实参. 一般默认情况下是按照形参的顺序, 来依次传递实参的,但是我们也可以通过关键字参数, 来调整这里的传参顺序, 显式指定当前实参传递给哪个形参
在这里插入图片描述
如上述 test(x=10, y=20) 这样的操作, 即为 关键字参数

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

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

相关文章

全双工物联网远程控制门禁设计方案

远程控制物联网方案 (此方案成本250元~300元优点是远低于产家报价400&#xff5e;500,使用自家服务器扩展成本低) 组装后连线效果实物图 网关配置 工具见下面产品说明 通讯是TCP/IP协议,一定要配置好服务器地址与网关 通讯是TCP/IP协议,一定要配置好服务器地址与网关 通讯是TCP…

照片人像模糊怎么调?两分钟教会你

有时候我们在拍摄一些照片的时候&#xff0c;可能会因为一些特殊原因而导致照片中的人脸出现模糊的情况&#xff0c;从而使我们无法对照片进行浏览&#xff0c;这时最简单的方法就是借助一些软件来修复模糊的人脸照片&#xff0c;那你们知道如何利用这些软件进行操作吗&#xf…

机器视觉_HALCON_1.了解HALCON

文章目录HALCON概述1. 关于HALCON2. HALCON XL3. 了解HALCON3.1. 通用性说明3.2. 安装HALCON3.3. 继续了解HALCON的第一步4. 更多HALCON资料5. 结语HALCON概述 1. 关于HALCON HALCON是MVTec公司的一款软件产品。 它是一款风靡全球的、用于机器视觉的标准软件&#xff0c;并带…

React - Ant Design3.x版本安装使用,并按需引入和自定义主题

React - Ant Design3.x版本安装使用&#xff0c;并按需引入和自定义主题一. 安装使用 antd二&#xff0e;antd 高级配置安装 react-app-rewired&#xff0c;对 create-react-app 的默认配置进行自定义安装 babel-plugin-import &#xff0c;按需加载组件代码和样式自定义主题An…

ssh外网访问内网服务器

现在有这样一个情况&#xff0c;实验室有自己的服务器&#xff08;内网&#xff09;&#xff0c;并且有相关老师进行维护&#xff08;公网&#xff09;&#xff0c;我们可以在内网用内网ip访问服务器&#xff0c;如果我们在家里只能通过公网进行登录。但是我在实验室有一个小服…

Python学习基础笔记十一——编码

1、Python编码解码&#xff1a; 文件转换为二进制&#xff0c;就是编码。 二进制转换为文本&#xff0c;就是解码。 2、ASCII编码&#xff1a; 字符‘a’在ASCII码表中的对应的数据就是97&#xff0c;二进制为1100001。 # 查看‘a’的ASCII编码 print(ord(a))# 转换为二进制…

04.OpenWrt-连接有线网络

04.OpenWrt-连接有线网络 路由器作为重要的网络设备不光可以连接网络,也可是通过有线或者无线的方式给其他设备连接网络. 4.1 网络的基础知识 4.1.1 常用的网络设备 光调制解调器:俗称 光猫 .现在使用的基本都是光纤入户,光纤中传递的是光信号,进过光猫的转换为电信号.安装…

Golang Channel 实战技巧和说明

文章目录Golang Channel 实战技巧和说明Channel 的一些实战说明关于 close Channelclose Channel 的一些说明v, ok : <-ch 判断是否 close优雅判断是否 close 的封装for-range 读取 Channel 数据select 读写 Channel 数据Channel 的读写超时机制【select timeout】TryEnque…

180H_FPGA时钟结构

PLL 端口信号解释 信号名含义PLL_PWDpower downpll_rst复位PLLclkin_dsel0:clkin1作为参考时钟;1:clkin2作为参考时钟clkfb外部反馈时钟输入dyn_idiv[5:0]动态 input divider&#xff08;输入分频器&#xff09; 分频系数 0&#xff1a;64分频&#xff1b;1:63分频&#xff1b…

HTML+CSS-项目:学成在线

项目&#xff1a;学成在线 Date: September 9, 2022 Summary: 创建根目录、创建网页布局 0. 项目预览&#xff1a; 1. 创建根目录&#xff1a; 目标&#xff1a;创建项目根目录 根目录&#xff1a;网站的第一级文件夹 根目录&#xff1a; 图片文件夹: images样式文件夹: C…

redis 的java客户端 基础(一)

目录 一、redis的客户端语言支持 二、Jedis快速入门 2.1 Jedis连接池 2.1.1 创建Jedis的连接池 三、SpringDataRedis 3.1 快速入门SpringDataRedis 一、redis的客户端语言支持 在Redis官网中提供了各种语言的客户端&#xff0c;地址&#xff1a;https://redis.io/resources/…

[oeasy]python0020换行字符_feed_line_lf_反斜杠n_B语言_安徒生童话

换行字符 回忆上次内容 struct包可以让我们使用封包格式 把数字封包到字节里 pack函数负责封包unpack函数负责解封 我们通过封到不同的字节状态 遍历了一次ascii码还是有那片黑色的区域 好像是一片黑暗森林&#xff01;那里面到底有些什么秘密&#xff1f;&#x1f914; 我们这…

2022大厂面试秘籍Java岗:中间件+算法+HTTP+线程+虚拟机+分布式

前言 很多朋友对面试不够了解&#xff0c;不知道如何准备&#xff0c;对面试环节的设置以及目的不够了解&#xff0c;因此成功率不高。通常情况下校招生面试的成功率低于1%&#xff0c;而社招的面试成功率也低于5%&#xff0c;所以对于候选人一定要知道设立面试的初衷以及每个…

CSS 选择器

目录 1、导语 2、css基本选择器 1&#xff09;、标签选择器 2&#xff09;类选择器 3&#xff09;ID选择器 4&#xff09;通配符选择器 3、css组合选择器 1&#xff09;标记类别选择器&#xff08;交集选择器&#xff09; 2&#xff09;后代选择器 3&#xff09;子选择器 4…

[足式机器人]Part3机构运动微分几何学分析与综合Ch02-2 平面机构离散运动鞍点综合——【读书笔记】

本文仅供学习使用 本文参考&#xff1a; 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch02-2 平面机构离散运动鞍点综合2.3 鞍点圆2.3.1 鞍圆与二副连架杆R-R2.3.2 鞍圆误差2.3.3 四位置鞍圆2.3.4 五位置鞍圆2.3.5 多位置鞍圆2.3 鞍点圆 平面连杆机构中…

浅谈JVM(面试常考题)

文章目录JVM简介JVM 执行流程JVM运行时数据区(内存布局)程序计数器(线程私有)Java虚拟机栈(线程私有)堆(线程共享)方法区(线程共享)小结JVM类加载类加载的具体过程LoadingLinkingVerificationPreparationResolutionInitialization类加载的执行顺序双亲委派模型JVM中的垃圾回收机…

最新手工整理31省市自治区180+指标面板数据-各省份邮电和运输指标汇总(2002-2020)

1、数据来源&#xff1a;国家统计局 2、时间跨度&#xff1a;2002-2020 3、时间频率&#xff1a;年度 4、区域范围&#xff1a;31个省市⾃治区 5、邮电指标&#xff1a; 包裹数(万件)报刊期发数(万份)汇票业务(万笔)集邮业务量(万枚)固定本地电话通话时长(万分钟)固定长途…

流媒体技术基础-流媒体编码与协议

一、流媒体传输协议 1.实时传输协议RTP 针对多媒体数据流的一种传输协议&#xff0c;建立在UDP协议上&#xff0c;属于传输层协议。 定义互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统&#xff08;配合RTCP协议&#xff09;、视频会议和视频电话系统&…

2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题二python代码实现(更新完毕)

更新信息 2022-11-24 10:00 更新问题1和问题2 思路 2022-11-24 23:20 更新问题一代码 2022-11-25 11:00 更新问题二代码 相关链接 【2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题一python代码实现】 【2022 APMCM亚太数学建模竞赛 C题 全球是否变暖 问题二python代…

爱尔兰博士后招聘|利默里克大学-广告学

[国外博士后招聘-知识人网]爱尔兰利默里克大学广告学博士后 爱尔兰利默里克大学是爱尔兰独立后第一所由政府资助而建的综合型独立大学。爱尔兰利默里克大学是爱尔兰七所国立大学之一&#xff0c;1972年开始招生&#xff0c;1989年被政府准予授予学位。利莫瑞克大学下设六个学院…