软件开发过程中很多操作是完全相同或者是非常相似的,仅仅是要处理的数据不同而已,那我们当然会很容易想到我们的强大的复制粘贴功能,但是如果你这部分用的地方很多,而且刚巧不巧你还得去改,那多麻烦啊,最后功能大得你恨不得重新写个工程
解决这个问题的有效方法是设计函数和类
函数:将可能需要反复执行的代码封装为函数,定义起来比较简单就不详细的去说
语法为
def 函数名 ([参数列表]):
''' 注释 '''
函数体
假如定义了函数def fib(n),调用即为fib(100)
注意的是定义函数也不需要声明函数的返回值类型,而是使用return语句结束函数执行的同时返回任意类型的值
类:面向程序设计,支持七基本功能,创建类时用变量形式表示对象特征的成员称为数据成员,用函数形式表示对象的行为的成员称为成员方法,数据成员和成员方法统称为类的成员
语法为:
class Car(object): #定义一个类,派生自object类
def infor(self): #定义成员方法
print("This is a car.")
实例化对象
car = Car() #实例化对象
car.infor() #调用对象的成员方法
知道这些其实就可以实现最简单的所有操作了,
而一些函数里面的递归,嵌套这些啥的,有一点点C基础,就可以自己写出来了
然后要注意一下函数的参数问题
- 函数定义时括号内为形参列表,用逗号分隔开,
- 当然也可以没有参数,但定义以及调用时一定要带上括号
- 一般来说函数内部直接修改形参的值不会影响实参
- 位置参数要记得调用时实参形参要顺序严格一致且数量相同
- 在定义函数时可以为形参设置默认值,在调用时是否为默认值参数传递实参是可选的,具有较大灵活性,任何一个默认值参数右边不能再出现没有默认值参数的普通位置参数
即
def 函数名(..., 形参名=默认值):
函数体
- 如果定义函数时某个参数的默认值为另一个变量的值,那么参数的默认值只依赖于函数定义时该变量的值,或者说是函数的默认值参数是在函数定义时确定值的,所以只被初始化一次
一些使用比较复杂的一些注意事项这里就不再阐述了,如果想了解更多的话,大家可以自己去翻阅资料
类方面我学的也比较简单,因为已经够我平时的一些问题解决了,大家可以就是接触到了再学深一点