走出Python新手村第三步:函数【玩转Python】

举报
叶一一 发表于 2023/12/27 09:58:09 2023/12/27
【摘要】 前言Python中函数,主要作用是完成某个具体的工作,编写形式是一段带名字的代码块。每次执行该工作,只需要调用该函数,无需重复编写代码。此外,函数还可以放在独立的文件中,集中进行维护,让代码体系更有序。接下来,让我们一起开启新的Python主线任务吧。函数基础操作定义函数定义函数,首先需要定义函数名,然后在后面的圆括号内指出函数为完成任务的信息。下面定义一个名为get_name的函数,需要完...

前言

Python中函数,主要作用是完成某个具体的工作,编写形式是一段带名字的代码块。

每次执行该工作,只需要调用该函数,无需重复编写代码。

此外,函数还可以放在独立的文件中,集中进行维护,让代码体系更有序。

接下来,让我们一起开启新的Python主线任务吧。


函数基础操作

定义函数

定义函数,首先需要定义函数名,然后在后面的圆括号内指出函数为完成任务的信息。

下面定义一个名为get_name的函数,需要完成的任务是打印想要的名字。

def get_name():
     print("yeyiyi")

get_name()

函数定义好之后,便可以调用了。

>>> test python3 ./test.py
>>> yeyiyi

向函数传递信息

定义函数时,可以在函数名的圆括号中添加参数,传递到函数的任务代码中。这时候,函数可以接收传入的任意值。

def get_name(name):
     print(name)

get_name("yeyiyi")

调用函数时,传入值即可。

>>> test python3 ./test.py
>>> yeyiyi

函数的实参和形参

以上面的代码为例,调用函数时,传递了一个值"yeyiyi",它是一个实参,所以实参可以理解为“调用函数时传递给函数的信息”。

函数圆括号中添加参数“name”,它是一个形参,所以形参可以理解为“函数完成任务所需的信息”。

函数的位置实参

Python中,将基于实参的位置把函数调用中的每个实参都关联到函数定义中的一个形参的方式,称为位置实参。

def get_name(name,position):
     print(f"{name}在{position}")

get_name("叶一一",'北京')

上面的代码中,实参“叶一一”对应形参“name”,实参“北京”对应形参“position”。

调用函数得到结果。

>>> test python3 ./test.py
>>> 叶一一在北京

注:位置实参一定要注意参数的顺序,是一一对应的。如果调整了形参的顺序,调用函数时,实参的顺序也要进行对应改变。

函数默认值

Python中,形参是可以指定默认值的。

def get_name(name,year,position='北京'):
     print(f"{year}年,{name}在{position}")

get_name("叶一一",'2023')

如上的代码中,将形参“position”设置了默认值“北京”。

调用时,可以不提供“position”的值。

>>> test python3 ./test.py
>>> 2023年,叶一一在北京

当然,也可以传值。

get_name("叶一一",'2023','天津')

打印

>>> test python3 ./test.py
>>> 2023年,叶一一在北京
>>> 2023年,叶一一在天津

函数中操作列表

在函数中传递列表

实际开发场景中,经常会需要在函数中传递列表,以便在函数中访问列表中内容,进而实现业务场景的需求。

def get_name(names):
 for name in names:
     msg = f"兴欣战队队员: {name.title()}"
     print(msg)

names = ['叶修', '苏沐橙', '唐柔','乔一帆','包荣兴']
get_name(names)

如上代码中,函数get_name支持接收一个列表,这个函数实现的功能是遍历接收到的列表,并将列表中的元素循环打印出来。

>>> test python3 ./test.py
>>> 兴欣战队队员:叶修
>>> 兴欣战队队员:苏沐橙
>>> 兴欣战队队员:唐柔
>>> 兴欣战队队员:乔一帆
>>> 兴欣战队队员:包荣兴

在函数中修改列表

函数可以修改传入的列表数据,且对这个列表做的修改是永久的。

def get_sort(nums):
 sort_nums = []
 for num in nums:
     if num not in sort_nums:
          sort_nums.append(num)

 print(sort_nums)

nums = [1,2,3,4,5,3,3,4,5,7,8,9,10,111,22,34,23,22]
get_sort(nums)

上面的代码,传入nums列表之后,通过修改,可以得到一个去重之后的列表sort_nums。

>>> test python3 ./test.py
>>> [1,2, 3, 4, 5, 7, 7, 8, 9, 111, 22, 23]

函数存储在模块中

函数存储在模块中,可以让代码体系更有序,更容易理解和维护。

创建模块

在目录中创建num_sort.py文件,定义一个函数,函数的作用是对列表去重。

def get_sort(nums):
 sort_nums = []
 for num in nums:
     if num not in sort_nums:
          sort_nums.append(num)

 print(sort_nums)

导入模块

使用import关键字可以导入模块

import num_sort

nums = [2,2,2,3,3,3,4,4,4,5,5,5,6,6,6]
num_sort.get_sort(nums)

可以得到去重后的列表

>>> test python3 ./test.py
>>> [2,3,4,5,6]

总结

总结一下本篇文章的主要收获:

  • 了解函数基础操作,如何定义函数、如何向函数传递信息、如何设置默认值等;
  • 了解如何在函数中操作列表;
  • 了解如何将函数作为模块存储在独立文件中,集中维护。

掌握Python函数的相关知识点,可以让代码更容易理解,更快速的了解程序的功能,同时可以侧面帮助更好的进行测试和调试。


作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏️ | 留言📝

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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