您的位置:首页 > 编程语言 > Python开发

Python-函数

2021-01-04 21:55 211 查看

收录于话题

#Python入门

27个


一 函数的定义:

对功能和动作的封装和定义.

二 函数的格式:

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("苹果","梨子","香蕉","橘子")  #我要吃 苹果 梨子 ('香蕉', '橘子')


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: