python之初始函数

 一.函数

1.什么叫函数:

        函数是组织好的,可重复使用的,用来实现单一,或相关联的功能的代码段.

        函数可以提高应用的模块性,和代码的重复利用率.python提供了许多内建函数,比如print(),len()等.我们也可以自己创建函数,这叫用户自定义函数.

 2.函数的定义语法:           

def 函数名():
    函数体

        函数体:就是函数执行之后要执行的代码.

   比如:

def yue():
    print("和女朋友聊天")
    print("一起出去玩")
    print("玩的很开心")
yue()
print("明天要上班,天哪")
#yue()
......
结果:
和女朋友聊天
一起出去玩
玩的很开心
明天要上班,天哪
#和女朋友聊天
#一起出去玩
#玩的很开心
.....
如果还想和女朋友约,就可以多次调用 yue()

    上面我们就写了一个函数并定义了他.

定义:  def  关键字开头  ,  空格之后接函数名称和圆括号(),最后还有一个":".

         def  是固定的,不能变,他就是定义函数的关键字.

         函数名:函数名只能包含 字符串, 下划线 , 和数字并且不能以数字开头.起函数名时要尽量简短,并能表达函数的功能.
     
调用: 就是  函数名()  要记得加上括号哦!!!!!
         

    3.函数的返回值

           return    翻译过来就是  "返回" ,我们叫return后面的值叫  "返回值".

           ①.在函数中遇到return,就此函数结束,不在继续执行.

def chi():
    print("吃饺子")
    print("吃披萨")
    print("满汉全席")
    return
    print("和谁一起吃")           #不会被执行
chi()

结果:
吃饺子
吃披萨
满汉全席

            ②.给函数的调用者一个访问结果

def chi():
    print("吃饺子")
    print("吃披萨")
    print("满汉全席")
    print("和谁一起吃")
    return "和美女一起吃"
ret = chi()
print(ret)          #和美女一起吃


结果:
吃饺子
吃披萨
满汉全席
和谁一起吃
和美女一起吃 

            ③.函数的返回值可以由多个结果.

def chi():
    print("吃饺子")
    print("吃披萨")
    print("满汉全席")
    print("和谁一起吃")
    return "和萝莉","御姐","小姐姐一起吃"
ret = chi()
print(ret)

结果:
吃饺子
吃披萨
满汉全席
和谁一起吃
('和萝莉', '御姐', '小姐姐一起吃')             #注意,返回值是以元组的形式. 

            ④.如果return什么都不写,或者不写return,会返回一个 None

def chi():
   print("吃饺子")
    print("吃披萨")
    print("满汉全席")
    print("和谁一起吃")
ret = chi()
print(ret)

结果:
吃饺子
吃披萨
满汉全席
和谁一起吃
None

                      总结: 

                              ① .遇到  return  ,此函数结束,函数后面的东西将不会执行.

                              ②.如果  return 什么都不写,或者,干脆不写  return  ,那么返回的就是None.

                              ③.如果 return 后面写一个值,则调用者可以接收一个结果.

                              ④.如果 return 后面写了多个结果,则调用者可以接收一个 tuple ,调用者可以直接解构成多个变量.

    4.函数的参数

              ㈠.参数,函数在调用的时候指定具体的一个变量的值,就是参数.

def  函数名(参数列表):
       函数体

           例如:

def yue(people):                 #形参:在函数声明的位置的变量.
  print("和%s聊天" % people)
  print("一起出去玩")
  print("玩的很开心") #实参:在函数调用的地方给的具体的值
yue("女朋友")                    
yue(
"男朋友")
yue(
"路人甲")
结果:
和女朋友聊天
一起出去玩
玩的很开心
和男朋友聊天
一起出去玩
玩的很开心
和路人甲聊天
一起出去玩
玩的很开心

                             我们在调用yue的时候给了people一个值,然后再执行函数体.

      ㈡.参数分为:--形参,实参,传参

        ①.形参: 写在函数声明的位置的变量叫形参,形式上的一个完整,表示这个函数需要xxx.

                ⑴.位置参数

               ⑵.默认值参数,先位置参数后默认值

               ⑶.动态参数.

        例如:

def people(name,phone,gender):       #位置参数
    print(name,phone,gender)

people("小白","123456","")
people("小红","654321","")
people("小黑","123457","")
people("小兰","012345","")



结果:
小白 123456 男
小红 654321 男
小黑 123457 男
小兰 012345 女
def people(name,phone,gender=""):    #默认参数:默认参数必须在参数列表的最后
    print(name,phone,gender)           #因为男性较多,所有gender="男",默认性别是男,到小兰时,会女替换男.
                                       
people("小白","123456")
people("小红","654321")
people("小黑","123457")
people("小兰","012345","")

结果:
小白 123456 男
小红 654321 男
小黑 123457 男
小兰 012345 女

           ②.实参: 在函数调用的时候给函数传递的值,叫实参,实际执行的时候给函数传递的信息,表示给函数xxx.

                ⑴.位置参数,按照形参的位置,给形参传值.

                ⑵.关键字参数,按照形参的名字给形参传值.

                ⑶.混合参数,即用位置参数,也用关键字参数.

         例如:

def chi(drink,ice_cream,zaocan,wancan):
    print(drink,ice_cream,zaocan,wancan)
chi("可乐","哈根达斯","包子","面条")                                 #位置参数
chi(drink="可乐",ice_cream="哈根达斯",zaocan="包子",wancan="面条")   #关键字参数
chi("可乐","哈根达斯",zaocan="包子",wancan="面条")                   #混合参数
chi("可乐",zaocan="包子","哈根达斯",wancan="面条")                   #会报错

结果:
可乐 哈根达斯 包子 面条
可乐 哈根达斯 包子 面条
可乐 哈根达斯 包子 面条

      ③.传参: 给函数传递消息的时候讲实际参数交给形式参数的过程被称为传参.

                              

 

猜你喜欢

转载自www.cnblogs.com/zmc940317/p/9445073.html