随笔分类 - Python
Python学习——numpy.random
摘要:numpy.random.rand numpy.random模块作用是生成随机数,其中numpy.random.rand(d0, d1, ..., dn):生成一个[0,1)之间的随机浮点数或N维浮点数组。下面是实例: numpy.random.randn numpy.random.randn(d0
阅读全文
【Python学习之十】yield之send方法
摘要:yield作用 简单地讲,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator。下面以斐波拉契数列来做个说明: 下面执行yield版的fab函数: 在 for 循环执行时,每次循环都会执行 f
阅读全文
【Python学习之九】asyncio—异步IO
摘要:asyncio 这是python3.4引入的标准库,直接内置对异步IO的支持。asyncio的编程模型就是一个消息循环。从asyncio模块中直接获取一个EventLoop的引用,然后把需要执行的协程扔到EventLoop中执行,就实现了异步IO。 协程 子程序,或者称为函数。在所有语言中都是层级调
阅读全文
【Python学习之八】ORM
摘要:ORM 什么是ORM呢? ORM全称是:Object-Relational Mapping。即对象-关系映射,就是把关系数据库的一行映射为一个对象,也就是一个类对应一个表。这样,写代码更简单,不用直接操作SQL语句。十分方便python的Web开发。通过编写ORM框架,我们可以通过定义一个User类
阅读全文
【Python学习之七】面向对象高级编程——使用@property
摘要:参考来自廖雪峰Python教程:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143186781871161bc8d6497004764b398401a401d4cce000
阅读全文
【Python学习之七】面向对象高级编程——__slots__的使用
摘要:1、Python中的属性和方法的绑定 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法。 (1)首先,定义一个class: class Student(object): pass (2)然后,给实例绑定属性: (3)或者,给实例绑定一个方法:
阅读全文
【Python学习之七】递归——汉诺塔问题的算法理解
摘要:汉诺塔问题 汉诺塔的移动可以用递归函数非常简单地实现。请编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法。 汉诺塔问题的实现关键是理解递归的本质。递归问题的关键个人认为是,重目的而略过程。利用递归,我
阅读全文
【Python学习之六】高阶函数2(map、reduce、filter、sorted)
摘要:3、filter filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。相当于一个过滤器作用。例如,在一个list中,删掉偶数,只保留奇数,可以这么写: 这个filter的关键在于
阅读全文
【Python学习之六】高阶函数1(map、reduce、filter、sorted)
摘要:1、map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。示例: 2、reduce reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结
阅读全文
【Python学习之五】高级特性5(切片、迭代、列表生成器、生成器、迭代器)
摘要:5、迭代器 由之前的生成器可知,for循环用于可迭代对象:Iterable。包括集合数据类型: list、tuple、dict、set、str 等,以及两种生成器。判断迭代器,使用 isinstance(type, Iterable) 。还有的是,可以被next()函数调用并不断返回下一个值的对象称
阅读全文
【Python学习之五】高级特性4(切片、迭代、列表生成器、生成器、迭代器)
摘要:4、生成器(generator) 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。 创建一个generator,有很多种方法
阅读全文
【Python学习之五】高级特性3(切片、迭代、列表生成器、生成器、迭代器)
摘要:3、列表生成器(List Comprehensions) 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 1
阅读全文
【Python学习之五】高级特性2(切片、迭代、列表生成器、生成器、迭代器)
摘要:2、迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。在Python中,迭代是通过for ... in来完成的。 只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代key: 还可以迭代value,
阅读全文
【Python学习之五】高级特性1(切片、迭代、列表生成器、生成器、迭代器)
摘要:1、切片 有一个list—>L = [1,2,3,4,5,6,7]或tuple—>T = (1,2,3,4,5,6,7),如果想取得前三个元素,怎么操作? 硬方法,也是低效的方法是:L= L[L[0], L[1], L[2]]。但是如果数量多,就算是用循环也很麻烦。但是Python提供了,Slice
阅读全文
【Python学习之四】递归与尾递归
摘要:看完廖雪峰老师的教程,感觉尾递归函数是一个相对难点。于是复习一下,思考了一下,发表一些见解,记录一下。 1、递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 例如,阶乘的实现:f(n) = n! = 1x2x3x4......xn = f(n-1) x
阅读全文
【Python学习之三】函数的参数
摘要:在学习Python的过程中,我认为Python函数是很重要的一部分。其中参数的类型和数量,是一个比较容易弄混乱的点。 1、一般参数 首先,写一个计算两个数的和的函数: 函数addNum(x, y)中具有两个参数。 2、默认参数 当我们编写的函数中,有一个参数是不太变化的,我们可以设置它是默认的参数,
阅读全文
【Python学习之二】装饰器
摘要:装饰器 首先,给出装饰器的框架: Python装饰器,本质上就是一个高阶函数。作用是给其它函数增加新的功能。借用python的@语法,可以将一个高阶函数定义为装饰器。 @符号的作用 但是,在学习廖雪峰老师的Python教程时,似懂非懂,尤其是看到@这个符号的时候,感觉一头雾水。现在回想来看,只要百度
阅读全文
【Python学习之一】list与tuple
摘要:list -> [] list是python内置的有序集合数据类型,可随时添加和删除元素。例如:创建一个动物的列表: len()函数可以获取list的元素个数: 可用索引访问list内的元素(与C语言等数组类似): 索引可以是负数: 注意:list是一个可变的、有序的列表。 可变在于:可以往list
阅读全文
浙公网安备 33010602011771号