自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Python学习笔记--装饰器强化

装饰器强化类型注解用装饰器实现函数的类型检查小结类型注解类型提示的装饰器。python是动态类型语言,也就是说一个变量的类型是在运行时决定的,一个变量的类型在应用的生命周期中是可变的。但是当我们写一个函数时:def add(x, y): return x + y这个时候,就只能用int值作相加,但有时也会出现str + int的这种情况。于是就需要明确函数的类型。一般在定义...

2019-08-02 12:30:07 161

原创 Python学习笔记--带参数的装饰器

带参数的装饰器装饰器的副作用柯里化functools带参数的装饰器多参数小结装饰器的副作用def fn(): '''this is fn'''help(fn)#结果:Help on function fn in module __main__:fn() this is fn这就是一个函数的文档。这里help函数好像其实就是调用了函数下面的注释。其实和默认值一...

2019-07-29 20:44:37 287

原创 Ptython学习笔记--装饰器

装饰器前言定义作用装饰器小结前言高阶函数需要符合的条件:函数作为返回值函数作为参数应用场景:闭包目的是为了解决部分变量给保留起来,不泄露出去。定义def logger(fn): def wrap(*args, **kwargs): print('call {}'.format(fn.__name__)) ret = fn(*args...

2019-07-29 15:44:23 169

原创 Python学习笔记--高阶函数

高阶函数定义高阶函数的作用小结定义>>> def counter(base):... def inc(x=1):... nonlocal base... base += x... return base... return inc...>>> inc = counter(3)&g...

2019-07-29 13:21:28 151

原创 Python学习笔记--生成器

生成器定义原理惰性求值难点应用普通应用高阶应用,协程小结定义生成器其实也是一个函数:def g(): for x in range(10): yield x>>> r = g()>>> r<generator object g at 0x0000027FC9865148>这里定义了一个g函数,用到了yield...

2019-07-29 10:56:47 133

原创 Python学习笔记--匿名函数

匿名函数定义匿名函数的调用限制匿名函数的应用sortedmapfilter小结定义在定义普通函数的时候,如下:def fn(): pass而匿名函数就是没有名字的函数,用lambda这个关键字来定义,lambda后面接一个参数x,然后用冒号分隔,然后定义一个函数体,如下:>>> lambda x: x + 1<function <lambda&g...

2019-07-24 16:19:42 158

原创 函数的执行流程&递归函数

函数的执行流程&递归函数函数的执行流程递归函数小结函数的执行流程假设有一段代码,流程如下:mainf1()f2()f3() f4() f5()main其中main主流程可以看成是全局作用域,f1()是一个局部作用域。cpu是只能一个一个执行的,所以需要先保存主流程的现场,去执行f1(),执行完之后就要还原main主流程。如下:右边是一个主流...

2019-07-24 14:59:11 1642

原创 Python学习笔记--函数的作用域

函数的作用域定义全局作用域局部作用域上、下级作用域全局变量global闭包函数局部变量nonlocal默认参数作用域小结定义一个变量的可见范围叫做这个变量的作用域python是一个非块级作用域的语言>>> for i in range(10):... name = i...>>> print(name)9>>> pri...

2019-07-23 21:48:43 133

原创 Python学习笔记--函数的返回值和嵌套

函数的返回值和嵌套函数的返回值返回值和打印值返回多个结果函数的嵌套小结函数的返回值函数都是用return来返回函数的:def add(x, y): return x + y但是return还会结束函数,如下:>>> def add(x, y):... return x + y... print('haha')...>>&gt...

2019-07-23 19:32:06 518

原创 Python学习笔记--参数解构

参数解构前言位置参数解构关键字参数解构参数解构和可变参数小结前言函数的5种参数类型:位置参数关键字参数默认参数可变位置参数可变关键字参数位置参数解构定义一个累加器:def add(x, y): ret = x + y print('{} + {} = {}'.format(x, y, ret)) return ret当需要调用这个函数时会考虑到用...

2019-07-23 17:27:40 642

原创 Python学习笔记--函数参数的详解

函数参数的详解前言位置参数关键字参数参数默认值可变参数小结前言def add(a, b): return a + b定义一个函数,之后去调用他,可以发现调用的时候传入的参数个数需要和定义的时候匹配,如果不匹配就会报错,无论时参数多了还是少了。位置参数>>> def add(a, b):... ret = a + b... print('{}...

2019-07-23 16:46:42 170

原创 Python学习笔记--函数的基础

函数的基础定义函数定义函数的调用小结定义函数是Python里组织代码的最小单元>>> oTraceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'o' is not defined>>> for o in r...

2019-07-23 14:26:15 279

原创 Python学习笔记--可迭代对象与迭代器

可迭代对象与迭代器可迭代对象迭代器应用for...in总结可迭代对象>>> r = range(10)>>> r.__iter__<method-wrapper '__iter__' of range object at 0x000002011137C2A0>可迭代对象都有这么一个方法,有__iter__的对象叫可迭代对象。可迭代对象可...

2019-07-18 22:02:58 629

原创 Python学习笔记--解析式

解析式前言列表解析式定义解析式变体三元表达式生成器解析式集合解析字典解析小结前言一般认为的python解析器如下:[for i in range(10)]事实上,这只是其中的一种。解析式这个大概念可以分为以下几种:列表解析式生成器解析式集合解析式字典解析式列表解析式如下对一个列表里所有的数值求平方就是列表解析式:>>> lst = list(rang...

2019-07-18 21:12:37 329

原创 Python学习笔记--字典及常用操作

字典及常用操作前言定义增加修改删除访问字典的限制字典的变体前言字典是一种key-value结构,redis、mencached、json都是这种结构定义>>> d = {}>>> type(d)<class 'dict'>>>> d{}这里需要值得注意的是:集合的定义里面是:s = set() 或者直接 s ...

2019-07-18 19:30:21 195

原创 Python学习笔记--集合运算

集合运算交集差集对称差集并集补集拓展集合相关的判断集合的应用集合的限制总结交集差集对称差集并集补集拓展异或定义异或常用场景集合相关的判断集合的应用集合的限制总结...

2019-07-18 15:56:10 418

原创 Python学习笔记--集合及常用操作

集合及常用操作定义与初始化增加删除修改查找成员运算符小结定义与初始化增加删除set.removeset.popset.discard小结修改查找成员运算符小结

2019-07-17 21:06:11 118

原创 Python学习笔记--解构和封装

解构和封装解构封装python3中解构的变化八大变体实例讲解python中的_提问小结解构在其他语言中交换x,y值一般会设置一个临时变量,而python则有一种简便的方法:x = 3y = 5x, y = y, xprint(x, y)#结果如下5 3这种方法的名字叫解构。即:把一个整体拆分成多个小个体。#传统做法>>> lst = [1, 2]>...

2019-07-17 17:30:58 221

原创 Python学习笔记--线性结构与切片

线性结构与切片定义enumerate迭代器切片操作小结定义目前学习到的数据结构:列表元组字符串bytesbytearray共同特点:都是顺序存储,顺序访问的,都是可迭代对象,都可以通过索引访问这样一类的结构称为:线性结构线性结构的特点:可迭代可以用len方法获取长度可以使用下标操作符通过索引访问可以切片例子如下:for i in [1,2,3]: ...

2019-07-17 15:24:24 158

原创 Python学习笔记--字符串与bytes

字符串与bytes定义区别编码为什么要用编码?bytesbytes的定义bytes的操作bytearraybytearray的定义bytes不可变&bytearray可变使用场景bytearray的方法小结定义区别编码为什么要用编码?bytesbytes的定义bytes的操作bytearraybytearray的定义bytes不可变&bytearray可变使用...

2019-07-17 11:12:01 425

原创 Python学习笔记--字符串格式化

字符串格式化字符串格式化print style 字符串格式化format方法指令集f前缀小结字符串格式化字符串格式化是拼接字符串的一种手段。在字符串的常用方法中的join()方法便是一种拼接手段。>>> ' '.join(['xu','love','you'])'xu love you'但是,join和拼接字符串难以控制格式。所以我们需要进一步的工具。print s...

2019-07-15 16:54:31 211

原创 Python学习笔记--字符串及其常见操作

字符串及其常见操作对字符串的了解定义转义下标操作字符串的操作总结上述知识点来源对字符串的了解(第一次认真使用这个编辑器进行总结我的学习,希望可以做好)字符串在python中是一个内置数据结构。定义如下分别对变量s进行定义:s = ‘hello world’s = “hello world”s = ‘’‘hello world’’’s = “”“hello world”""前两种...

2019-07-12 19:10:22 504

原创 Python学习笔记--tuple

可直接放入pycharm中查看并运行看结果#元组tuple为一种有序列表#tuple和list非常类似,但是tuple一旦初始化就不能修改names = ('lisi','zhangsan','wangwu')try: names.append(1)except BaseException as e: print(e) #'tuple' object has ...

2019-07-11 17:37:27 308

原创 Python学习笔记--list

#使用list函数定义空列表l = list()#使用中括号定义空列表l = []#使用中括号定义带初始值的列表l = [1,2,3]#使用list函数把可迭代对象转换为列表l = list(range(1,19))#通常在定义列表的时候使用[],在转化可迭代对象为列表时用list函数'''查询(访问列表)'''#定义一个1-10的列表l = list(range(1,...

2019-07-11 16:23:29 118

原创 Python学习笔记--基本数据类型

基本数据类型1.整型和浮点型对于整型int来讲,不存在溢出。但是浮点型float会溢出,会损失精度,即精度无效。为什么会有精度失效:计算机都是用二进制表示的,必然存在0与1之间的数字没法表示的情况二进制小数转十进制小数101.111(2)转1*(22)+0*(21)+1*(20)+1*(2(-1))+1*(2(-2))+1*(2^(-3))=5.875(不太会用这个的编辑器额。。...

2019-07-04 10:54:49 106

原创 Python学习笔记--常量变量

第一章 常量变量一、定义1.常量:一旦赋值,就不能再改变其值。也就是说不能对他进行重新赋值。2.变量:一个名字,位于赋值符号的左边,这个名字可以指代赋值符号右边的内容。3.字面常量:一个单独出现的量,未赋值给任何常量或者变量。注意:python只有变量,不存在常量和字面常量!在c#、Java、JS中一旦被赋值便不能被修改,而python则不同。Python一切皆对象,赋值即定义。一切...

2019-06-27 19:22:58 198

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除