python中的函数

python中的函数,第1张

python中的函数

①定义:函数是组织好的、可以重复使用的、用来实现单一功能的代码。

②定义函数的语法:

def 函数名(参数1,参数2,…,参数n):

        函数体

        return语句

示例:

#函数名:最好是取体现函数功能的名字,一般用小写字母和单下划线、数字等组合
def greet(name):
#参数:根据函数功能,括号里可以有多个参数,也可以不带参数,命名规则与函数名相同
#规范:括号是英文括号,后面的冒号不能丢
    print(name+'早上好')
#函数体:函数体就是体现函数功能的语句,要缩进,一般是四个空格
    return

③调用函数:

greet('皮卡丘')

参数类型:

主要的参数类型有:位置参数、默认参数、不定长参数。

a)参数按位置顺序传递的,被叫作【位置参数】。

b)默认参数必须放在位置参数之后。

c)不定长参数

它的格式比较特殊,是一个星号*加上参数名,来看下面的例子:

def menu(*barbeque):
    print(barbeque)
menu('烤鸡翅','烤茄子','烤玉米')
#这几个值都会传递给参数barbeque 
def menu(appetizer, course, *barbeque, dessert='绿豆沙'):
    print('一份开胃菜:' + appetizer)
    print('一份主菜:' + course)
    print('一份甜品:' + dessert)
    for i in barbeque:
        print('一份烤串:' + i)

menu('话梅花生', '牛肉拉面', '烤鸡翅', '烤茄子', '烤玉米')

 ⑤return语句

如果不是立即要对函数返回值做 *** 作,那么可以使用return语句保留返回值。

我们的函数功能都是第一时间把参数打印出来。而在很多时候,当多个函数之间相互配合时,我们并不需要第一时间就将结果打印出来,而是需要将某个返回值先放着,等到需要的时候再做进一步的处理。

不需要return的情况:

def face(name):
    print(name + '的脸蛋')

def body(name):
    print(name + '的身材')

face('李若彤')
body('林志玲')
#分别调用face()和body()函数

需要return的情况:

def face(name):
    # return name + '的脸蛋'
#该函数返回字符串'XXX的脸蛋'

def body(name):
    # return name + '的身材'
#该函数返回字符串'XXX的身材'

print('我的梦中情人:'+face('李若彤') +' + ' + body('林志玲'))
#将返回值拼接并打印出来

 当我们需要多次调用函数时,可以再写一个主函数main(),调用非主函数的返回值。

def face(name):
    return name + '的脸蛋'
def body(name):
    return name + '的身材'
def main(dream_face,dream_body):
    return '我的梦中情人:' + face(dream_face) + ' + ' + body(dream_body)

print(main('李若彤','林志玲'))
print(main('新垣结衣','长泽雅美'))

接下来要讲的是return的一个特别的用法,我们看到前面所有的return语句,都是返回1个值,如果要返回多个值,我们该怎么办呢?

def lover(name1,name2):
    face = name1 + '的脸蛋'
    body = name2 + '的身材'
    return face,body

a=lover('李若彤','林志玲')
print('我的梦中情人:'+a[0]+' + '+a[1])

 Python语言中的函数返回值可以是多个,一次接受多个返回值的数据类型就是元组。而其他语言都不行,这是Python相比其他语言的简便和灵活之处。

没有return语句的函数会默认返回None值。

此外,return还有一个“副作用”:一旦函数内部遇到return语句,就会停止执行并返回结果

def fun():
  return 'I am coding.'
  return 'I am not coding.'

print(fun())

总结:

①如果不是立即要对函数返回值做 *** 作,那么可以使用return语句保留返回值;

②需要多次调用函数时,可以再定义一个主函数main(),调用非主函数的返回值;

③python的函数返回值可以是多个,多个返回值的数据类型是元组tuple;

④没有return的函数会默认返回None;

⑤一旦函数内部遇到return语句,就会停止执行并返回结果。

作用变量域:

①在一个函数内定义的变量仅能在函数内部使用(局部作用域),它们被称作【局部变量】。

②在所有函数之外赋值的变量,可以在程序的任何位置使用(全局作用域),它们叫【全局变量】。

局部变量只能在函数内部使用,全部变量是公用的,没有使用限制。

如果你非要将局部变量变成全局变量,就像把私人房间的东西挪到公共区域,可不可以呢?Python也是能够满足你的,只不过要用到一种新的语句global语句:

def egg():
    quantity = 108
egg()
print(quantity)
#会报错,不能在函数外部(全局作用域)使用函数内的局部变量

quantity = 108
def egg():
   print(quantity)
egg()
#函数内的局部作用域,可以访问全局变量

def egg():
    global quantity
    quantity = 108
print(quantity)
#global语句可以将局部变量声明为全局变量

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5700812.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存