• 第7课 初识函数


    一、函数

    1、函数的概念:封装一段代码,实现特定功能的代码块。

    2、函数的定义:def func():

      1)代码不重复

      2)修改方便

    def func():
        print('step1...')
        print('step2...')
    
    func() #函数的调用
    
    # 输出结果
    step1...
    step2...

    3、函数的效果类似---变量

      1)变量:一个对象的名字

      2)函数:一段代码的名字

    4、函数在调用的时候才能执行函数体里面的代码

    >>> def func():
          print('函数')
    
        
    >>> func()  # 调用函数
    函数
    >>> type(func)  # 查看类型
    <class 'function'>

    5、函数的定义一定在函数的调用之前

    6、type(func)----<class 'function'>

    7、None:函数无返回值---没有return

    def func():
        print('step1...')
        print('step2...')
    
    func()
    print(func())
    
    # 输出结果
    
    step1...
    step2...
    step1...
    step2...
    None  # 无返回值

      加上return

    def func():
        print('step1...')
        print('step2...')
        return '我是返回值'
    func()
    print(func())
    
    # 结果显示
    step1...
    step2...
    step1...
    step2...
    我是返回值

    8、def func(a, b): ----a,b为必填形参

      1)形参:形式主义,在函数定义的时候

      2)实参:实际运行,在函数调用的时候

    9、在pycharm中,如果形参被使用,则显示为亮色,否则是灰色的。如下,a被调用,显示为橙色,b未被调用,显示为灰色。

      函数中参数的赋值

    >>> def func(a, b):
          a = 100       # 函数内部,a被赋值为100
          print(a)
    
        
    >>> func(1, 2)   #函数调用时,a的初始值为1
    100   # 所以,输出结果为100

    10、func(a = 1, 2),函数的错误调用。前面是  变量 = 值  的形式,后面一定也用这样的形式。

    >>> func(1, 2)
    100
    >>> def func(a, b):
          print(a + b)
    
        
    >>> func(a = 1, 2)   # 这样写是错误的
    SyntaxError: positional argument follows keyword argument
    >>> func(a=1, b=2)   # 如果是 变量 = 值,后面要保持队形
    3

    11、return a + b----返回值,使用return返回值

    >>> def func(a, b):
          return a + b
    
    >>> sumData = func(1, 2)
    >>> print(sumData)
    3

      或者直接写成下面的形式。print(func(1, 2))等价于:

      1)func(1, 2)函数的调用

      2)print(3)

    >>> def func(a, b):
          return a + b
    
    >>> print(func(1, 2))
    3

    12、全局变量:在函数外部定义的变量

    >>> name = 'Tom'  # 全局变量
    >>> def func():
          print(name)
    
        
    >>> func()
    Tom
    >>> print(name)
    Tom

    13、局部变量:在函数内部定义的变量,它的生存空间只在函数内部。在函数外部不能被引用。

    >>> def fun1():
          name = 'Lily'  # 局部变量
          print(name)
    
        
    >>> fun1()
    Lily
    >>> print(name)  # 在函数外部不能被引用
    Traceback (most recent call last):
      File "<pyshell#5>", line 1, in <module>
        print(name)
    NameError: name 'name' is not defined

     14、return可以返回任意类型

    >>> def fun():
          return [1, 2, 3, 4, 5, 6, 7, 8, 9]  # 返回列表
    
    >>> fun()
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> def fun1():
          return (1, 2, 3)  # 返回元组
    
    >>> fun1()
    (1, 2, 3)

       1)函数一旦执行return,该函数就调用完成;函数内部的return后面的语句就没有任何意义

    >>> def fun():
          print('调用return前')
          return '调用return'
          print('本句不执行!')
    
        
    >>> fun()
    调用return前
    '调用return'

     15、类型转换:str()、int()、float()

      1)int(a):a一定是整数值,否则会报错

    >>> a = 'xxyy'
    >>> int(a)
    Traceback (most recent call last):
      File "<pyshell#21>", line 1, in <module>
        int(a)
    ValueError: invalid literal for int() with base 10: 'xxyy'

      2)类型转换的使用举例

    >>> data = input('请输入一个数值:')
    请输入一个数值:3
    >>> type(data)
    <class 'str'>
    >>> print(data + 68)
    Traceback (most recent call last):
      File "<pyshell#28>", line 1, in <module>
        print(data + 68)
    TypeError: must be str, not int
    >>> print(int(data) + 68)
    71
    # 或者用下面的方法,直接在输入时转换成int型
    >>> data = int(input('请输入一个数值:'))
    请输入一个数值:6
    >>> type(data)
    <class 'int'>
    >>> print(data + 89)
    95
  • 相关阅读:
    LPC2478时钟模块详解
    LPC2478内存布局以及启动方式
    STM8的GPIO驱动
    STM8时钟系统详解
    ELF文件格式分析--结构篇
    S3C2440 TFTLCD驱动详解
    S3C2440触摸屏驱动详解
    S3C2440 ADC详解
    STM8建立IAR工程
    STM8单片机启动流程彻底探究--基于IAR开发环境
  • 原文地址:https://www.cnblogs.com/nick1998/p/10015322.html
Copyright © 2020-2023  润新知