python(12.17)笔记

函数:

1.定义:def 函数名(参数),返回值return可有可无,没有时默认返回None,

  函数名是区分大小写的,函数名必须以下划线或字母开头,

  可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号;

2.变量: 

 全局变量:作用域从定义开始到进程结束。

    局部变量:作用域和生存周期仅在从定义开始到函数结束。

 如果想在函数内部定义全局变量,就要先声明是全局变量,用global x。

3.参数:

参数类型:
  位置参数:位置参数在可变参数后

  默认参数:默认参数的默认值最好不是可变类型,调用函数时,默认参数的值如果没有传入,则被认为是默认值。
  可变参数:*
  关键字参数:**kw

      多种参数类型混合使用 位置参数在第一位,关键字参数一定在最后

4.调用

  直接输入函数名调用,记得有参数要传参

递归调用:
  在函数内调用函数本身

  (1) 找到终止条件
  (2) 找到递归条件

5.

生成器(generator):
迭代器(Iterator):
next()得到成员的:generator
可迭代(Iterable):
能用for遍历的:str, list, tuple, dict, set, generator, range

collections模块中定义的Iterator和Iterable类型

6.匿名函数

适合函数功能简洁的

python 使用 lambda 来创建匿名函数。

  • lambda只是一个表达式,函数体比def简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率

7.高阶函数:函数为参

8.装饰器(decorator):

修饰函数
闭包:函数内有一个内嵌函数,内嵌函数可以使用外部函数的局部变>量

类:

  • 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
  • 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
  • 数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。
  • 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。
  • 局部变量:定义在方法中的变量,只作用于当前实例的类。
  • 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
  • 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。
  • 实例化:创建一个类的实例,类的具体对象。
  • 方法:类中定义的函数。
  • 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。

1.创建类:class class 之后为类的名称并以冒号结尾:

 

原文地址:https://www.cnblogs.com/song-119/p/10133525.html