python基础语法3-基本语法规则-函数

1.函数的概念:

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。

我们平时直接使用python中的比方说len(),print()等是内置方法,但有些时候内置方法并不能满足我们的需求,则需要我们自己用程序编写出功能之后封装在一个函数中,即为自定义函数。

函数的特性:代码可重用性,保持一致性,可拓展性

2.创建、调用函数:

语法规则:

def 函数名(传入的参数列表):

    函数执行体

函数名()

解释:

创建函数用 def 关键词开头,后接函数名称和圆括号 ()。

所有进入函数的参数都必须放在圆括号中间,圆括号之间可以用于定义参数。

函数的第1行语句可以选择性地使用带三单引号或三双引号的文档字符串来说明函数的功能。

函数具体功能是以冒号开始往后并且带有缩进的部分。

return [表达式] 结束函数,选择性地返回一个值给调用这个函数的地方。不带表达式的return相当于返回 None。

默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。

通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。

 def login(name,pwd):
    “““ 打印用户名和密码 ”””
     print('用户名为'+name+'的密码为'+pwd)

 name='jack'
 pwd='123456'
 a=login(name,pwd)#结果为:用户名为jack的密码为123456

3.函数的返回值:

当一个函数没有用return时,python解析器会隐式的返回None。

返回的元素为0个:返回None

返回的元素为1个:返回这个元素

返回的元素大于1个:返回一个元组,元组中保存着这些元素

 def login(name,pwd):
     return '用户名为'+name+'的密码为'+pwd

 name='jack'
 pwd='123456'
 a=login(name,pwd)
 print(a)
#结果:用户名为jack的密码为123456
 def login(name,pwd):
     print('用户名为'+name+'的密码为'+pwd)
     return#当函数中return后面没有值或者函数中没有return的时候这个函数返回的结果为None
 name='jack'
 pwd='123456'
 a=login(name,pwd)#结果为:用户名为jack的密码为123456
 print(a)#结果:None

4.函数的参数:

形参:形参变量只有在被调用时才被分配内存单元,在调用结束时,立即释放所分配的内存单元。因此,形参只在函数内部有效,函数调用结束返回主调函数后不能继续使用该形参。简单点说就是创建函数时函数名后面的括号内的变量即为形参。

实参:实参可以是常量,变量,表达式,函数等,在进行函数调用时,它们必须要有却定的值(要有定义),以便把值传给形参。简而言之就是在调用函数的时候传入的变量。

 def fun(a,b,c,d):#此处的a,b,c,d为形式参数
     print(a,b,c,d)
 a=10
 b=12
 c=13
 d=23
 fun(a,b,c,d)#此处的a,b,c,d是将含有实际值为10,12,13,23的参数传入形式参数的地方,所以调用函数地方的a,b,c,d为实际参数
#结果为:10 12 13 23

在调用函数的时候会使用下列的正式参数类型:

必须参数:以正确的顺序传入函数。调用时的数量必须和声明时的一样。

关键字参数:

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。

使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

默认参数:调用函数时,如果没有传递参数,则会使用默认参数。

不定长参数:

你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。

#必须参数
def fun1(str):
    '''打印传入的变量str的内容'''
    print(str)
fun1('python')#如果此处直接使用fun1()会报错,因为没有传入参数
#关键字参数
def fun1(a,b,c):
    print(a,b,c)
fun1(a=12,c=13,b=14)
#结果为:12 14 13
#默认参数
#此处设置c=30是如果调用的时候没有传值就默认c的值是30,如果有传值就使用传进来的值
def fun2(a,b,c=30):
    print(a,b,c)
fun2(10,23)#此处调用的时候可以不传入c的值
#结果为:10 23 30
#不定长参数
def fun3(*args,**kwargs):
    print(args)
    print(kwargs)
fun3(*[1,2,3],**{'1':'a','2':'b','3':'c'})
#结果为:
(1, 2, 3)
{'1': 'a', '2': 'b', '3': 'c'}

*args:必须放在以上参数后面,里面装的是传进来多的参数,然后组成元组

参数不加*,默认将参数当成整体传入

参数前加*,将参数遍历出来传入

**kwargs:必须放在以上参数后面,参数前面加入**,表示传入字典,将传入的元素组成字典

5.匿名函数:python中使用 lambda 来创建匿名函数

匿名:也就是不在使用def关键字来定义一个函数。在这里使用的是lambda

语法规则:

lambda [arg1[,arg2,...argn]]:expression

sum=lambda x,y:x+y
print(sum(10,20))#结果为30
#等同于:
def fun(x,y):
    return x+y
print(fun(10,20))

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春风抚微霞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值