Python语言学习:函数学习和总结
2022年第02周。
这一周Python语言学习,记录如下。
01
函数学习和总结
1 函数是什么?
函数是一组有组织的、可复用的代码,用于执行单个相关操作。
2 为什么学习函数?
函数为您的应用程序提供了更好的模块化和高度的代码复用。
3 函数构建
Python语言创建函数的简单规则。
1 函数块以关键词
def
开头,后面跟着函数名和小括号。2 各种类型的输入参数写在小括号内。
3 函数代码块以冒号结尾并缩进。
4 撰写函数文档字符串
5 设计和实现函数体,用来告诉函数要做什么事情
6 使用
return
返回函数值(可选)
函数构建模板类似如下
def functionname( parameters ):
"function_docstring"
function_suite
return [expression]
举例说明如下:
def calculate_sum(val1, val2):
"""
This is a longer docstring defining also the args and the return value.
Args:
val1: the first parameter
val2: the second parameter
Returns:
result: The sum of val1 and val2
"""
result = val1 + val2
return result
4 函数调用
根据函数名和参数类型,进行正确调用就可以了。后面的函数参数类型会学习各种丰富的函数调用。
print(help(calculate_sum))
print(calculate_sum(100, 100))
4 函数参数类型
Python创建的函数,参数类型非常地丰富。熟练掌握它们,可以设计和实现强大而灵活的应用程序。
函数的参数类型包括位置参数、默认参数、可变参数、关键字参数、命名关键字参数。这些参数类型组合在一块的时候,顺序依次为位置参数,默认参数,可变参数,命名关键字参数,关键字参数。
关于这些参数类型,我们可以这样通俗地理解。
若是参数类型没有可变性,我们可以采用位置参数,若是位置参数里面某一个参数或者几个参数的值是稳定的,我们就可以把它设为默认参数,注意默认参数需要排在位置参数后面。如果是可变参数,我们可以采用可变参数或者关键字参数,如果对于关键字,我们需要进一步限定,这个时候,我们就可以使用命名关键字参数。
再次重申一遍,若是这些参数类型混搭时,请按着位置参数、默认参数、可变参数、命名关键词参数和关键词参数来排序和设计。
4.1 位置参数
举例如下:
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print(power(2, 5)
4.2 默认参数
举例如下:
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print(power(5))
print(power(5, 4))
4.3 可变参数
举例如下:
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
print(calc(1, 2))
print(calc(1, 2, 3))
print(calc(*[1, 2, 3]))
print(calc(*(1, 2, 3))
4.4 关键字参数
举例如下:
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
print(person('John', 30, city='zhongshan'))
print(person('John', 20, city='zhongshan', job='teacher'))
name = 'luqin'
age = 30
info = {'city':'zhongshan', 'job':'DS', 'sex':'M'}
person(name, age, **info)
args = ('luqin', 30)
kw = {'city':'zhongshan', 'job':'DS', 'sex':'M'}
person(*args, **kw)
4.5 命名关键字参数
举例如下:
def person1(name, age, *, city, job):
print(name, age, city, job)
person1('Jack', 24, city='Beijing', job='teacher')
4.5 各种参数类型组合使用
举例如下:
# 各种参数类型组合
def func(a, b, c=0, *args, d, **kw):
print('a =', a, 'b =', b, 'c =', c, 'args', args, 'd =', d, 'kw =', kw)
args = (1, 2, 3, 4, 5)
kw = {'d':100, 'city':'zhongshan', 'job':'teacher'}
func(*args, **kw)
对于任意函数,都可以通过类似func(*args, **kw)
的形式调用它,无论它的参数是如何定义的。
实际工作中,建议避免这种操作,不利于函数的使用。
5 小结
1 函数可以让你模块化编程,让代码具有高度复用性,不在避免重复造轮子。
2 函数的参数类型非常灵活。
3 任意函数,都可以类似
func(*args, **kw)
的形式调用它。
我创建了Python语言群,你可以扫描下方二维码,添加我的微信,备注:姓名-Python群,我邀请你加入群,一起学习和进步。
如果你觉得内容有用,请关注下方公众号~
如果你想找数据工作,请关注下方公众号~
Python语言学习专辑:
如果觉得本文不错,就顺手帮我转发到朋友圈和微信群哦。