51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2619|回复: 8
打印 上一主题 下一主题

1.16.1 函数基础

[复制链接]

 成长值: 13951

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74102
    跳转到指定楼层
    楼主
    发表于 2018-4-15 21:03:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    函数是什么?定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可
    特性:
    • 减少重复代码
    • 使程序变的可扩展
    • 使程序变得易维护
    语法定义
    1. def sayhi():#函数名
    2.     print("Hello, I'm nobody!")
    3. sayhi() #调用函数
    复制代码
    可以带参数
    1. #下面这段代码
    2. a,b = 5,8
    3. c = a**b
    4. print(c)
    5. #改成用函数写
    6. def calc(x,y):
    7.     res = x**y
    8.     return res #返回函数执行结果
    9. c = calc(a,b) #结果赋值给c变量
    10. print(c)
    复制代码



    回复

    使用道具 举报

     成长值: 13951

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74102
    沙发
     楼主| 发表于 2018-4-15 21:10:26 | 只看该作者
    2.函数参数与局部变量
    形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量
    实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复 支持 反对

    使用道具 举报

     成长值: 13951

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74102
    板凳
     楼主| 发表于 2018-4-15 21:29:31 | 只看该作者
    默认参数
    看下面代码
    1. def stu_register(name,age,country,course):
    2.     print("----注册学生信息------")
    3.     print("姓名:",name)
    4.     print("age:",age)
    5.     print("国籍:",country)
    6.     print("课程:",course)

    7. stu_register("王五",22,"CN","pytho")
    8. stu_register("张六",21,"CN","linux")
    9. stu_register("刘七",25,"CN","linux")
    复制代码
    发现 country 这个参数 基本都 是"CN", 就像我们在网站上注册用户,像国籍这种信息,你不填写,默认就会是 中国, 这就是通过默认参数实现的,把country变成默认参数非常简单。
    1. def stu_register(name,age,course,country="CN"):
    复制代码
    这样,这个参数在调用时不指定,那默认就是CN,指定了的话,就用你指定的值。在把country变成默认参数后,同时把它的位置移到了最后面,为什么呢?  

    回复 支持 反对

    使用道具 举报

     成长值: 13320

  • TA的每日心情
    开心
    2018-4-22 12:57
  • 2

    主题

    14

    帖子

    1万

    积分

    高级会员

    Rank: 4

    积分
    12072
    地板
    发表于 2018-4-25 22:21:55 | 只看该作者
    admin 发表于 2018-4-15 21:29
    默认参数看下面代码发现 country 这个参数 基本都 是"CN", 就像我们在网站上注册用户,像国籍这种信息,你 ...

    默认参数不移到最后面,就不确定是否缺省了默认参数。
    例如,函数需要4个参数,默认参数在第三个,这是我传入了三个参数,那我怎么确认第三个参数实际上是第四个参数,还是第三个参数而自己少些了一个参数呢。
    回复 支持 反对

    使用道具 举报

     成长值: 13320

  • TA的每日心情
    开心
    2018-4-22 12:57
  • 2

    主题

    14

    帖子

    1万

    积分

    高级会员

    Rank: 4

    积分
    12072
    5#
    发表于 2018-4-25 22:21:55 | 只看该作者
    admin 发表于 2018-4-15 21:29
    默认参数看下面代码发现 country 这个参数 基本都 是"CN", 就像我们在网站上注册用户,像国籍这种信息,你 ...

    默认参数不移到最后面,就不确定是否缺省了默认参数。
    例如,函数需要4个参数,默认参数在第三个,这是我传入了三个参数,那我怎么确认第三个参数实际上是第四个参数,还是第三个参数而自己少些了一个参数呢。
    回复 支持 反对

    使用道具 举报

     成长值: 13320

  • TA的每日心情
    开心
    2018-4-22 12:57
  • 2

    主题

    14

    帖子

    1万

    积分

    高级会员

    Rank: 4

    积分
    12072
    6#
    发表于 2018-4-25 22:22:03 | 只看该作者
    admin 发表于 2018-4-15 21:29
    默认参数看下面代码发现 country 这个参数 基本都 是"CN", 就像我们在网站上注册用户,像国籍这种信息,你 ...

    默认参数不移到最后面,就不确定是否缺省了默认参数。
    例如,函数需要4个参数,默认参数在第三个,这是我传入了三个参数,那我怎么确认第三个参数实际上是第四个参数,还是第三个参数而自己少些了一个参数呢。
    回复 支持 反对

    使用道具 举报

     成长值: 13951

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74102
    7#
     楼主| 发表于 2018-4-27 20:10:09 | 只看该作者
    熬夜不洗澡 发表于 2018-4-25 22:21
    默认参数不移到最后面,就不确定是否缺省了默认参数。
    例如,函数需要4个参数,默认参数在第三个,这是 ...

    厉害啦,还在学python啊。赞
    回复 支持 反对

    使用道具 举报

     成长值: 13320

  • TA的每日心情
    开心
    2018-4-22 12:57
  • 2

    主题

    14

    帖子

    1万

    积分

    高级会员

    Rank: 4

    积分
    12072
    8#
    发表于 2018-4-28 00:12:14 | 只看该作者
    admin 发表于 2018-4-27 20:10
    厉害啦,还在学python啊。赞

    我认为业务和技术没有边界,所有都涉猎一下
    回复 支持 反对

    使用道具 举报

     成长值: 14154

  • TA的每日心情
    郁闷
    2018-12-25 16:35
  • 0

    主题

    2

    帖子

    16

    积分

    新手上路

    Rank: 1

    积分
    16
    9#
    发表于 2018-12-25 17:43:52 | 只看该作者
    盖楼了,慢慢学习!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2024-4-29 12:23 , Processed in 0.136700 second(s), 31 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表