Python 初识函数1

Posted on 2019-06-24 22:46  S-skill  阅读(166)  评论(0)    收藏  举报
函数:
  参数: 在函数执行的时候给函数传递的信息
 形参: 在函数声明的位置, 声明出来的变量
  实参: 在函数调用的时候, 实际你给函数传递的值
 函数的参数个数是没有要求的, 但是,在运行的时候, 形参和实参要匹配, 按照位置把实参赋值给形参

  函数:对功能的封装
def 函数名(形参):
函数体
函数名(实参)
函数名:命名规则和变量不一样

  函数的返回值:
return, 函数执行完毕, 不会执行后面逻辑
1. 如果函数中不写return返回None
2. 只写return 返回None
3. return 返回值, 返回一个值
4. return 值1,值2,..。返回多个值,多个值需要用逗号(,)隔开,调用方接受到的是元组,
参数:
在函数执行的时候给函数传递的信息
1. 形参:
1. 位置参数
2. 默认值参数, 当调用的时候, 没有传值时, 使用默认值
3. 混合使用, 顺序: 1. 位置参数, 2. 默认值参数
4. 动态参数:
        位置参数的动态参数: *args
        关键字参数的动态参数: **kwargs
        顺序:
          位置,*args,默认值,**kwargs
          def func(*args, **kwargs): 可以接受任何参数
        在形参上*聚合, **聚合
        在实参上*打散, **打散
        2. 实参:
1. 位置参数, 按照位置给形参赋值
2. 关键字参数, 按照名称给形参赋值
3. 混合参数, 先用位置参数, 在用关键字参数


函数:对功能的封装
def function(canshu):
    #  定义一个函数名, 可以在函数名里传参,这里叫形参
    print('你很 NB!')     # 函数体,代码块
    print(canshu)   # 这里是通过执行函数里传的东西,传给形参,在通过形参传到这里,进行打印

function('name')  # 可以进行多次调用
# 执行函数,用函数名 + (),在这个括号里也要传一个参数,叫实参

# 输出:
# 你很 NB!
# name

 

函数的返回值
def return_value():
    print('小朋友')
    # return  #: 在这里不写return或者只写return都会返回None,因为return后面要有一个值,才有效
    # None返回给执行的函数名,返回这里的函数名,在赋值给前面的ret
    # return后面的代码就不执行了
ret = return_value()
print(ret)  # ret = None,打印None,上面的print里面的内容还是要打印出来
# 输出:
# 小朋友
# None

def return_value(gender):

    return gender  # 单个返回值
ret
= return_value('不详') print(ret) # 输出: # 不详 def return_value(happy,happy1): return happy,happy1 # 执行这个了,那么在"函数里"下面的代码就不会执行了
  # 多个返回值
ret = return_value('守护','拥抱') print(ret) # 是以元组的形式打印出二个或者二个以上的返回值 # 输出: # ('守护', '拥抱')

 

1. 位置参数

def function(country,age):   # 形参的 表示位置参数
    print('我在%s,今年%s. ' % (country,age))

function('中国',18)     # 实参的位置参数

# 输出:
# 我在中国,今年18.


2. 默认值参数, 当调用的时候, 没有传值时, 使用默认值
def function(age=18):   # 表示默认值参数
    print('我今年%s岁. ' % (age))

function()

# 输出:
# 我今年18岁.

 

3. 混合使用, 顺序: 1. 位置参数, 2. 默认值参数
def function(music,name = '林俊杰'):  # 位置参数,默认值参数
    print('周杰伦的%s 比较好听,%s的音乐也比较好听' % (music,name))

function('音乐')

# 输出:
# 周杰伦的音乐 比较好听,林俊杰的音乐也比较好听

 

4. 关键字参数动态参数,位置动态参数
def function(country,*food,age=18,**hobby):   # 位置参数 > 位置动态参数 > 默认值参数 > 关键字参数动态参数
    # **hobby 可以接受关键字参数,以字典的形式打印出来
    # *food 位置动态参数,可以接受多个位置参数(可以无数个),并且以元组的形式打印出来
    # *food 就是接受前面剩余的位置参数
    print('我在%s,今年%s,喜欢%s,还喜欢吃%s ' % (country,age,hobby,food))


function('中国','菠萝','香蕉','苹果',hobby = '打游戏')     # 顺序:位置参数,关键字参数

# 输出:
# 我在中国,今年18,喜欢{'hobby': '打游戏'},还喜欢吃('菠萝', '香蕉', '苹果')

 





 





博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3