函数:语法 定义 参数 返回值

函数

我们可以先去定义⼀个事情或者功能. 等到需要的时候直接去用就好了. 那么这里定义的东⻄就是一个函数. 

函数是对功能或者动作的封装
函数: 对代码块和功能的封装和定义
函数的语法和定义
def 函数名():
函数体
调用:
函数名()
函数的调⽤: 使用函数名可以调用函数, 写法: 函数名(), 这个时候函数的函数体会被执⾏
函数的返回
执行完函数之后. 我们可以使用return来返回结果
return : 返回
1. 当程序没写过return, 不返回任何结果. 如果你非要接收. 接受到的是None
2. 当函数写return 值, 有一个返回值.
3. 当函数写了return 值1, 值2, 值3.... 返回多个结果. 多个结果打包成元组
4. 当程序执行到return, 函数结束执行
1. 函数中遇到return, 此函数结束, 不再继续执行.

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

3.函数的返回值可以有多个结果

总结⼀下:

1. 遇到return. 此函数结束, 函数后面的东西将不会再执⾏

2. return 返回值       

关于返回值:            

函数的返回值问题:
函数可以有返回值, 也可以没有返回值,return什么都不写 或者 干脆不写return .那么返回的就是None 
函数如果没有返回值. 在函数最后执行完毕的时候会默认返回None
在函数中只写了return, 但是没有写返回值
在函数中写了return, return None 返回的结果还是None
在函数中写了return 值, 返回一个结果.
在函数中写return 值1, 值2, 值3... 返回多个结果. 多个结果会以元组的形式返回,如果return后⾯面写了多个结果, 则调用者可以接收一个tuple, 调用者可以直接解构成多个变量


 参数
函数在调⽤用的时候指定具体的⼀一个变量量的值. 就是参数. 
语法: 

def 函数名(参数列表):

   函数体

def()

小括号是什么, 小括号表示调用, 传参

参数: 参数是给函数传递的信息
形参: 在函数声明的位置写的变量
1. 位置参数
2. 默认值
3. 动态传参(明天) *, **
实参: 在函数调用的时候给函数传递的具体的值
1. 位置参数
2. 关键字参数
3. 混合: 位置, 关键字
传参: 把实参给形参的过程
1. 形参 写在函数声明的位置的变量量叫形参.  形式上的⼀一个完整. 表⽰示这个函数需要xxx
2. 实参 在函数调⽤用的时候给函数传递的值. 叫实参, 实际执⾏行行的时候给函数传递的信息. 表⽰示给函数 xxx
3. 传参 给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.
def chi():
    print('池什么')
    print("酸菜鱼")

chi() # 小括号表示调用

def yue(tools): # 形参
    # 描述你的动作
    print("拿出手机")
    print('打开%s' % tools)
    print("找一个心仪的小姐姐")
    print('有没有时间啊, 聊聊人生')
    print("一起出来吃饭唱歌, 看电影")

yue("微信")  # 实参
yue("探探")  # 实参
yue("陌陌")  # 实参

需求:根据你指定的APP去约
在括号内写的东西叫参数
在函数声明的位置. 写的参数叫形参
在函数调用的地方. 写的参数叫实参
把实参传递给形参的过程叫做传参
 在函数调用的时候. 必须保证所有的形参都有值
yue() # 错误的
1. 关于实参:
1. 位置参数, 按照位置给形参传递信息 #  在访问yue()的时候, 我们按照位置的顺序赋值. 在传参过程中. 系统会默认按照位置把实参赋值到形参. 
程序员必须记住, 我有哪些参数, ⽽且还有记住每个参数的位置, 否则函数 就不能正常调⽤了.
      那则么办呢? python提出了了一种叫做关键字参数. 我们不需要记住每个参数的位置. 只要记住每个参数的名字就可以了 

    2. 关键字参数, 按照形参声明的变量名进行传递

3. 混合参数. 位置+关键字(规定) ##必须先使用位置参数,再使用关键字参数
    #可以把上⾯两种参数混合着使⽤用. 也就是说在调⽤函数的时候即可以给出位置参数, 也可以指定关键字参数. 
位置参数的例子:
练习:写一个函数, 在函数内部. 要求用户输入两个数. 返回大的那个数 def func(): # fn func a = int(input("请输入第一个数:")) b = int(input("请输入第二个数:")) # if a > b: # return a # else: # return b # 三目运算 c = a if a > b else b # c装的是a, b中大数 # 值1 if 条件 else 值2 return c ret = func() print(ret)

  



2. 关于形参(2):
1. 位置参数, 按照位置声明的变量
2. 默认值参数
3. 当默认值和位置参数同时存在的时候. 规定: 默认值必须写在后面
4. 动态传参(明天)

# 所有带等号的. 都上后面去
def chi(zhushi, fushi, tang, tiandian):
    print("主食:%s" % zhushi)
    print("副食:%s" % fushi)
    print("汤:%s" % tang)
    print("甜点:%s" % tiandian)

# chi("锅包肉", "胡辣汤", "哈根达斯冰激凌火锅","大米饭")#位置参数
# chi(fushi="大米饭", zhushi="锅包肉", tiandian="哈根达斯", tang="酸辣汤")#关键字参数
# chi("大米饭", "锅包肉", tiandian="哈根达斯", "酸辣汤") # 错误的. 关键字必须在位置参数后面
chi("大米饭", "锅包肉", "酸辣汤", tiandian="哈根达斯")
chi("大米饭", "锅包肉", tiandian="哈根达斯", tang="酸辣汤")
posted @ 2018-12-06 15:59  言吾  阅读(416)  评论(0编辑  收藏  举报