美文网首页
2018年6月21日【python学习笔记】

2018年6月21日【python学习笔记】

作者: SlashLife | 来源:发表于2018-06-25 08:39 被阅读0次

    一、认识函数

    函数就是实现某一特定功能的代码块,在类中,函数又叫方法(对某一功能的封装)

    • 为什么要使用函数?

    飞机的功能:左移、右移、上移、下移、发射子弹等

    没有函数的时候:
    问题:
    1.一样的功能对应的代码,需要重复写很多次 (代码冗余)
    2.如果功能发生改变的时候,需要修改很多位置的代码

    怎么解决上面的问题:使用函数

    • 函数的作用:

      1.让界面简洁(同样的功能对应的代码只写一遍)
      2.如果功能发生改变,使用函数只需修改一个地方的代码
      3.让代码模块化

    左移

      print('看后视镜')
      print('踩油门')
      print('打左转向灯')
      print('向左打方向盘')
      print('回正方向盘')
    

    右移

      print('看后视镜')
      print('踩油门')
      print('打右转向灯')
      print('向右打方向盘')
      print('回正方向盘')
    

    二、使用函数

    • 1.声明函数(定义)

      print()、input()、len()、max()等,都是python的内置函数
      append()、insert()等是相关类对应的函数
      
    a.格式:

    def 函数名(参数列表):
    说明文字
    函数体

    def:是python中声明函数的关键字
    函数名:标识符,PEP 8,见名知义(根据函数名大概知道函数的功能)
    ():固定格式,不能省略
    参数列表(形参):参数的作用就是从外面往函数中传值的.
    一个函数可以没有参数,也可以有多个参数。
    如果有多个参数,参数之间用逗号隔开。
    冒号:固定的格式
    说明文字:对函数功能进行说明
    函数体:就是实现函数功能的代码段

    b.对于初学者来说,声明函数的步骤:

    1.确定函数的功能(确定函数是干什么的)
    2.确定函数名(根据功能确定函数名)
    3.确定参数(确定是否有参数,确定参数有几个,看实现这个功能需不需要从外面传值进去)
    4.确定是否需要返回值(返回值就是函数返回给调用者的数据。python中所有的函数都有返回值,默认是None)
    5.实现函数的功能

    注意:函数只有在调用的时候才会执行

    • 2.函数的调用

    格式:
    函数名(参数列表)

    函数名:你声明的需要调用的函数(已经声明过得函数才能调用)
    参数列表:实参

    函数的调用过程:
    1.就是用实参给形参赋值,
    2.并且执行函数体获取返回值
    3.获取返回值(这个时候会回到函数调用的位置,并且让函数调用表达式的值)

    写一个函数,打印'hello python'
    声明函数hello

      def hello():
          """打印'hello python'"""
          print('hello python')
    

    调用函数hello

      hello()
      print(hello())
    
    注意:
     1.一个函数声明后,可以调用多次;
     2.python中所有的函数调用表达式都有值
    

    练习:写一个函数去打印10的阶层

      def jie_ceng():
          """打印10的阶层"""
          sum2 = 1
          for x in range(1, 11):
              sum2 *= x
          print(sum2)
    
      jie_ceng()
    

    三、带参的函数

    1.函数的声明

    def 函数名(参数列表):
    说明文字
    函数体

    形参:获取从外面传递给函数内部的值

    2.函数的调用

    函数名(实参列表)

    实参:调用函数的时候给函数传值

    写一个函数,打印两个数的和
    形参就是声明在函数内的变量

      def my_sum(num1, num2):
          """打印num1和num2的和"""
          print(num1 + num2)
    

    带参函数的调用

    • 1.位置参数

      my_sum(10, 20)    # 执行这句代码:先将num1 = 10, num2 = 20.再执行my_sum的函数体
      
      my_sum(30)   报错:TypeError: my_sum() missing 1 required positional argument: 'num2'
      
    注意:函数调用的时候,一定要保证每个形参都要有值
    2.关键字参数
      my_sum(num2=10, num1=5)
    

    练习:写一个函数,打印一个数的立方

      def cubic(num):
          """打印一个数的立方"""
          print(num**3)
    
        cubic(6)
    
    • 2.参数的默认值

    在python中,函数的参数可以设置默认值(函数声明的时候给函数赋值)。
    如果参数设置了默认值,那么调用这个函数的时候,这个参数可以传参 ,也可以不参

    写一个函数,问候某人(打印:xxx,how are you!)

      def say_hi(name='xxx'):
          """问候"""
          print('{},how are you!'.format(name))
    

    函数调用的要求:保证每个参数有值

      say_hi()
      say_hi('张三')
    
    注意:如果声明函数的时候,函数中有多个函数,有默认值的必须放在没有默认值的参数后边
      def say_hello(name='xxx', message):   #报错
            """问候"""
            print('%s, %s' % (name, message))
    

      def say_hello(message, name='xxx'):
            """问候"""
            print('%s, %s' % (name, message))
    
      say_hello('你吃了吗?', '李四')    # 李四, 你吃了吗?
      say_hello('最近好吗?')    # xxx, 最近好吗?
      say_hello(name='小花', message='I love you!')  # 小花, I love you!
      say_hello(message='我恨你!')  # xxx, 我恨你!
    
    • 3.参数个数不定

    写一个函数,求多个数的和
    参数个数不确定的时候,就在参数列表中声明一个变量,前面加一个*;
    这个时候,这个变量就变成了元祖。函数调用的时候,所有的实参都会添加到元祖中

      def my_sum2(*nums):
          sum1 = 0
          for item in nums:
              sum1 += item
          print(sum1)
    
      my_sum2(10, 2, 30)  # 42
      my_sum2(10, 2, 30, 45, 89, 54, 789)  # 1019

    相关文章

      网友评论

          本文标题:2018年6月21日【python学习笔记】

          本文链接:https://www.haomeiwen.com/subject/jslcyftx.html