Python基础进阶——从函数到高级魔方方法
目录
一、函数
1、函数的定义
def 函数名(形参):
函数体
return 返回值
2、函数的调用
函数名(实参)
3、函数参数
(1)位置参数
def functionname(arg1):
functionsuite
return [expression]
arg1就是位置参数,调用函数时位置要固定
(2)默认参数
def functionname(arg1, arg2=v):
functionsuite
return [expression]
arg2=v就是默认参数,定义函数时赋值,调用函数时如果没有传入值,则使用默认参数。
默认参数一定要在位置参数后边
(3)可变参数
def functionname(*args):
functionsuite
return [expression]
*args就是可变参数,可以是0个到任意个,自动组装成元组
(4)关键字参数
def functionname(**kw):
functionsuite
return [expression]
**kw就是关键字参数,可以是0个到任意个,自动组装成字典
(5)命名关键字参数
def functionname(*, nkw):
functionsuite
return [expression]
nkw就是命名关键字参数,需要在其前边加一个分隔符*
(6)参数组合
参数定义的顺序:
位置参数、默认参数、可变参数、关键字参数
位置参数、默认参数、命名关键字参数、关键字参数
4、变量作用域
(1)局部变量:定义在函数内部的变量
全局变量:定义在函数外部的变量
(2)当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字
二、Lambda表达式
1、用lambda关键字来定义匿名函数,格式如下:
lambda 函数参数:表达式
举例:lambda x: x ** 2
2、匿名函数的应用
(1)filter(function, iterable):过滤序列,过滤掉iterable中不符合function的元素
(2)map(function, *iterable):根据function对iterable做映射
三、类与对象
1、定义类
class 类名:
类体
调用类:类名()
定义子类继承父类
class 子类名(父类名):
子类体
2、类中的方法都必须有一个额外的第一个参数self
3、python的魔法方法
类有一个名为__init__(self, param1, param2, ……)的方法,在类实例化是会自动调用
4、公有变量和私有变量
私有变量在变量名或函数名前加“__”双下划线即可
5、继承
子类继承父类的公有变量和方法。
6、组合
几个类可以组合到一块中
7、类、类对象和实例对象
类对象:创建一个类,其实就是一个对象在内存中开辟了一块空间,称为类对象,类对象只有一个。
实例对象:通过实例化类创建的对象,称为实例对象,实例对象可以有多个。
8、相关的内置函数
(1)issubclass(class, classinfo):判断class是否是classinfo的子类
(2)isinstance(object, classinfo):判断一个对象是否是一个已知类型
(3)hasattr(object, name):判断对象是否包含对应的属性
(4)getattr(object, name):返回一个对象的属性值
(5)setattr(object, name, value):设置对象的属性值,该属性不一定是存在的
(6)delattr(object, name):删除对象的属性
四、魔方方法
所有的魔法方法都是被两个双下划线”__”包围