python-day03

1.函数式编程:纯粹的函数式编程语言编写的函数没有变量。函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。

2.高阶函数:既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

      def add(x,y,f):

        return f(x)+f(y)

a.map/reduce:  map()函数:接受两个对象,一个是函数,一个是Iterable。map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

        reduce()函数:把一个函数作用在一个序列[x1,x2,x3...]上,这个函数必须接受两个参数,reduce把结果继续和序列的下一个 元素做累积计算。

b.filter:用于过滤序列。也是接受一个函数,和一个序列,和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃。返回的是一个Iterator

c.sorted:排序算法

3.返回函数:函数作为返回值。高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。

4.闭包:

5.匿名函数:lambda表示匿名函数,list(map(lambda x:x*x ,[1,2,3,4,5,6,7]))       匿名函数lambda x:x*x   就是def tt(x): return x*x

      匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。

6.装饰器:函数对象有一个__name__属性,可以拿到函数的名字。

   假设要增强函数的功能,比如在函数调用前后自动打印日志,但又不希望修改函数的定义,这种在代码运行期间动态的增加函数功能的方式,称之为装饰器。(decorator)

7.模块:一个.py文件就称之为模块。为了避免模块名相同,python又引入了按目录来组织模块的方法,称之为‘包’,   包----》模块。

    请注意,每一个包目录下都会有一个__init__.py的文件。这个文件时必须存在的。否则python就把这个目录当成普通目录了。而不是一个包。

8.使用模块:使用sys模块,第一步就是导入该模块:import sys    导入之后,我们就有了sys变量指入该模块,利用这个sys这个变量,就可以访问sys模块所有的功能。

9.作用域:_xxx 和__xxx这样的函数或变量就是非公开的,私有的。

时间: 2024-11-10 14:29:01

python-day03的相关文章

My way to Python - Day03

列表和字典的赋值 1 dict1 = {} 2 dict1['k1'] = 'v1' 3 4 list1 = [] 5 list1.append('v1') 集合系列 1,计数器 1 Python 2.7.6 (default, Mar 22 2014, 22:59:56) 2 [GCC 4.8.2] on linux2 3 Type "help", "copyright", "credits" or "license" fo

【转】Python 内置函数 locals() 和globals()

Python 内置函数 locals() 和globals() 转自: https://blog.csdn.net/sxingming/article/details/52061630 1>这两个函数主要提供,基于字典的访问局部变量和全局变量的方式. python 使用叫做名字空间的东西来记录变量的轨迹.名字空间是一个字典 ,它的键就是字符串形式的变量名字,它的值就是变量的实际值. 名字空间可以像 Python 的 dictionary 一样进行访问. 在一个 Python 程序中的任何一个地方

Python 变量类型day03

变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 等号(=)用来给变量赋值. 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值.例如: #!/usr/bin/python counter = 100 # An integer assignment miles = 1000.0 # A floating point na

Python基础-day03

写在前面 上课第三天,打卡:  不要让干净的灵魂染上尘埃,永远年轻.永远热泪盈眶 一.再谈编码 - 文件的概念 '文件' 是一个抽象的概念,是操作系统提供的外部存储设备的抽象,对应底层的硬盘:它是程序和数据的最终存放地点. 操作系统把硬盘存储的具体操作封装起来,提供一些简单易用的API,让用户不用去关心底层复杂的实现方法: 即:让用户的数据存放变得容易.方便和可靠. 另外,磁盘没有 '修改' 一说,全部都是覆盖: - Unicode 和 utf-8 > 备注:这段精辟的解释来自于 林海峰老师的博

Python学习day03

一.集合 与列表和元组不同,集合是无序的,也无法通过数字进行索引.此外,集合中的元素不能重复 创建集合: 使用set函数 集合操作: s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) t.add('

python学习点滴记录-Day03

函数基础 一. 使用函数带来的好处 #使代码组织结构清晰#减少代码冗余#可以统一管理且降低维护难度可以把函数当作日常生活中的工具,具备某种功能的物件,直接拿来使用即可. 二.函数的分类 内置函数:python解释器内置了大量函数方便开发者直接使用 自定义函数:根据自身需求自己编写的函数 三.函数的使用 定义函数 函数的定义与变量的定义类似,需要提前定义再调用 定义函数时只检测语法,不执行代码 def 函数名(arg1,arg2,arg3): '''注释''' 函数体 return 返回值 调用函

Python开发Day03(练习解答)

练习一. '''普通参数分为形参.实参,有多少形参,就必须要给函数多少个实参. 指定参数为,假如有name和age两个形参,在给函数参数的时候指定name='****',age='**' 默认参数为必须放在参数的尾部,列如一个name形参,一个age形参,我们可以将name形参放在前面,这样用户必须给函数一个名字,age放在后面默认等于18.(name,age=18) 动态参数:在形参前面加一个*号,可以传入多个参数,在函数内类型会变为元组. 在形为参数前面加两个*号,传入的值为字典类型,相当于

python学习笔记-day03 (函数和文件操作)

函数(代码块,按功能划分(也可按其他方式划分)) 内置函数第三方函数自定义函数 内置函数:help()dir()type()reload()id() vars()  # 获取脚本中的变量,当前模块的所有变量    {'__name__': '__main__',  #被执行的脚本,__name__ 的值为__main__    '__builtins__': <module '__builtin__' (built-in)>,     '__file__': '/PYthon/test/tes

Python学习笔记-Day03 -第三部分(迭代器和生成简介)

迭代器 迭代器是一个容器对象,有两个基本方法 netxt()   #返回容器的下一个元素 __iter__  #返回迭代器自身 迭代器自2.2版本 被加入python,它为类序列对象提供了一个类序列的接口,从根本上说,迭代器就是有一个next()方法的对象,而不是通过索引来记数,当你 或者一个循环机制(比如for)需要下一个项时,调用迭代器的next() 方法 就可以获取到它,条目全部取出后,或引发一个StopIteration异常,你并看不到该异常,python内部会处理该异常,目的只是为了告

python之路:Day03 --- Python基础3 &gt;&gt;函数

本节内容 1.函数基本语法及特性 2.参数 3.局部变量与全局变量 4.返回值 嵌套函数 5.递归 6.匿名函数 7.高阶函数 8.内置函数 一.函数基本语法及特性 区别 面向过程编程:根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处. 函数式编程:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可. 面向对象编程:对函数进行分类和封装,让开发"更快更好更强..." 特性 1.减少重复