Python 高级教程之函数,程序员必学

示例:Python 创建函数

A simple Python function

def fun():

print(“Welcome to haiyong.site”)

调用函数


创建函数后,我们可以通过使用函数名称后跟包含该特定函数参数的括号来调用它。

示例:Python 调用函数

A simple Python function

def fun():

print(“Welcome to haiyong.site”)

Driver code to call a function

fun()

输出

Welcome to haiyong.site

函数的参数


参数是在函数括号内传递的值。一个函数可以有任意数量的参数,用逗号分隔。

示例:带参数的 Python 函数

在这个例子中,我们将创建一个简单的函数来检查作为参数传递给函数的数字是偶数还是奇数。

一个简单的 Python 函数来检查 x 是偶数还是奇数

def evenOdd(x):

if (x % 2 == 0):

print(“even”)

else:

print(“odd”)

调用函数的驱动代码

evenOdd(2)

evenOdd(3)

输出

even

odd

参数类型


Python 支持可以在函数调用时传递的各种类型的参数。让我们详细讨论每种类型。

默认参数

默认参数是一个参数,如果在该参数的函数调用中未提供值,则该参数采用默认值。以下示例说明了默认参数。

演示默认参数的 Python 程序

def myFun(x, y=50):

print("x: ", x)

print("y: ", y)

驱动程序代码(我们只用参数调用 myFun())

myFun(10)

输出

(‘x:’, 10)

(‘y:’, 50)

与 C++ 默认参数一样,函数中的任意数量的参数都可以具有默认值。但是一旦我们有了一个默认参数,它右边的所有参数也必须有默认值。

关键字参数

这个想法是允许调用者使用值指定参数名称,以便调用者不需要记住参数的顺序。

演示关键字参数的 Python 程序

def student(firstname, lastname):

print(firstname, lastname)

关键字参数

student(firstname=‘haiyong’, lastname=‘blog’)

student(lastname=‘blog’, firstname=‘haiyong’)

输出

(‘haiyong’, ‘blog’)

(‘haiyong’, ‘blog’)

可变长度参数

在 Python 中,我们可以使用特殊符号将可变数量的参数传递给函数。有两个特殊符号:

  • *args(非关键字参数)

  • **kwargs(关键字参数)

示例 1:可变长度非关键字参数

用于说明可变数量参数的 *args 的 Python 程序

def myFun(*argv):

for arg in argv:

print(arg)

myFun(‘Hello’, ‘Welcome’, ‘to’, ‘haiyong.site’)

输出

Hello

Welcome

to

haiyong.site

示例 2:可变长度关键字参数

用于说明可变数量关键字参数的 *kwargs 的 Python 程序

def myFun(**kwargs):

for key, value in kwargs.items():

print(“%s == %s” % (key, value))

驱动程序代码

myFun(first=‘haiyong’, mid=‘.’, last=‘site’)

输出

first == haiyong

mid == .

last == site

文档字符串


函数后面的第一个字符串简称为 Document 字符串或Docstring。这用于描述函数的功能。在函数中使用 docstring 是可选的,但它被认为是一种很好的做法。

以下语法可用于打印出函数的文档字符串:

语法: print(function_name.doc)

示例:将 Docstring 添加到函数中

一个简单的 Python 函数来检查 x 是偶数还是奇数

def evenOdd(x):

“”“检查数字是偶数还是奇数的功能”“”

if (x % 2 == 0):

print(“even”)

else:

print(“odd”)

Driver code to call the function

print(evenOdd.doc)

输出

检查数字是偶数还是奇数的功能

return 语句


函数 return 语句用于退出函数并返回到函数调用者,将指定的值或数据项返回给调用者。

语法: return [表达式列表]

return 语句可以包含一个变量、一个表达式或一个在函数执行结束时返回的常量。如果 return 语句不存在上述任何一项,则返回 None 对象。

示例:Python 函数 return 语句

def square_value(num):

“”“此函数返回输入数字的平方值”“”

return num**2

print(square_value(2))

print(square_value(-4))

输出:

4

16

Python 函数是按引用传递还是按值传递?


需要注意的重要一点是,在 Python 中,每个变量名都是一个引用。当我们将变量传递给函数时,会创建对该对象的新引用。Python中的参数传递与Java中的引用传递相同。

例子:

这里 x 是对相同列表 lst 的新引用

def myFun(x):

x[0] = 20

驱动程序代码(注意 lst 在函数调用后被修改)

lst = [10, 11, 12, 13, 14, 15]

myFun(lst)

print(lst)

输出

[20、11、12、13、14、15]

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

里插入图片描述](https://img-blog.csdnimg.cn/97c454a3e5b4439b8600b50011cc8fe4.png)

在这里插入图片描述

简历模板在这里插入图片描述

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值