python语言篇(10知识点)

闭包 closure
  将内嵌函数的语句和这些语句的执行环境打包在一起后,得到的函数对象称为闭包(closure)

 闭包必须满足以下三个条件:
   1. 必须有一个内嵌函数
   2. 内嵌函数必须引用外部函数中的变量
   3. 外部函数返回值必须是内嵌函数

示例:
  见closure.py

说明:
  如果一个内嵌函数访问了外部嵌套函数作用域内的变量,则这个内嵌函数就是闭包


装饰器 decorators(专业提高篇)
什么是装饰器:
  装饰器是一个函数,这个函数的主要作用是包装别一个函数或类(后在才讲)
  包装的目的是在不改变原函数名的情况下改变被包装对象的行为

函数装饰器 function decorators
  函数装饰器是指装饰器是一个函数,传入的是一个函数,返回的也是一个函数

示例:
  见deco1.py
  见deco2.py
  见deco3.py
  见deco4.py

函数的文档字符串:
  语法:
    def 函数名(参数列表):
        """函数的文档字符串"""
        函数语句块
  说明:
    文档字符串通常来用说明本函数的功能和使用方法
    在交互模式下,输入help(函数名) 可以查看函数的"文档字符串"

函数的__doc__属性:
  函数内第一次末赋值给任何变量的字符串是此函数的文档字符串
  此字符串会自动赋值给函数的__doc__属性

  示例:
    def cba():
        '这是一个文档字符串'
        pass
    print(cba.__doc__)  # 这是一个文档字符串

函数定义语句的完整语法:
  [@装饰器1]
  [@装饰器2]
  [...]
  def 函数名([位置形参], [*元组形参], [命名关键字形参],
    [**字典形参]):
      "文档字符串"
      语句块

模块 module
  什么是模块:
    模块是一个包含有一系列变量,函数,类等组成的程序组
    模块是一个文件,模块文件通常以.py结尾
  作用:
    1. 让一些相关的变量,函数,类等有逻辑的组织在一起,使逻辑结构更加清晰
    2. 模块中的变量,函数和类可提供给其它模块使用

模块的分类:
  内置模块(biultins), 在解释器的内部可以直接使用
  标准库模块,安装python时已安装且可直接使用
  第三方模块(通常为开源), 需要自己安装
  用户自己编写的模块(可以作为其它人的第三方模块)

模块的导入 import
import 语句
  语法:
    import 模块名1 [as 模块新名1][,模块名2 [as 模块新名2], ....]
  示例:
    import math  # 导入数学模块
    import sys, os # 导入 sys,os模块
  作用:
    将某模块整体导入到当前模块中
  用法:
    模块名.属性名

   help(模块名)  查看模块内的变量,函数,类等

练习:
  1. 输入一个圆的半径,打印出这个圆的面积
  2. 输入一个圆的面积,打印出这个圆的半径
     面积 = pi * 半径的平方
    (要求用math模块内的函数和变量)

from import 语句
  语法:
    from 模块名 import 模块属性名1 [as 属性新名1],  模块属性名2 [as 属性新名2], ...
  作用:
    将某模块内的一个或多个属性导入到当前模块的作用域
  示例:
    from math import pi, sqrt
    from math import factorial as fac
    from math import sin
    area = pi * 10 ** 2  # 可以直接使用导入的函数名或变量名

from import *语句
  语法:
    from 模块名 import *
  作用:
    将某模块的所有属性导入到当前模块
  示例:
    from math import *
    print(sin(pi/2))
    print(factorial(10))

dir 函数
  格式:
    dir([对象]) -> 返回一个字符串列表
  说明:
    如果没有参数调用,则返回当前作用域内的所有变量的列表
    如果给定一个对象作为参数,则返回这个对象的所有变量的列表
       1. 对于模块,返回这个模块的全部属性
       2. 对于一个类对象,返回类对象的所有变量,并递归基类对象的所有属性
       3. 对于其它对象返回所有变量,类变量和基类变量

数学模块 math
  模块名math

常用函数见:
  python_base_docs_html/数学模块math_???.html


练习:
  请编写函数 fun(n) 其功能是计算并输出下列多项式的和
    Sn = 1 + 1/1! + 1/2! + 1/3! + 1/4! +... +1/n!
  
  请编写函数 fun(x, n) 它的功能是计算下载多数项的和并返回:
    s = 1 + x + x**2/2! + x**3/3! + x**n/n!

    print(fun(3.1, 10))

练习:
  1. 已知有五位朋友在一起
      第五位朋友比第四个人大2岁
      第四位朋友比第三个人大2岁
      第三位朋友比第二个人大2岁
      第二位朋友比第一个人大2岁
      第一个人说他今年10岁,
      编写程序算出第5个人几岁
  2. 改写之前的学生信息管理项目源码,要求带有操作界面:
    +------------------------------+
    | 1) 添加学生信息                |
    | 2) 显示所有学生的信息           |
    | 3) 删除学生信息                |
    | 4) 修改学生成绩                |
    | 5) 按学生成绩高-低显示学生信息   |
    | 6) 按学生成绩低-高显示学生信息   |
    | 7) 按学生年龄高-低显示学生信息   |
    | 8) 按学生年龄低-高显示学生信息   |
    | q) 退出                       |
    +------------------------------+
    请选择:
    要求,每个功能至少写一个函数与之相对应

你可能感兴趣的:(python语言篇)