这一周Python语言学习,记录如下。
函数是一组有组织的、可复用的代码,用于执行单个相关操作。
函数为您的应用程序提供了更好的模块化和高度的代码复用。
Python语言创建函数的简单规则。
def
开头,后面跟着函数名和小括号。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
根据函数名和参数类型,进行正确调用就可以了。后面的函数参数类型会学习各种丰富的函数调用。
print(help(calculate_sum))
print(calculate_sum(100, 100))
Python创建的函数,参数类型非常地丰富。熟练掌握它们,可以设计和实现强大而灵活的应用程序。
函数的参数类型包括位置参数、默认参数、可变参数、关键字参数、命名关键字参数。这些参数类型组合在一块的时候,顺序依次为位置参数,默认参数,可变参数,命名关键字参数,关键字参数。
关于这些参数类型,我们可以这样通俗地理解。
若是参数类型没有可变性,我们可以采用位置参数,若是位置参数里面某一个参数或者几个参数的值是稳定的,我们就可以把它设为默认参数,注意默认参数需要排在位置参数后面。如果是可变参数,我们可以采用可变参数或者关键字参数,如果对于关键字,我们需要进一步限定,这个时候,我们就可以使用命名关键字参数。
再次重申一遍,若是这些参数类型混搭时,请按着位置参数、默认参数、可变参数、命名关键词参数和关键词参数来排序和设计。
举例如下:
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print(power(2, 5)
举例如下:
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))
举例如下:
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))
举例如下:
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)
举例如下:
def person1(name, age, *, city, job):
print(name, age, city, job)
person1('Jack', 24, city='Beijing', job='teacher')
举例如下:
# 各种参数类型组合
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)
的形式调用它,无论它的参数是如何定义的。
实际工作中,建议避免这种操作,不利于函数的使用。
func(*args, **kw)
的形式调用它。扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有