day09_python_初始函数

一、定义
    函数是对功能和动作的封装
 1 def functionname( parameters ):
 2    "函数_文档字符串"
 3    function_suite
 4    return [expression]
 5 
 6 #函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
 7 #任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
 8 #函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
 9 #函数内容以冒号起始,并且缩进。
10 #return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
二、return 返回值
    1.不写return的情况下,会默认返回一个None:我们写的第一个函数,就没有写return,这就是没有返回值的一种情况。 
    2.只写return,后面不写其他内容,也会返回None,有的同学会奇怪,既然没有要返回的值,完全可以不写return,为什么还要写个return呢?这里我们要说一下return的其他用法,就是 一旦遇到return,结束整个函数
    3.如果return后⾯写了⼀个值. 则调⽤者可以接收⼀个结果  
    4.如果return后⾯写了多个结果, 则调⽤者可以接收⼀个tuple, 调⽤者可以直接解构成 多个变量
三、函数参数
    函数执行过程:现将def my_len()函数名加载进内存,然后在调用函数时再执行函数体
                                                  

  

1. 形参 写在函数声明的位置的变量叫形参. 形式上的⼀个完整. 表⽰这个函数需要xxx 
    2. 实参 在函数调⽤的时候给函数传递的值. 叫实参, 实际执⾏的时候给函数传递的信息. 表⽰给函数 xxx 
    3. 传参 给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.  
    (1)实参
        <1>位置参数
1 def yue(chat, address, age): # 形参
2  print("拿出手机")
3  print("打开"+chat)
4  print("找个"+address+"附近漂亮的"+str(age)+"岁妹妹")
5  print("约不约")
6 yue("微信", "北京", 18) # 实参

练习:编写函数, 给函数传递两个参数a, b. 比较a, b的⼤⼩, 返回 a, b中最⼤的那个数

1 def my_max(a, b):
2  if a > b:
3  return a
4  else:
5  return b
6 # 有点麻烦, 我们在这学一个三元运算符.
7 def my_max(a, b):
8  c = a if a > b else b # 当a>b成时返回a, 否则返回b
9  return c

        <2>关键字参数

1 def yue(chat, address, age):
2  print("拿出手机")
3  print("打开"+chat)
4  print("找个"+address+"附近漂亮的"+str(age)+"岁妹子")
5  print("约不约")
6 yue(chat="微信", age=18, address="北京") # 关键字参数
        <3>混合参数
               注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面
1 yue("微信", age=18, address="上海") # 正确.第一个位置赋值给chat, 后面的参数开始指定关键字.
2 yue(age="18", "微信", address="⼴州") # 错误, 最开始使⽤了关键字参数, 那么后面的微信的位置就串了, 容易出现混乱
    (2)形参
        <1>  位置参数. 按照位置来赋值
        <2>默认参数 :在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以给出具体的值, 也可以不给值, 使用默认值,⼤多数传进来的参数都是⼀样的, ⼀般⽤默认参数
1 def yue(chat, address, age): # 位置参数
2     函数体
3 
4 
5 def stu_info(name, age, sex=''):
6  print("录入学生信息")

        注意:必须先声明位置参数, 才能声明默认值参数

  

猜你喜欢

转载自www.cnblogs.com/hq82/p/9641842.html