码迷,mamicode.com
首页 > 编程语言 > 详细

python 初识函数

时间:2019-01-02 19:29:34      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:传参   总结   命名规则   函数参数   订票   直接   相对   xxx   int   

初识函数

  1. 什么是函数
  2. 函数定义, 函数名, 函数体以及函数的调用
  3. 函数的返回值
  4. 函数的参数
1.函数

定义一个事情或者功能. 等到需要的时候直接去用就好了. 那么这里定义的东西就是?个函数.
函数: 对代码块和功能的封装和定义

2.函数的定义, 函数名, 函数体以及函数的调用

使用def关键字来定义函数, 函数的定义语法:

def 函数名():
函数体
函数名的命名规则和使用和变量基本?样(变量的命名规则), 函数体: 就是函数被执行之后要执行的代码

def back():
    print("网上订票")
    print("坐火车回家")
    print("路上睡觉")

定义完了. 但是这个时候去执行. 会发现什么都没有发生. 因为我只定义了?个函数. 但是还没有执行过这个函数.

函数的调用: 使用函数名可以调用函数, 写法: 函数名(), 这个时候函数的函数体会被执行

def back():
    print("网上订票")
    print("坐火车回家")
    print("路上睡觉")
back() #调用函数

 

3.函数返回

执行完函数之后. 使用return来返回结果.

函数中return的使用:

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

def back():
    print("网上订票")
    print("坐火车回家")
    return  print("路上睡觉") #不会被执行
back()

 


给函数的调用者?个访问结果

def back():
    print("网上订票")
    print("坐火车回家")
    print("路上睡觉")
    return "就是太慢了"
think=back()
print(think)

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

 

def back():
    print("网上订票")
    print("坐火车回家")
    print("路上睡觉")
    return "就是太慢了","有时候票也不好买","但是相对便宜"
think=back()
print(think) #(‘就是太慢了‘, ‘有时候票也不好买‘, ‘但是相对便宜‘) tuple

 

总结?下:

1. 遇到return. 此函数结束, 函数后面的东西将不会再执行
2. return 返回值
关于返回值:

如果return什么都不写 或者干脆不写return .那么返回的就是None
如果return后面写了?个值. 则调用者可以接收?个结果
如果return后面写了多个结果, 则调用者可以接收?个tuple, 调用者可以直接解构成多个变量
4.函数的参数

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

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

def back(ways):
    print("网上订票")
    print("坐%s回家" % ways)
    print("路上睡觉")
back("汽车")
back("火车")
back("飞机")

关于参数:

形参:写在函数声明的位置的变量叫形参. 形式上的?个完整. 表示这个函数需要xxx
实参:在函数调?用的时候给函数传递的值. 叫实参, 实际执行的时候给函数传递的信息. 表?示给函数 xxx
传参:给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.
(1)参数的分类--实参的分类

位置参数:在访问back()的时候, 按照位置的顺序分别把"携程", "火车", 6小时 赋值给 search, ways, time. 在传参过程中. 系统会默认按照位置把实参赋值到形参.

 

def back(search,ways,time):
    print("打开%s进行查找"%search)
    print("坐%s回家" % ways)
    print("路上需要睡%s" %time)
back("携程","火车","6小时")
#打开携程进行查找
#坐火车回家
#路上需要睡6小时

 


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

 

def my_max(a, b): 
    if a > b: 
    return a 
    else: 
    return b
# 有点?儿麻烦, 我们在这?里里学一个三元运算符. 
def my_max(a, b): 
    c = a if a > b else b # 当a>b成?立返回a, 否则返回b 
    return c

 

关键字参数:函数在定义的时候参数非常多时,我们不需要记住每个参数的位置. 只要记住每个参数的名字就可以了了

 

def back(search,ways,time):
    print("打开%s进行查找"%search)
    print("坐%s回家" % ways)
    print("路上需要睡%s" %time)
back(ways="火车",search="携程",time="6小时")
#打开携程进行查找
#坐火车回家
#路上需要睡6小时

 

混合参数: 可以把上面两种参数混合着使用. 也就是说在调用函数的时候即可以给出位置参数, 也可以指定关键字参数

def back(search,ways,time):
    print("打开%s进行查找"%search)
    print("坐%s回家" % ways)
    print("路上需要睡%s" %time)
back("携程",ways="火车",time="6小时") #正确 第一个位置赋值给search,后面的参数开始制定关键字

 

 

def back(search,ways,time):
    print("打开%s进行查找"%search)
    print("坐%s回家" % ways)
    print("路上需要睡%s" %time)
back(search="携程","6小时",ways="火车") # 错误, 最开始使用了关键字参数, 那么后面的"6小时"的位置就串了,容易出现混乱

注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面

(2)参数的分类--形参的分类

位置参数:按照位置来赋值, 到?目前为?止, 我们编写的函数都是这种

默认值参数:在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以 给出具体的值, 也可以不给值, 使用默认值.

比如, 我们录入咱们班学生的基本信息. 通过调查发现. 我们班大部分学生都是男生. 这个时候就可以给出?个sex=‘男‘的默认值.

def stu_info(name, age, sex=):
    print("录?入学?生信息")
    print(name, age, sex)
    print("录?入完毕")
stu_info("张强强", 18)

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

python 初识函数

标签:传参   总结   命名规则   函数参数   订票   直接   相对   xxx   int   

原文地址:https://www.cnblogs.com/avit/p/10209659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!