![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python学习笔记
文章平均质量分 50
兴涛
春风化雨,森林拔地而起!
展开
-
python中的装饰器
python中的装饰器一、装饰器基本概念二、重叠装饰器三、参数化装饰器四、标准库装饰器一、装饰器基本概念在学习装饰器前需要学习闭包的概念,可参考文章: python中闭包和nonlocal声明.装饰器就是闭包的一种延申,比闭包更加简洁方便。#使用闭包调用def write(func): #闭包 def inner(): print("write a number") func() return inner def f1(): print("I write a 1")原创 2021-05-13 21:39:08 · 106 阅读 · 1 评论 -
python中闭包和nonlocal声明
python中闭包和nonlocal声明一、闭包二、nonlocal声明一、闭包通俗来讲,闭包可以理解成就是一种函数。如何创建闭包?1、创建一个外部函数2、创建一个内部函数 (函数嵌套)3、内部函数使用外部函数的参数,外部函数返回内部函数名例:使用闭包实现两数之和:def founcOut(num1): def founcIn(num2): return num2 + num1 return founcIn f = founcOut(100)r = f(100)pri原创 2021-05-13 11:26:53 · 244 阅读 · 2 评论 -
python中的生成器
python中的生成器一、生成器函数二、生成器表达式一、生成器函数生成器函数:def gensquares(N): for i in range(N): yield i ** 2此函数不断生成一系列数字的平方for i in gensquares(5): print(i,end=" : ")>>>0 : 1 : 4 : 9 : 16 : 二、生成器表达式生成器表达式同列表解析式几乎相同,只是将方括号改为了圆括号。并且列表解析式直接返回的是一个列表,而生成器解析式原创 2021-05-12 21:59:14 · 124 阅读 · 0 评论 -
python中的迭代协议和列表解析
python中的迭代协议和列表解析一、迭代协议二、列表解析三、列表解析和filter、map的比较一、迭代协议迭代器是python中的一个非常重要的内容,下面我面简要介绍一下关于迭代协议的内容。迭代协议:有__next__方法的的对象会前进到下一个结果,而在一系列结果的末尾时会引发StopInterration。在python中,任何这类对象都是可迭代对象。均可由for或其他迭代工具来进行遍历,因为迭代工具内部会自动调用__next__方法,并且会捕捉StopInterration异常来结束迭代。p原创 2021-05-12 21:33:27 · 124 阅读 · 0 评论 -
Python中映射函数map介绍
map是python中的一个内置工具,它的作用是将一个序列放到一个函数中。比如我们要将列表元素都加十,可以用如下方法:lis = [1,2,3,4]for x in lis: lis.append(x + 10)>>>[11,12,13,14]如何我们使用map的话会是如下情况:def plus(x): s = x + 10 return slis = [1,2,3,4]list(map(plus,lis))>>>[11,12,13,14]ma原创 2021-04-28 17:03:31 · 3277 阅读 · 0 评论 -
Python中lambda表达式
lambda表达式属于python中函数部分。它用来创建一个匿名函数,并且可用于任何需要函数对象的地方。有一点需要注意,匿名函数只能是单个表达式。例:f = lambda x : x*2g = f(2)print(g)>>>4f = lambda x,y : x+ yg = f(2,3)print(g)>>>5...原创 2021-04-28 16:08:15 · 514 阅读 · 2 评论 -
python中如何去掉重复元素
python中如何过滤掉重复元素1、利用集合去重1、避免顺序改变2、数字会自动排序2、使用for语句1、利用集合去重集合具有去掉重复元素的特性。在使用的时候需要注意,处理字符串时,集合后的元素排序可能会发生变化,例如:输出为:那么我们如何去避免这种情况呢?1、避免顺序改变想要避免这种情况,我们就要用到sort()方法以及其中的形参key,例如:输出为:我们可以看到,在经过上述处理后,过滤完重复元素后,列表依然保持原来的排序。2、数字会自动排序在使用集合进行去除重复元素时,会出现排原创 2021-04-01 21:29:55 · 27092 阅读 · 1 评论 -
python中集合的使用以及特点
python中集合的使用以及特点1、应用一:去重1、应用一:去重python中集合的其中一种作用是去除字符串或者列表中的重复元素。这一功能是十分有用的。比如:输出为:光知道这些是不够的,使用集合去重的时候有几个特性需要注意。我们再来看上述代码,发现列表改为集合后里面的元素的顺序改变了,在大多数情况下,我们都想要集合的顺序和列表一样。所以读者可以看我另一篇博文另外笔者发现,当对数字进行集合转换的时候,数字的顺序被自动排序了。请看:输出为:所以得出:处理字符串时,集合转换后,元素的排原创 2021-04-01 21:13:32 · 1007 阅读 · 0 评论 -
python中enumerate用法
python中enumerate用法1、使用场景2、用法1、使用场景当你使用for循环遍历时,你需要用到两个参数:遍历出的元素遍历元素的偏移值,也就是元素的下标2、用法enumerate函数返回一个生成器对象,此对象支持迭代协议,之后博文再做讨论。意思就是说调用函数后,会返回一个元组(index,value)。S = [‘a’,‘b’,‘c’]for (i,value) in enumerate(S): print(i, 'and', value)>>>0 and原创 2021-03-21 16:51:21 · 245 阅读 · 0 评论 -
python中zip用法:并行遍历
python中zip用法:并行遍历python中内置的zip函数可以让我们使用for来进行多个序列的遍历。例如:L1 = [1,2,3,4]L2 = [5,6,7,8]lis = list(zip(L1,L2))print(lis)>>>[(1,5),(2,6),(3,7),(4,8)]for (x,y) in zip(L1,L2): print(x,y,"=",x+y)>>> 1 5 = 62 6 = 83 7 = 10.........原创 2021-03-21 16:38:26 · 1631 阅读 · 0 评论 -
Python中的语句、表达式语句、表达式
Python中的语句、表达式语句、表达式区别1、什么是语句?2、表达式语句3、表达式本文讨论的内容依据《python学习手册》和官方python参考手册1、什么是语句?前面几篇文章,介绍了python中的核心对象类型:有数字、字符串、列表、字典、元组等。python中除了这些核心类型外,还有一项重要的基础——语句。那么语句是什么呢?语句就是写出来句子来告诉python应该去干什么。程序由模块构成->模块包含语句->语句包含表达式->表达式处理对象整个逻辑就是:使用语句来实现程原创 2021-03-15 21:40:32 · 950 阅读 · 0 评论 -
Python中的break、continue、pass和循环else语句
Python中的break、continue、pass语句一、基本介绍和一般循环格式二、pass三、continue四、break基于while循环一、基本介绍和一般循环格式pass、continue、break、循环else是基于while循环,它们嵌套在while循环中。一般的循环格式为:下面我们来介绍它们是如何结合起来使用的。二、passpass语句是无运算的占位语句,无运算代表没有运算,占位的意思是这条语句只是占了一行代码。它主要用在:编写一个空的主题。比如while true原创 2021-03-15 17:06:57 · 1118 阅读 · 0 评论 -
python库手册(官方)python文档
python库手册(官方)中文文档:https://docs.python.org/zh-cn/3/原创 2021-02-04 09:44:46 · 4148 阅读 · 2 评论 -
python中sort()与sorted()的区别及用法
本文主要讲sort与sorted的主要区别,以便正确使用一、sort()只能用于列表;sorted()可以用于所有可迭代对象;比如:str_a = "blue"print(sorted(str_a))>>>['b', 'e', 'l', 'u']二、sort()对列表排序是进行原处排序,并不会返回新的列表;sorted()排序后会返回一个新的列表;比如:对于sort()来说:lis_a = [5,4,3,2,1]lis_a.sort()print(li原创 2021-02-10 19:21:26 · 727 阅读 · 0 评论 -
python中输入字符串转列表的注意问题
python中使用input()来从键盘输入字符串而这个操作稍微不注意 会出现一些问题, 比如说将输入的字符串转为列表:a = input()lis = list(a)print(lis)当你输入一行字符串以空格间隔时:那么你可能会想我把a中空格去掉就ok了,你可能会想到使用replace方法。但是如果你输入负数呢?所以面对这些问题,我们可以使用split()方法:a = input().split()lis = list(a)print(lis)当以空格间隔的时候split(原创 2021-02-04 20:33:09 · 2668 阅读 · 1 评论 -
python中如何把列表转换为字符串
python中把列表转换为字符串1、join方法2、for语句1、join方法lis = ['1','2','3','4','5']s = " " .join (lis)print(s)>>>'1 2 3 4 5'语法格式为: str.join(sequence)sequence是序列类型,序列类型有列表、元组、range如果列表中为int型,可使用map(,)lis = [1,2,3,4,5]s = " ".join(map(str,lis))print(s)&原创 2021-02-04 10:23:13 · 40214 阅读 · 8 评论 -
Python中的引用与拷贝
为什么要分析引用与拷贝?这应该属于更底层的逻辑问题。什么是引用,大家可以去看我的一篇博客:python中引用与C语言中的指针关系。1、在这里我大概介绍一下引用:在python中,你进行赋值操作,比如 a = 2;然后你对a进行修改:a = 3;此时你可能会觉得你修改了a的值,其实不然。在python内部中的逻辑:a是一个变量,变量是不会被修改的。也就是说,变量a是在引用数值2。当你进行a = 3 的操作时,变量a重新引用数值3。以此类推,当你在进行赋值操作时,python进行的就是引用操作原创 2021-02-03 12:12:09 · 274 阅读 · 1 评论 -
python列表和字典的特征及应用
python列表和字典的特征及应用列表一、列表的特征二、列表的操作1、迭代和解析2、索引、分片、矩阵3、列表的方法调用字典一、字典的性质二、字典的操作1、原处修改2、方法调用3、字典用法注意事项python学习手册(第四版)学习笔记(四)第 8 章 列表与字典列表一、列表的特征任意对象的有序集合;通过偏移读取;属于可变序列,也就是可以原地修改。这有别于字符串,字符串属于不可变序列,字符串不可以在原地修改。所以对序列的一些操作在这两者的某些地方不同;可变长度、异构和嵌套表8-1 常用列表原创 2021-01-28 22:01:13 · 690 阅读 · 0 评论 -
Python中主要类型分类
Python中类型分类python中主要类型也可以理解为主要的操作对象Python中主要的三个类型分类:以上分类还可以按可变与不可变分类:文中图片来自python学习手册(第四版)原创 2021-01-26 20:08:38 · 453 阅读 · 0 评论 -
python基于字典的字符串格式化
Python基于字典的字符串格式化基本内容一、基本内容二、添加键、属性和偏移量三、添加具体格式化基本内容一、基本内容基于字典的字符串格式化是普通的格式化高级版(下面统称格式化),普通的格式化就是类似于C语言中的 “ % ”格式化代码样例如下:其中format创建并返回一个新的字符串对象相应的扩展请继续阅读二、添加键、属性和偏移量代码样例如下:0和1代表的是format后面括号里的元素顺序,也即0表示sys;1表示字典{‘spam’:‘laptop’};中间以逗号隔开。方括号内是字典原创 2021-01-26 19:54:39 · 883 阅读 · 0 评论 -
Python学习手册学习笔记(三)
Python学习手册学习笔记(三)一、字符串常量1、转义序列2、raw抑制转义3、三重引号字符串块二、字符串操作1、字符串索引切片2、字符串转换3、字符串修改三、字符串方法及实例四、字符串格式化表达1、普通格式化2、基于字典的格式化第七章 字符串字符串基本操作一、字符串常量表7-1(p201)1、转义序列表7-2(p204)\\的转义是\2、raw抑制转义字符串前加上r,一般用于open()以防路径错误3、三重引号字符串块二、字符串操作1、字符串索引切片是python中很原创 2021-01-25 20:55:37 · 120 阅读 · 0 评论 -
python的引用与C语言的指针关系(理解多态的重要基础)
python引用与C语言指针的关系一、1、变量与对象2、对象的回收3、共享引用python学习手册(第四版)学习笔记(二)第六章 动态类型简介注:动态是python中多态特性的重要基础一、1、变量与对象python不同与C、C++或Java,在使用变量时,不需要声明变量的存在和类型,所以我们需要探究是为什么?python语句:a = 3python在执行这句赋值语句时有以下步骤:创建一个对象来表示3创建一个变量a将变量与对象连接如图3是一个整数型对象,a是一个变量名,原创 2021-01-24 21:22:27 · 969 阅读 · 6 评论 -
python学习手册(第4版)学习笔记(一)
学习笔记(一)第五章 数字一、1、十六、 八、二进制常量2、表达式操作符3、除法注意问题4、位操作注记:本笔记记录为自己不熟练或者不懂内容一、1、十六、 八、二进制常量十六进制以ox或oX开头,后跟0–9;A–F。八进制以0o或0O开头,后跟0–7。二进制以0b开头,后跟0–1。hex()将十进制转换成十六进制oct() bin()另外有 int(str,base) 其中str为字符串;base=8意为八进制的‘str’转换为十进制的数例:a = int("10",2)结原创 2021-01-21 22:18:02 · 169 阅读 · 1 评论