Python -- 类与对象

一、函数

参数/默认值/可变参数/关键字参数/命名关键字参数
返回值
``Python
class Student():
    def __init__(self, *arg, **kwargd):  # 可变参数 *arg ,**kwargd
        if 'name' in kwargd:
            self._name = kwargd['name']


def main():
    s = Student()
if __name__ == '__main__':
    main()

#### 嵌套定义
#### 高阶函数: 把函数当成函数的参数 - λ函数(匿名函数)/闭包/偏函数/柯里化


```python




<div class="se-preview-section-delimiter"></div>

```Python
# func 是一个函数,使得下面这个函数可以做各种运算,累加,累乘等。

def cal(num_list, func):
    total = num_list[0]
    for index in range(1, len(num_list)):
        total func(total, num_list[index])
    return total


def main():
my_list = [1, 2, 3, 4, 5]
print(calc(my_list.lambda x, y: x + y))   # 匿名函数,此处做了加法运算
# func 是一个函数,使得下面这个函数可以做各种运算,累加,累乘等。

def cal(num_list, func):
    total = num_list[0]
    for index in range(1, len(num_list)):
        total func(total, num_list[index])
    return total


def main():
my_list = [1, 2, 3, 4, 5]
print(calc(my_list.lambda x, y: x + y))   # 匿名函数,此处做了加法运算

“`

小结:函数:是程序中的重要组成部分,用函数写,调用函数,都特别的方便,不用一行行的执行代码,繁琐而冗杂。
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。也可以自己创建函数,这被叫做用户自定义函数。
用def开头,自定义函数,避免重复代码这种坏味道出现在你的程序里

二、 标识符

LEGB –> 局部 - 嵌套 - 全局 - 内置,若都没找到就会报错 not defined
global nonlocal
根据调用地方的不同,globals() 和 locals() 函数可被用来返回全局和局部命名空间里的名字。
如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。
如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。

三、 类与对象

一切皆为对象
类与类之间的关系:
is-a 继承
has-a 关联
use-a 依赖
封装:隐藏可以隐藏的,只向外界提供参数
多态:同一个方法干了不同的事情
高内聚:单一职责原则
低耦合:迪米特法则(最小知识原则)
里式替换原则:用子类替换父类
开闭原则:接收扩展,拒绝修改
合成聚合复用原则:能用关联不用继承
小结:类:在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,self 代表的是类的实例。
init : 构造函数,在生成对象时调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值