zoukankan      html  css  js  c++  java
  • python 之函数

    一 函数的定义:
    对功能和动作的封装和定义.
    二 函数的格式:
    def 函数名(形参列表): 函数名就是变量名:规则就是变量的规则
    函数体(return)
    ret = 函数名(实参列表)
    三 函数的返回值:
    函数结束执行后给调用方的结果
    return,只要执行到return 函数的本次调用就会被停止
    1.如果函数不写return, 没有返回值。 接收到的是None
    2.写了return。 return后面什么都不写或者return后面的是None. 返回None
    3.return 一个值。 返回一个结果
    4.return 值,值,值 返回多个值。结果是元组
    列子: 下面里面可以有return,也可没有,有的话只能写一个return,
    def learn ():
    print("学习物理")
    print("学习化学")
    # return "成绩50" #打印score 此时不会有 学习生物和学习语文
    print("学习生物")
    print("学习语文")
    # return "成绩90分","成绩91","成绩95" #此时返回的score为一个元祖("成绩90分","成绩91","成绩95")
    return #,可以不跟值,此时返回为None
    score = learn()
    # learn()
    print(score)
    四函数的参数:
    参数: 函数在调用的时候给函数传递的信息 形参: 在函数声明的位置的变量
    实参: 在函数调用的时候给出的具体的值 传参: 在函数调用的过程中把实参赋值给形参的过程.
    实参:
    1. 位置参数. 按照位置给形参传递信息
    2. 关键字参数. 按照形参的名字给参数传递信息
    3. 混合参数. 先位置后关键字
    形参:
    1. 位置参数
    2. 默认值参数, 必须写在位置参数后面
    3. 动态参数
    例如:
    def yue(tools): # 在函数声明的位置。 给出来的参数叫形参。 形式上的一个参数. 用一个变量来表示
    print("拿出手机")
    print("打开%s" % tools)
    print("找一找心怡的对方.")
    print("出来吃吃饭")
    print("唱唱歌")
    print("跳跳广场舞")
    # 在函数调用的时候。把实参的值赋值给形参的过程叫传参
    yue("微信") # 在函数调用的地方给出的具体的值。 参数叫实参. 实际参数
    yue("陌陌")
    yue("探探")
    1实参的列子:
    1.位置参数: #按照位置给形参赋值
    def food(good_food,nogood_food,drink):
    print("我要吃",good_food,nogood_food,drink)
    food("木须肉盖饭","粥","可口可乐") #我要吃 木须肉盖饭 粥 可口可乐
    2.关键字参数: 按照形参的名字给参数赋值
    def food(good_food,nogood_food,drink):
    print("我要吃",good_food,nogood_food,drink)
    food(good_food="木须肉盖饭",drink="可口可乐",nogood_food="粥")#我要吃 木须肉盖饭 粥 可口可乐
    3.混合参数:#位置参数必须放在前面,关键字参数放在后面
    def food(good_food,nogood_food,drink):
    print("我要吃",good_food,nogood_food,drink)
    food(drink="木须肉盖饭","可口可乐","粥") #错误,drink 必须放在后面
    2形参的列子:
    1.位置参数: 按照位置声明参数,和实参一样
    def information(name,age,sex):
    print(name,age,sex)
    information("王以太","29","女")
    information("张甲乙","1","女")
    information("张旭","29","男")
    information("妈妈","43","女")
    2.默认值参数: 给参数传递值的时候, 不给值, 默认值起作用. 保证你至少有个值能用.给值得话,默认值不起作用.顺序: 位置参数必须放在前面。 默认值参数必须放在后面.
    def information(name,age,sex="女"):
    print(name,age,sex)
    information("王以太","29",)
    information("张甲乙","1",)
    information("张旭","29","男")
    information("妈妈","43",) 此时的结果和1位置参数的结果一致,使用于大多情况一致的输入,特殊的单独处理即可.
    3.动态参数: 动态参数,用于参数不确定时用.
    格式: def fun (*args)
    fun(args)
    列子1.假如参数不确定时,如下的列子,每人饭量不一样,吃的种类不一样,此时用到动态传参.
    def fun(*food): #*表示的是不定参数,可以传递任意个信息,参数名称还是food,且接收到的信息为元祖()
    print("我要吃",food)
    fun("米饭") #*表示位置参数的动态传参 结果为我要吃 ('米饭',)
    fun("一锅米饭","一箱辣条","一桶方便面","可口可乐")#我要吃 ('一锅米饭', '一箱辣条', '一桶方便面', '可口可乐')
    fun ("一碗米饭","辣条","雪碧") #结果为我要吃 ('一碗米饭', '辣条', '雪碧')
    列子2.动态参数必须在位置参数后.
    def fun (*food,a,b):
    print("我要吃",food,a,b)
    fun("苹果","梨子","香蕉") #此时程序会报错,全被food接收了,a和b永远接收不到参数.
    def fun (a,b,*food):
    print("我要吃",a,b,food)
    fun("苹果","梨子","香蕉","橘子") #我要吃 苹果 梨子 ('香蕉', '橘子')

  • 相关阅读:
    泛型
    HTTP和HTTPS
    计算机网络(三)应用层
    练习38-操作列表
    第27讲:集合—在我的世界里,你就是唯一
    第25~26讲:字典:当索引不好用时
    第1~2讲:数据结构和算法绪论
    第23~24讲:这帮小兔崽子(斐波那契数列)和汉诺塔游戏
    练习36--设计和调试
    001-定义电子日历类
  • 原文地址:https://www.cnblogs.com/xiaozhangpython/p/9641035.html
Copyright © 2011-2022 走看看