文档章节

Python 函数定义

learn_more
 learn_more
发布于 2015/11/27 08:57
字数 345
阅读 96
收藏 0

1、函数定义

    def fun_name([params,params]):

        body

注意:形参可以在定义时赋默认值,如果实参要传入,那么默认值会被覆盖!


2、函数调用

    fun_name([params,params])

注意:函数的调用不一定要满足实参等于形参,但是实参个数一定是小于或等于形参!


3、举例调用

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):

    while True:

        ok = input(prompt)

        if ok in ('y', 'ye', 'yes'):

            return True

        if ok in ('n', 'no', 'nop', 'nope'):

            return False

        retries = retries - 1

        if retries < 0:

            raise IOError('refusenik user')

        print(complaint)

def main():

    ask_ok('please input somecodes : ', 10);


4、return 的作用

    return结束调用,并将结果返回给调用者;如果没有return,函数在函数体结束位置将控制权返回给调用方。


5、对于形参传递

    函数的形参只接收了实参的值,给形参赋值并不影响实参,换句话说Python是通过值来传递参数,而不是引用。

所以函数不能修改形参变量本身,但是对于一些可变对象(如列表或者图形对象,换句话就是非基本数据类型),那么在函数内部是可以修改的,但是这个变量本身在内存的位置不可能发生改变。


6、函数的递归

    和高级语言一样


© 著作权归作者所有

上一篇: SEO
下一篇: Python 文件读操作
learn_more
粉丝 93
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问

暂无文章

Qt编写自定义控件55-手机通讯录

一、前言 前面几篇文章中的控件基本上难度系数接近0,甚至有凑控件数量的嫌疑,这次必须来一个强悍的控件,本控件难度系数在所有控件中排前五,代码量也不少,头文件都550行,实现文件1600行...

飞扬青云
33分钟前
26
0
C++与QML交互2:在QML中调用C++特性

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/xi_gua_gua/article/details/56991367 QML引擎(QQmlEngin...

shzwork
50分钟前
3
0
【Go专家编程】defer这里有个坑

前言 项目中,有时为了让程序更健壮,也即不panic,我们或许会使用recover()来接收异常并处理。 比如以下代码: func NoPanic() {if err := recover(); err != nil {fmt.Println("Recov...

恋恋美食
59分钟前
4
0
20190920笔记

扩展: bashrc和bash_profile http://ask.apelearn.com/question/7719 http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html echo 颜色 http://www.cnblogs.com/lr-ting/archi......

徐-锐
今天
3
0
Shiro整合Redis代码解读

1. shiro默认使用的MemoryConstrainedCacheManager创建MapCache来保存缓存数据。manager和cache对象之间的关系可以参考笔者的另一篇文章,Springboot Redis详解。 2. shiro整合Redis的关键就...

sunranhou
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部