一、函数
参数/默认值/可变参数/关键字参数/命名关键字参数
返回值
``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 依赖