摘要:
1、类和对象使用简单例子,python中一切皆对象 数据属性是所有对象共享的 函数属性是绑定给对象用的,绑定到对象的函数调用,会自动传值,把self传给函数 class Student: '''hello cc''' def __init__(self, name, age): self.name 阅读全文
摘要:
参考Python开发之路 1、不要简单的认为面向对象就是使用class A ,面向对象是一种编程思想,用函数也可以面向对象编程。 面向过程、面向对象、函数式编程只是不同的编程范式,本身没有好坏之分,看用的人了。Linux的内核就是用C语言写成的,能说差吗? 2、用函数进行面向对象编程例子 类就是一些 阅读全文
摘要:
递归调用是函数嵌套调用的一种特殊形式,函数在调用时,直接或间接调用了自身python解释器的内存管理机制为了防止无限制调用,对递归调用做了最大的层级限制 三个特点: 1、要有确定的结束条件 2、问题规模要一步一步的减小 3、函数的等价关系式 例1、问路 import time person_list 阅读全文
摘要:
一、匿名函数:lambda 一次使用,随时随地定义没有名字,有了名字就失去了意义当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。匿名函数通常被用作高阶函数的参数。比如,filter(),map(),reduce()。 lambda x,y:x+y 二、函数式编程 函数是P 阅读全文
摘要:
1、列表解析:函数式编程工具列表解析是最常应用迭代协议的环境之一列表解析也不是必须的,我们也可以手动循环来完成列表解析的工作,但是,列表解析看起来更加精简,而且,列表解析比手动for循环执行速度更快,因为它们的迭代在解释器内部是以C语言的速度执行的,而不是以手动代码执行的特别是对于较大的数据集合,这 阅读全文
摘要:
生成器(generator)是迭代器()的一种,其本质上就是迭代器分为生成器函数、生成器表达式1、生成器函数只要函数内部含有yield关键字,那么函数名()的结果就是生成器,并且不会执行函数内部代码 例1: def func(): print(' first') yield 1 #相当于return 阅读全文
摘要:
1、可迭代对象(iterable) 可迭代对象都有一个 __iter__() 方法,也就是说有 __iter__() 方法的对象,就是可迭代对象。 'hello'.__iter__ (1,2,3).__iter__ [1,2,3].__iter__ {'a':1}.__iter__ {'a','b' 阅读全文
摘要:
Python允许使用装饰器对函数进行装饰,装饰器可以帮助函数实现一些通用的功能,在函数调用前运行些预备代码或函数调用后执行清理工作。如:插入日志、检测性能(计时)、事务处理、缓存、权限校验等。这样编写函数时就可以专注于功能的实现,就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。 定义:装饰器 阅读全文
摘要:
一、闭包 一个能记住嵌套作用域的变量值的函数 又称闭包函数或者闭合函数,其实和前面讲的嵌套函数类似,不同之处在于,闭包中外部函数返回的不是一个具体的值,而是一个函数。一般情况下,返回的函数会赋值给一个变量,这个变量可以在后面被继续执行调用。闭包将内部函数与外部函数连接起来,其实就是一种新的传参方法闭 阅读全文
摘要:
1、函数嵌套 def f1(): def f2(): def f3(): print('cc') f3() f2() f1() 2、作用域 python创建、改变或查找变量名都是在所谓的命名空间中进行的,当我们谈论搜索变量名对应代码的值时,作用域这个术语指的就是命名空间。作用域和定义的时候有关系,和 阅读全文