zoukankan      html  css  js  c++  java
  • Python--Demo8--函数定义和函数调用

    我们已经使用了一些python内建函数,比如print()、input()、str()等等。

    也使用了一些python自带模块的一些库函数,比如math模块的abs()函数。

    现在我们来学习一下如何自定义一个函数?

    函数定义:

    语法:def关键字、函数名、([参数])、冒号、下一行缩进代码块(使用return 值 作为函数返回值)。

    函数调用:函数名([参数])

    示例:自定义一个函数,要求传入一个任意数值,返回传入参数的绝对值。

    >>> def my_abs(invalue):
    ...     if invalue<0:
    ...             invalue=-invalue
    ...     return invalue
    ...
    >>> my_abs(-1)
    1
    >>> my_abs(2)
    2
    >>> my_abs(-0)
    0
    >>> my_abs(0)
    0

    说明:my_abs()是一个带参数、带返回值的函数

    示例:自定义一个无参数、不带return的函数。

    >>> def my_function():
    ...     print('你好python...')
    ...
    >>> rtn=my_function()
    你好python...
    >>> print(rtn)
    None
    >>> type(rtn)
    <class 'NoneType'>

    说明:my_function()执行后,输出返回值为None?这是因为如果我们没有写return语句,python会为我们自动在函数末尾追加一个return None。

    示例:定义函数 return后面跟多个以逗号隔开的值

    >>> def change_value(p1,p2):
    ...     tmp=p1
    ...     p1=p2
    ...     p2=tmp
    ...     return p1,p2
    ...
    >>> change_value(11,90)
    (90, 11)
    >>> value1,value2=change_value(7,121)
    >>> value1
    121
    >>> value2
    7

    说明:return 后面跟多个值,以逗号隔开,貌似我们最终能够得到多个值,其实不然,我们得到的是一个元组。从上面的执行结果就可以看出。

    示例:定义一个空函数,需要用到pass关键字。

    >>> def dono():
    ...     pass
    ...
    >>> dono()
    >>> rtn=dono()
    >>> print(rtn)
    None

    说明:我们定义这个函数之初,并没有想好这个函数要干什么,那么函数体内可以什么都不写,只写一个pass关键字就行了。

    pass关键字:pass其实很有用 当我们在任何时候不知道下一步要做什么都可以先用pass使我们的程序不报错。

    示例:

    >>> age=18
    >>> if age>=18:
    ...     pass
    ... else:
    ...     print('未满18可别抽烟')
    ...
    >>> if age>=18:
    ...
      File "<stdin>", line 2
    
        ^
    IndentationError: expected an indented block

    说明:上面的例子可以看出,在满足age>=18后 如果我们不使用pass关键字,那么程序就会报错。

  • 相关阅读:
    Win7系统中打开exe 无反应
    IE 浏览器主页劫持 如何修复
    win10 airpods显示已配对,但就是连不上怎么办?
    tp5 layui 渲染 时间戳转换为日期时间格式
    为什么要设置 繁琐的密码
    美食摄影 – 明确目的
    MsMpEng.exe进程停止删除或弹出设备,导致移动硬盘无法正常弹出,怎么办?
    单抗热门靶点 | VEGF | TNF-α | CD20 | HER2 | PD-1 | IL-6R | CD47
    EZH2 | Ezh2 | 组蛋白甲基化酶/组蛋白甲基转移酶
    宇宙微波背景辐射 | 著名实验
  • 原文地址:https://www.cnblogs.com/bigbosscyb/p/12321319.html
Copyright © 2011-2022 走看看