第三章 python基础函数

一、函数作用

函数:函数就是将一段具有独立功能的代码块整合到一个整体并命名,在需要的位置调用这个函数的名字即可实现对应的功能。

二、函数定义、调用

定义:def 函数(参数【option】): 
                 代码1 
                 代码2 
                 ......

调用:函数名(参数[option])

三、函数参数

参数:在定义函数的时候,函数需要调用者给他的数据就叫参数
①位置参数:调用函数的时候根据函数定义的参数位置来传递参数

def user_info(name,age,gender): 
    print(f'您的名字是{name},年龄是{age},性别是{gender}')
user_info('bull',20,'男')

②关键字参数:函数调用,通过’键=值‘形式加以指定。可以让函数更加清晰,容易使用,同时也清楚了参数的顺序需求。
注意: 函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不
存在先后顺序。

def user_info(name,age,gender): 
    print(f'您的名字是{name},年龄是{age},性别是{gender}') 
#调用函数 
user_info('bull',age=20,gender='男') 
#位置参数要放在关键字参数的后面,关键字参数不要求顺序,无所谓 
user_info('bull',gender='男',age=20)

③缺省参数:缺省参数也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值(注意:所有位置参数必须出现在默认参数前,包括函数定义和调用)

def user_info(name,age,gender='男'): 
      print(f'您的名字是{name},年龄是{age},性别是{gender}') 
#调用函数,使用默认参数,不传gender 
user_info('bull',18) 
#调用函数,更改默认的参数值 
user_info('tom',age=23,gender='男') 
#调用函数,关键字参数不区分顺序,只要在位置参数后面就可以 
user_info('jack',gender='男',age=25)

④不定长参数:也可叫可变参数。用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。此时,
可用包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会显得非常方便。

def user_info(*args): 
      print(args) 
user_info('TOM') # ('TOM',) 
user_info() # () 
user_info('tom',90) # ('tom', 90)

⑤关键字参数传递:通过关键字传递参数,直接给关键字赋值;传递参数不用考虑参数传递的顺序

def user_info(**kwargs): 
      print(kwargs) # 返回的结果是{'name': 'tom', 'age': 10, 'gender': '男'} 
user_info(name='tom', age=10, gender='男')

四、函数返回值

函数的返回值return关键字:
通俗理解:我们去药店买口罩,付过钱之后,店员给了我们口罩,在函数中,如果需要返回结果给用户,那么就需要使用函数的返回值。

def buy(): 
    return '口罩' 
# 使用变量保存函数的返回值
goods = buy()
print(goods)

①return 后面跟了值/变量,调用这个函数就会得到return后面的值
②return语句用于退出函数,向调用方返回一个表达式。执行到return语句时,会退出函数,return之后的语句不再执行
③ return a,b 写法,返回多个数据的时候,默认是元组类型。
④ return在不带参数的情况下(或者没有写return语句),默认返回None

五、函数变量

①局部变量:所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效
局部变量的作用:在函数体内部,临时保存数据,当函数被调用完成后,则销毁局部变量

def add(x,y):
    x = 2
    y = 3
    return x+y
print(add(1,2))

②全局变量:指的是在函数体内,外都能生效的变量

a = 1
b = 2
def add(a,b):
   return a+b
print(add(a,b))

局部变量声明成为全局变量 global

name = '李四'
def add():
    global name
    name = '张三'
    # name = '王五'
    return name
name1 = add()
print(name)
print(name1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值