1.一般而言,要判断某个对象是否可用,可使用内置函数callable。
2.定义函数使用def语句。
3.python语句没有分号来区分,行列对齐bu不同的位置,所代表的含义也是不相同的。所以要注意行列对齐的位置。
4.以前学习C和Java所不注意的素养,就是要习惯给函数写注释。python中除了#添加注释之外,还有一种编写注释的方式,就是添加独立的字符串。放在函数开头的字符串称为文档字符串docstring,ji将作为函数的一部分储存起来。
有两种方式可以访问ha函数的信息:
def fibs(num):
'this function is used to produce fibs numbers'
result=[0,1]
for i in range(num-2):
result.append(result[-2]+result[-1])
return result
#函数部分
#使用fibs.__doc__
>>> fibs.__doc__
'this function is used to produce fibs numbers.'
#使用内置函数help
>>> help(fibs)
Help on function fibs in module __main__:
fibs(num)
this function is used to produce fibs numbers.
5. 所有的函数都有返回值,如果没有指定返回值,那么将返回None。
6.抽象的关键在于隐藏所有的更新细节,为此ke'y可以使用函数。
7.在调用函数时,可以直接指定参数的值。这样使用名称指定的参数为关键字参数,主要优点是有助于澄清各个参数的作用。
8.关键字参数最大的有点在于可以指定默认值,并且可以部分替换参数值。
def hello(greeting='Hello',name='World'):
print('{},{}!'.format(greeting,name))
>>> hello()
Hello,World!
>>> hello(greeting='shouting')
shouting,World!
>>> hello(name='you')
Hello,you!
9.赋值时带星号的bian变量收集多余的值。要收集关键字参数,可使用两个星号。
10.分配参数同样可以使用星号。给参数传递元组或字典。
11.除全局作用域外,每个函数调用都将创建一个命名空间或作用域。
12.存储自己函数所在作用域的函数称为闭包。
13.递归函数:基线条件:满足某种条件时函数将返回一个值。递归条件:包含一个或多个调用,这些调用旨在解决问题的一部分。
14.函数式编程:python提供了一些函数式编程工具,其中包括lambda表达式以及函数map、filter和reduce。