携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第23天,点击查看活动详情
大家好,我是芒果,一名非科班的在校大学生。对C/C++、数据结构、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流
作者简介:
- CSDN C/C++领域新星创作者blog.csdn.net/chuxinchang…
- 掘金LV3用户 juejin.cn/user/138142…
- 阿里云社区专家博主,星级博主,技术博主 developer.aliyun.com/profile/exp…
- 华为云云享专家 bbs.huaweicloud.com/community/m…
函数
注意:最后面的:
-
一些可以被重复使用的代码, 可以提取出来放到函数中.
-
Python使用def来定义一个函数. 使用return来返回结果
- 由于是动态类型,所以不用写返回值的类型
def Add(x,y): return x+y -
Python使用()来调用函数
- 理解 "形参" 和 "实参": 形参相当于数学中 "未知数" 这样的概念. 实参就是给未知数确定具体的数值.
- Python中没有 "重载" 这样的概念. 相同名字的函数, 后面的会覆盖前面的.
def func(): print("a") def func(): print("b") func() #打印b
默认参数
-
Python支持默认参数. 函数的参数可以具备默认值,即:调用时没有传参或者少传参,默认为某个数(缺省值)
def Add(x = 0,y = 1): return x+y print(Add(10)) #10+1=11 print(Add()) #0+1=1
解包unpack语法
-
Python解包(unpack)语法, 函数返回多个值
def GetPoint(): return 100,200 x,y = GetPoint() print(x,y)#100 200
占位符
- 假如我只关注y, 不想关注x, 可以使用 _ 作为占位符.
def GetPoint():
return 100,200
_,y = GetPoint() #_是占位符
print(y)#200
- 函数也是 "对象". 一个函数和一个数字, 字符串一样, 都可以定义 "别名" 来引用它.
def Func():
print("aaa")
print(type(Func)) #直接取函数名打印类型,不需要调用 <class 'function'>
func = Func #func就是函数Func的别名
func();#调用func函数 aaa
print(type(func)) #<class 'function'>
- 函数既然是一个对象, 那么也可以作为另外的一个函数的参数和返回值.
例如:
str = "Mango"
print(len(str))#len函数的返回值作为print函数的参数
\
函数也可以作为函数的参数
- 函数也是一个对象, 因此可以作为其他函数的参数
以sorted函数为例, 给一个序列进行排序. 这个函数可以支持自定制比较规则.
函数也可以作为函数的返回值
- 一个函数可以在另外一个函数内部定义. 也可以作为一个返回值返回出去.
- 这里还有一个概念叫做 "闭包"
可调用对象
类似于函数这样的对象, 可以进行调用执行一段代码. 这种对象我们称为可调用对象
关于可调用对象, 只需要实现 call 对应的函数即可
类似于重载operator()