Python基础学习简记--函数与Lambda表达式(Day6)

Python基础学习简记–函数与Lambda表达式(Day6)

1、函数形式

函数的定义使用 def 关键字开头,后面接 函数名,再接圆括号,括号内可以写参数信息,最后接冒号。函数内容写在下一行,并且缩进。

def my_f():
	pass

2、参数

python函数有以下四种参数形式

  1. 必须参数
    必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
  2. 关键字参数
    关键字参数允许函数调用时参数的顺序与声明时不一致,因为可以用关键字来匹配参数值。
  3. 默认参数
    默认参数可以允许函数调用时不传递该值,这时会使用默认参数。
  4. 不定长参数
    不定长参数有两种形式,一种是使用 单星号接收,另一种是使用双星号,加了单星号 * 的参数以元组的形式导入,加了两个星号 ** 的参数则需以字典的形式导入

以下是print()函数的参数定义,可以看到,*args 是不定长参数,sep,end,fiile 三个参数是默认参数。

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
    """
    pass

3、Lambda函数(匿名函数)

可以用 lambda 关键字来创建一个小的匿名函数。Lambda函数可以在需要函数对象的任何地方使用。它们在语法上限于单个表达式。从语义上来说,它们只是正常函数定义的语法糖。

sum = lambda a, b: a + b
print(sum(2, 3))
#5
l = [(1, 'd'), (2, 'c'), (3, 'b'), (4, 'a')]
l.sort(key=lambda x: x[1])
print(l)
#[(4, 'a'), (3, 'b'), (2, 'c'), (1, 'd')]

4、return语句

return 语句会从函数内部返回一个值。 不带表达式参数的 return 会返回 None。 函数执行完毕退出也会返回 None。

def sum(a, b):
	return a + b

5、参考文献

https://www.runoob.com/python3/python3-function.html
https://docs.python.org/zh-cn/3/tutorial/controlflow.html#more-on-defining-functions

你可能感兴趣的:(python)