Python 高级教程之函数,2024年教你增加拿到BAT等大厂offer几率

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]

当我们传递一个引用并将接收到的引用更改为其他东西时,传递和接收参数之间的连接就会中断。例如,考虑下面的程序。

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

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

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

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

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
img

LXplbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5aqb56eD56eD,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

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

深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-0qhht8tD-1710975402591)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值