zoukankan      html  css  js  c++  java
  • 函数初识-预习

    1.什么是函数

    • 函数就是将一些代码进行封装

    • 定义一个事情或者是功能,等到需要的时候直接取用就好了,那么这里定义的东西就是函数

    2. 函数的定义

    2.1 关键字 def

    • def 函数名():

      函数体

    2.2 定义一个函数

    def make():
    	print("拿出手机")
    	print("打开陌陌")
    	print("找一个漂亮的妹子")
    	print("问她约不约啊")
    	print("ok,走起")
    
    • 定义好了,但是没有执行

    3. 函数的调用

    3.1 函数名加小括号

    def make():                                # 1
    	print("拿出手机")                      #  3   9    15
    	print("打开陌陌")                      #   4   10   16
    	print("找一个漂亮的妹子")               #   5    11   17
    	print("问她约不约啊")                   #   6    12    18
    	print("ok,走起")                       #    7    13    19
    make()  #这就是函数的调用                    # 2
    
    #########
    make()                                      #   8
    make() #想打印几次添加就可以了                #   14
    

    4. 函数的返回值 return

    4.1 不写return返回值是None, return写了但是后边什么都不写返回的也是None

    def make():
    	print("拿出手机")
    	print("打开陌陌")
    	print("找一个漂亮的妹子")
    	print("问她约不约啊")
    	return   #  "美奴一枚","萝莉一枚"  返回值("美奴一枚","萝莉一枚") #tuple
    	#返回的内容不受限制,
    	#跟多个内容,返回值是元祖()
    	#return是将内容返回给了调用者make(),再赋值给msg
    	#返回值是什么类型,返回的就是什么类型,如,列表,字典,元组,一个str,数字,bool,集合等
    	print("ok,走起")
    msg= make()   #从右向左执行, 没写时 make() == None  
    print(msg)
    

    4.2

    def func():
    	print("今天是周二")
    	print("明天是周三")
    	return "1-8"
    	print("后天是周三")
    	return "1-9"
    	print("后天是周四")
    	print("后天是周五")
    print(func())
    结果:
    今天是周二
    明天是周三
    1-8
    ***函数中执行到return的时候就结束了,return以下的代码都不执行,并且终止这个函数
    

    5.函数的参数

    5.1 位置参数

    def func(addr):   #形参
    	print(f"我在{addr}的沙河,我在吃饭")
    	print(f"alex在{addr},在开会")
    func("石家庄")  #实参
    结果:
    我在石家庄的沙河,我在吃饭
    alex在石家庄,在开会
    
    • 参数
      • 定义的参数是 形参
      • 调用的参数是 实参 #形参和实参必须一一对应
      • 从实参到形参的过程是 传参
      • addr是一个变量名 #addr = "东莞"
    def func(addr,age):   #形参
    	print(f"我只{addr}的沙河,我今年{age}岁")
    	print(f"alex在{addr},他今年{age}岁")
    func("石家庄","30")  #实参
    结果:
    我只石家庄的沙河,我今年30岁
    alex在石家庄,他今年30岁
    
    • 形参和实参一一对应,可以填写多个,逗号隔开
    def func(a_addr,a_age,b_addr,b_age):   #形参
    	print(f"我只{a_addr}的沙河,我今年{a_age}岁")
    	print(f"alex在{b_addr},他今年{b_age}岁")
    func("石家庄","30","以色列",9000)  #实参
    结果:
    我只石家庄的沙河,我今年30岁
    alex在以色列,他今年9000岁
    
    • 数字加不加引号效果相同,类型不同

    5.2 实参

    5.2.1 关键字传参

    def func(msg,school):
    	print(f"嫂子,{school}的学生,但是要去{msg}从基层做起")
    func(msg = "东莞",school = "清华")
    结果:
    嫂子,清华的学生,但是要去东莞从基层做起
    

    5.2.1 混合传参

    def func(msg,school):
    	print(f"嫂子,{school}的学生,但是要去{msg}从基层做起")
    func("东莞",school = "清华")
    结果:
    嫂子,清华的学生,但是要去东莞从基层做起
    

    5.2.3 位置传参

    def func(msg,school):
    	print(f"嫂子,{school}的学生,但是要去{msg}从基层做起")
    func("清华","东莞")
    结果:
    嫂子,清华的学生,但是要去东莞从基层做起
    

    5.3 形参的角度

    def func(msg,school = "清华"):  #school = "清华"是默认参数
    	print(f"嫂子,{school}的学生,但是要去{msg}从基层做起")
    func(msg = "东莞",school = "北大")
    结果:
    嫂子,北大的学生,但是要去东莞从基层做起
    
    def func(msg,school = "清华"):
    	print(f"嫂子,{school}的学生,但是要去{msg}从基层做起")
    func(msg = "东莞")
    结果:
    嫂子,清华的学生,但是要去东莞从基层做起
    

    5.3.1 简单应用

    def func(name,age,addr,sex):
    	print(f"{name},{age},{addr},{sex}")
    func("韩星",22,"衡水","男")
    func("邓春",21,"沧州","男")
    func("邸宗超",24,"保定","男")
    func("美女",23,"中国","女")
    结果:
    韩星,22,衡水,男
    邓春,21,沧州,男
    邸宗超,24,保定,男
    美女,23,中国,女	
    
    def func(name,age,addr,sex = "男"):
    	print(f"{name},{age},{addr},{sex}")
    func("韩星",22,"衡水")
    func("邓春",21,"沧州")
    func("邸宗超",24,"保定")
    func("美女",23,"中国","女")
    结果:
    韩星,22,衡水,男
    邓春,21,沧州,男
    邸宗超,24,保定,男
    美女,23,中国,女	
    

    5.4 报错

    def func(msg,school):
    	print(f"嫂子,{school}的学生,但是要去{msg}从基层做起")
    func("东莞",msg = "清华")
    结果:
    报错
    
    def func(msg,school):
    	print(f"嫂子,{school}的学生,但是要去{msg}从基层做起")
    func(msg = "东莞","清华")
    结果:
    报错
    
  • 相关阅读:
    python版本升级及pip部署方法
    Redis集群管理(二)
    UP UP UP!(dp)
    One Way Roads(搜索)
    Back to Underworld(搜索)
    队列链表实现以及有序表的合并
    第八届郑州轻工业学院ACM(程序设计大赛)校内预选赛
    Modulo Sum(背包 + STL)
    Co-prime Array&&Seating On Bus(两道水题)
    Hard Process(二分)
  • 原文地址:https://www.cnblogs.com/lvweihe/p/11185121.html
Copyright © 2011-2022 走看看