7 个容易理解带有参数、返回和数据类型的 Python 函数示例

举报
Tiamo_T 发表于 2021/10/04 13:32:15 2021/10/04
【摘要】 函数是分配了名称的块中的代码片段。它接受输入,执行计算或操作并返回输出。函数增强了代码的可重用性。在本教程中,我们将讨论以下示例:基本 Python 函数示例Python 内置函数Python 用户定义函数Python 函数参数Python 函数未知数量的参数Python 函数返回值参数和返回值的数据类型1. 基本 Python 函数示例下面是一个示例 python 函数,它接受两个参数并计...

函数是分配了名称的块中的代码片段。它接受输入,执行计算或操作并返回输出。

函数增强了代码的可重用性。

[Python 函数]

在本教程中,我们将讨论以下示例:

  1. 基本 Python 函数示例
  2. Python 内置函数
  3. Python 用户定义函数
  4. Python 函数参数
  5. Python 函数未知数量的参数
  6. Python 函数返回值
  7. 参数和返回值的数据类型

1. 基本 Python 函数示例

下面是一个示例 python 函数,它接受两个参数并计算总和并返回计算值。

# function definition and declaration
def calculate_sum(a,b):
  sum = a+b
  return sum

# The below statement is called function call
print(calculate_sum(2,3)) # 5

Python 中有两大类函数:内置函数和用户定义函数。

2. Python 内置函数

安装 Python 后,它会附带许多功能。用户不必担心函数的定义。print() 是 Python 中最常用的内置函数之一。

print("Hello world")
print(len("My name is Aanisha Mishra"))

此类函数的更多示例是:len()、str()、int()、abs()、sum() 等。

3. Python 用户定义函数

用户定义的函数使用 def 关键字声明。关键字后面应该跟函数名。

def calculate_si_amount(principal, rate, time):
  interest =  (principal*rate*time)/100
  return principal+interest

在此函数中,通过对本金应用单利计算最终金额。calculate_si_amount 是函数名。主体、速率和时间是参数,函数返回计算数据。

函数不需要接受参数和返回值。它可以两者都做,或者其中之一,或者什么都不做。下面是一个不接受任何参数但返回数据的函数示例。

from random import seed, random
from random import random

def generate_random_number():
  seed(10)
  return random()

4. Python 函数参数

函数可以有默认参数。

def multiply(a, b=10):
  return a*b

multiply(12) # 120
multiply(2, 3) # 6
multiply(b=9) # error: None*9 is not valid

在这个函数中,如果用户没有给出第二个参数b,则假定它是10,但提供第一个参数是必要的。

5. Python 函数参数个数未知

注意:如果函数中有 4 个参数,并且为第二个参数定义了默认值,则还应为第三个和第四个参数分配一个默认值。

如果函数应该期望的参数数量未知,则将 *args 添加到函数定义中作为参数之一。此参数需要一个元组。星号(*)在这里很重要。名称 args 只是一个约定。它可以被赋予任何其他名称。

def calculate_sum(a, *args):
  sum = a
  for i in args:
    sum += i
  return sum

calculate_sum(10) # 10
calculate_sum(10, 11, 12) # 33
calculate_sum(1, 2, 94, 6, 2, 8, 9, 20, 43, 2) # 187

类似地,**kwargs 需要一个字典作为参数。

def print_names(f1, l1, **kwargs):
  print(f1, l1, end=' ')
  for key in kwargs:
    print(key, kwargs[key], end=' ')

print_names("anish", "gupta")
print_names("anish", "gupta", mohan="singh", mohit="jain")
# anish gupta anish gupta mohan singh mohit jain

上面的代码片段引用了 for 循环。

6. Python 函数返回值

Python 允许函数返回多个值。

def prime_numbers(x):
  l=[]
  for i in range(x+1):
    if checkPrime(i):
      l.append(i)
  return len(l), l

no_of_primes, primes_list = prime_numbers(100)

这里正在返回两个值。调用此函数时,返回值同时存储在两个变量中。

注意:如果函数不返回任何内容,则隐式返回 None。

7. 参数和返回值的数据类型

定义函数参数和返回值的数据类型可以让用户知道函数的期望。

def prime_numbers(x:int) -> (int, list):
  l=[]
  for i in range(x+1):
    if checkPrime(i):
      l.append(i)
  return len(l), l

函数定义表明它需要一个 int 类型的参数,将分别返回 int 和 list 类型的两个值。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。