def 函数名(参数列表) 功能代码 return 返回值
(1)形参:函数需要传递的参数
(2)实参:调用函数时传递的参数
位置实参:函数调用的每个实参都必须关联到函数定义中的一个形参,最简单的就是基于实参的顺序。注意:位置实参的位置不正确,将导致结果不正确
函数形参传值:函数调用时,通过键-值的方式传递参数,不用按照位置的顺序
给形参指定默认值:编写函数时,给形参指定默认值,如果调用时没有传递该参数,则取默认值
位置参数和关键字参数混用:1)必须将 位置参数 写到前面,关键字参数 不用按照顺序来指定;2)每个参数只能接收一个值,不可重复
(1)不定量的参数传递:*arg: 一个非键值对的可变数量的参数; **kwargs: 不定长度的键值对参数
(2)值传递 :不可变参数通过值传递:数字、字符串、元组;
(3)引用传递:可变参数通过引用传递:列表、字典
class关键字定义类,类名通常是大写字母开头的单词
superClass表示继承自哪个类,若没有,则隐含继承object超类
__init__():类的实例化操作会自动为新创建的类实例发起调用 ,进行初始化也可以有额外参数进行初始化,我们还可以通过类的任何实例来访问这些变量 当根据 类创建新实例时,Python 都会自动运行它
self:引用当前方法的调用者 ;以 self 为前缀的变量都可供类中的所有方法使用,
类变量用于类的所有实例共享的属性;
实例变量是每个实例的唯一数据
可以用.来访问对象属性;可以添加、删除、修改对象属性
即一个派生类(derivedclass)继承基类(baseclass)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待
圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索, 即方法在子类中未找到时,从左到右查找父类中是否包含方法
isinstance(object, classinfo)
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。(如果要判断两个类型是否相同推荐使用 isinstance())