目录 1.什么叫递归函数 2.递归的应用场景 3.递归的特点 4.应用:3以内数字累加和 5.应用:阶乘 6.总结 1.什么叫递归函数 Python中,在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 2.递归的应用场景 递归是一种编程思想,应用场景: 在我们日常开发中,如果要遍历一个文件夹下面所有的文件,通常会使用递归来实现: 在后续的算法课程中,很多算法都离不开递归,例如:快速排序. 3.递归的特点 1.递归函数必须有一个明确的结束条件. 2.每进入更深一…
目录 1.函数的使用 (1)定义函数 (2)调用函数 (3)使用函数的注意事项 2.函数的参数 3.实参的类型 Python函数的说明: Python中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如 input() .print().range().len() 函数等等,这些都是 Python 的内置函数,可以直接使用. 除了可以直接使用的内置函数外,Python 还支持自定义函数,即将一段有规律的.可重复使用的代码定义成函数,从而达到一次编写.多次调用的目的. 函数也是一个对象,对…
目录 1.位置参数 2.关键字参数 3.缺省参数(默认参数) 4.不定长参数(可变参数) (1)包裹位置传递 (2)包裹关键字传递 5.位置参数.默认参数.可变参数的混合使用 6.拓展:参数解包 提示:上一篇文章介绍了Python中函数的基本使用,本篇文章主要说明一下Python函数实参的传递方式. 1.位置参数 位置参数:调用函数时根据函数定义的参数位置来传递参数. def user_info(name, age, gender): print(f'您的名字是{name}, 年龄是{age},…
目录 1.函数嵌套调用 2.Python函数的简单应用 (1)打印线条 (2)函数计算 (3)打印图形 3.函数的说明文档 (1)函数的说明文档的作用 (2)函数说明文档的语法 (3)查看函数的说明文档 (4)快速体验 (5)拓展:标准的函数说明文档 1.函数嵌套调用 所谓函数嵌套调用指的是,一个函数里面又调用了另外一个函数. (1)函数嵌套的示例: def testB(): print('---- testB start----') print('这里是testB函数执行的代码...(省略).…
目录 1.返回值概念 2.return关键字的作用 3.返回值可以返回的数据类型 4.函数如何返回多个值 5.fn5 和 fn5()的区别 6.总结: 1.返回值概念 例如:我们去超市购物,比如买饮料,给钱之后,是不是售货员会返回给我们饮料这个商品.在函数中,如果需要返回结果给用户,就需要使用函数返回值. 换句话说,返回值就是函数执行以后返回的结果. def buy(): # return返回结果给函数调用的地方 return '烟' # 使用变量保存函数返回值 goods = buy() pr…
目录 1.Python的变量 (1)Python变量不能独立存在 (2)变量是内存中数据的引用 (3)注意点 2.了解变量的引用 3.Python的参数传递(重点) (1)示例 (2)结论 (3)总结 (4)补充(重点) 1.Python的变量 (1)Python变量不能独立存在 比如在C++等语言中,变量的声明和赋值是可以分开的. int a; a=343; 而在Python中却不行,在声明Python变量的同时必须进行赋值操作,否则会报错. Python Console: starting.…
目录 1.作用于的概念 2.局部变量 3.全局变量 4.变量的查找 5.作用域中可变数据类型变量 6.多函数程序执行流程 1.作用于的概念 变量作用域指的是变量生效的范围,在Python中一共有两种作用域. 全局作用域 全局作用域在程序执行时创建,在程序执行结束时销毁. 所有函数以外的区域都是全局作用域. 在全局作用域中定义的变量,都属于全局变量,全局变量可以在程序的任意位置被访问. 函数作用域 函数作用域在函数调用时创建,在调用结束时销毁. 函数每调用一次就会产生一个新的函数作用域(不调用不产…
目录 1.什么是命名空间 2.三种命名空间 3.命名空间查找顺序 4.命名空间的生命周期 5.如何获取当前的命名空间 1.什么是命名空间 命名空间指的是变量存储的位置,每一个变量都需要存储到指定的命名空间当中. 全局命名空间用来保存全局变量,函数命名空间用来保存函数中的变量.也就是说每一个作用域都会有一个它对应的命名空间,全局作用域就会有一个全局的命名空间,函数作用域就会有一个函数的命名空间. 命名空间实际上就是一个字典,是一个专门用来存储变量的字典. 命名空间提供了在项目中避免名字冲突的一种方…
目录 1.高阶函数的定义 2.体验高阶函数 3.内置高阶函数 (1)map()函数 (2)reduce()函数 (3)filter()函数 1.高阶函数的定义 把函数作为参数传入(把一个函数作为另外一个函数的参数),或者将一个函数作为返回值的函数(闭包),这样的函数称为高阶函数,满足其一即可. 高阶函数是函数式编程的体现,函数式编程就是指这种高度抽象的编程范式. 2.体验高阶函数 在Python中,abs()函数可以完成对数字求绝对值计算. abs(-10) # 10 round()函数可以完成…
目录 1.lambda的应用场景 2.lambda语法 3.快速入门 4.示例:计算a + b 5.lambda的参数形式 6.lambda的应用 lambda表达式的主要作用就是化简代码. 匿名函数一般都是作为参数使用,其他地方一般不会使用. 1.lambda的应用场景 如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简化. 2.lambda语法 lambda 参数列表 : 表达式 注意: lambda表达式的参数可有可无,函数的参数在lambda表达式中完全适用. lambd…
目录 1.异常的传播 2.如何处理异常 1.异常的传播 当在函数中出现异常时,如果在函数中对异常进行了处理,则异常不会再继续传播.如果函数中没有对异常进行处理,则异常会继续向函数调用者传播.如果函数调用者处理了异常,则不再传播,如果还没有处理,则继续向他的调用者传播,直到传递到全局作用域(主模块)如果依然没有处理,则程序终止,并且显示异常信息到控制台.所以异常的传播我们也称之为抛出异常. 异常传播示例如下: def fn1(): print('Hello fn') print(10/0) def…
目录 1.异常概念 2.了解异常 3.异常的写法 (1)语法 (2)快速体验 (3)捕获指定异常 (4)异常中的else (5)异常中的finally (6)总结 1.异常概念 定义:程序在运行过程当中,不可避免的会出现一些错误,可能经常看到的报错信息,例如:NameError .TypeError. ValueError等,这些都是异常. 程序运行过程中,一旦出现异常将会导致程序立即终止,异常以后的代码全部都不会执行.所以当Python程序发生异常时,我们需要捕获并处理异常,否则程序就会终止执…
目录 1.使用 raise 语句来抛出异常 (1)抛出异常类 (2)抛出异常类的实例 2.自定义异常类 (1)简单实现 (2)完整实现 在Python中,抛出自定义异常的语法为 raise 异常类对象.也就是说可以使用 raise 语句来抛出异常, raise语句后需要跟一个异常类或异常类的实例. 1.使用 raise 语句来抛出异常 需求:定义一个求和方法 (1)抛出异常类 def add(a, b): # 如果a和b中有负数,就向调用处抛出异常 if a < 0 or b < 0: # r…
目录 1.注释的作用 2.注释的分类 单行注释 多行注释 3.注释的注意事项 4.什么时候需要使用注释 5.总结 提示:完成了前面的准备工作,之后的文章开始介绍Python的基本语法了. Python代码的基本规范如下: 1.Python 文件将以 .py 为扩展名. 2.在Python中严格区分大小写(大小写敏感),如果写错了大小写,程序会报错. 3.Python中的每一行就是一条语句,每条语句以换行结束,不用;分号结束. 4.Python是缩进严格的语言,所以在Python中不要随便写缩进.…
目录 1.重写 2.super()函数 方式一 方式二 __mro__内置类属性说明 1.重写 在子类中如果有和父类同名的方法,则通过子类实例去调用该方法时,会调用子类中的该方法而不是父类的方法,这个特点我们成为叫做方法的重写(覆盖:override). 故事继续:徒弟掌握了师父和学院派技术后,自己潜心钻研出自己的独门配方的一套全新的煎饼果子技术. # 1.创建师父类,属性和方法 class Master(object): def __init__(self): self.kongfu = '[…
目录 1.basicConfig()函数说明 2.应用 1.basicConfig()函数说明 此函数,通过创建一个带有默认Formatter(格式器)的StreamHandler(处理器),并将其添加到根日志记录器中来初始化基本配置. 如果根日志记录器没有定义处理器,则logger.debug(), logger.info(),logger.warning(),logger.error() 和 logger.critical()函数会自动调用 basicConfig()函数中的配置 . 如果根…
目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲善其事,必先利其器".在正式学习Python开发之前,需要先搭建Python开发环境.由于Python是解释型编程语言,所以需要一个解释器,这样才能运行编写的代码.所以所谓的搭建Python开发环境,其实就是安装Python的解释器.换句话说安装Python实际上就是安装Python解释器. 同时要…
目录 1.Python的交互模式 2.IDLE工具使用说明 3.Sublime3工具的安装与配置 (1)Sublime3的安装 (2)Sublime3的配置 4.使用Sublime编写并调试Python代码 (1)在Sublime3中直接执行Python代码 (2)使用SublimeREPL插件来运行Python代码 5.本地手动安装Sublime3插件 我自己常用的简单Python代码调试工具是IDLE和Sublime3,IDLE很少使用了,基本上用Sublime3稍微多一些,Sublime3…
目录 1.变量的定义 2.Python变量说明 3.Python中定义变量 (1)定义语法 (2)标识符定义规则 (3)内置关键字 (4)标识符命名习惯 4.使用变量 1.变量的定义 程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后,给整个数据定义一个名称,这个名称就是变量. 变量就是在存储数据的时候,当前数据所在的内存地址的一个名字而已. 2.Python变量说明 Python中使用变量,不需要声明,直接为变量赋值即可. 在Python中,可…
目录 1.数据类型介绍 2.数值型(Number) 3.布尔型(bool) 4.None(空值) 5.常量 6.字符串(String) 1.数据类型介绍 (1)什么是数据类型 在生活中,我们日常使用的数据有大有小,有整数也有小数,同时也会使用字母或者汉字表示特定含义.而在每种编程语言里都会有一个叫数据类型的名词,数据类型就是对常用的各种数据格式进行了明确的划分,以应对不同的业务需求,并在使用时按经验将不同的变量定义不同的类型的数据. (2)Python3中有七个标准的数据类型 数值型(Numbe…
目录 1.查看变量类型 2.转义字符 (1)转义字符说明 (2)示例 (3)常用转义字符对照表 3.字符编码 (1)字符编码介绍 (2)Python中的字符编码 (3)编码格式应用于不同场景 提示:上一篇文章中介绍了Python字符串的使用,本篇文章来说说Python字符串的编码与转义. 在此之前,我们先介绍一下在Python中如何查看一个变量的类型. 1.查看变量类型 (1)type( )函数说明 在Python中,type( )函数是一个最实用又简单的查看对象数据类型的方法. type( )…
目录 1.什么是格式化输出 2.Python格式化输出的五种方式 方式一:字符串之间用+号拼接 方式二:print()函数可同时输出多个字符串 方式三:占位符方式 方式四:f格式化方式(推荐) 方式五:format()函数方式 3.print()函数结束符 (1)sep参数 (2)end参数:结束符 4.补充:Python的输入函数input() (1)Python的输入说明 (2)输入的语法 (3)输入的特点 (4)示例 1.什么是格式化输出 数据按照某种特殊的要求输出,假如字符串中有各种格式…
目录 1.为什么要进行数据类型转换 2.数据类型转换本质 3.数据类型转换用到的函数 4.常用数据类型转换的函数 (1)int()函数 (2)float()函数 (3)str()函数 (4)bool()函数 (5)eval()函数 1.为什么要进行数据类型转换 使用Python处理数据时,不可避免的要使用数据类型之间的转换.如int.float.string之间的转换. 例如: 问:通过input()函数接收用户输入的数据都是字符串类型,如果用户输入1,想得到整型该如何操作? 答:转换数据类型即…
目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场景 (2)语法 (3)快速体验:复现场景 (4)while循环嵌套执行流程 6.while循环嵌套应用 (1)应用一:打印星号(正方形) (2)应用二:打印星号(三角形) (3)打印九九乘法表 (4)求100以内所有的质数 为了方便我们控制程序的运行流程,编程语言一般都会有基本的流程控制结构,包括:…
目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.split()方法 @3.join()方法 @4.capitalize()方法 @5.title()方法 @6.lower()方法 @7.upper()方法 @8.lstrip()方法 @9.rstrip()方法 @10.strip()方法 @11.ljust()方法 @12.rjust()方法 @1…
目录 1.列表的概念 (1)列表的定义 (2)列表的应用场景 (3)列表的定义格式 2.列表的常用操作 (1)列表的查找 1)通过下标查找 2)通过方法查找 3)判断是否存在 (2)列表的增加 @1.append()方法 @2.extend()方法 @3.insert()方法 (3)列表的删除 @1.del @2.pop()方法 @3.remove()方式 @4.clear()方法 (4)列表的修改 @1.修改指定下标数据 @2.reverse()方法 @3.sort()方法 (5)列表的复制…
目录 1.字典的应用场景 2.字典的概念 3.创建字典的语法 4.字典常见操作 (1)字典的增加操作 (2)字典的删除操作 (3)字典的修改 (4)字典的查找 (5)copy()复制 1.字典的应用场景 思考1: 如果有多个数据,例如:'Tom', '男', 20,如何快速存储? 答:列表 list1 = ['Tom', '男', 20] 思考2:如何查找到数据'Tom'? 答:查找到下标为0的数据即可. list1[0] 思考3:如果将来数据顺序发生变化,如下所示,还能用list1[0]访问到…
目录 1.运算符 @1.+加号 @2.*乘号 @3.in或not in 2.公共方法 @1.len()方法 @2.del和del() @3.max()方法 @4.min()方法 @5.range() @6.enumerate() 3.容器类型转换 @1.tuple()函数 @2.list()函数 @3.set()函数 Python序列的公共API指的就是,之前所学过的Python序列,如:列表.元组.字典等,基本上都支持的操作. 总结如下: 1.运算符 运算符 描述 支持的容器类型 + 合并 字…
目录 1.列表推导式 (1)快速体验 (2)带if的列表推导式 (3)多个for循环实现列表推导式 2.字典推导式 (1)创建一个字典 (2)将两个列表合并为一个字典 (3)提取字典中目标数据 3.集合推导式 4.补充提示 推导式comprehensions(又称解析式),是Python的一种独有特性. 推导式是可以从一个数据序列构建另一个新的数据序列(的一种结构体). Python中共有三种推导,在Python2和3中都有支持: 列表推导式 字典推导式 集合推导式 1.列表推导式 作用:用一个…
目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕时,我们需要关闭文件,以便释放和文件操作相关的系统资源.因此,文件操作的主要包括以下: 打开文件. 读写等操作. 关闭文件. 注意:可以只打开和关闭文件,不进行任何读写操作. 2.文件的读写操作 (1)文件的打开 在Python中,使用open( )函数,可以打开一个已经存在的文件,或者创建一个新文…