zoukankan      html  css  js  c++  java
  • day09

    一.今日内容大纲

    1. 内容回顾作业讲解

    2. 函数的初识

    3. 函数的结构与调用

    4. 函数的返回值

    5. 函数的参数

    二.昨日内容以及作业讲解

    1. 文件操作初识

      三部曲:

      • 打开文件open()。

      • 操作文件(文件句柄进行操作)。

      • 关闭文件。

      • 文件路径path,编码方式:encoding, mode:.

    2. 读,写,追加。

      • 读: r rb r+,r+b

        • read()

        • read(n) :

          • r: read(n) n 是字符。

          • rb:read(n) n 字节。

        • readline() strip() ' , , '

        • readlines() ['第一行 ','第二行 ',]

        • for 循环 对文件句柄。

      • 写:w,wb,w+,w+b

        • w: 没有文件创建新文件,写入内容。

        • w: 有文件,先清空,在写入新内容。

      • 追加:a,ab,a+,a+b

        • a: 没有文件创建新文件,追加内容。

        • a: 有文件,追加新内容。

    3. r+: 先读,后写。

    4. 其他功能:tell() seek() flush()

    5. with open() as f1:

    6. 文件的改的操作。

    三.具体内容

    1.函数的初识

    • 写一个获取字符串总个数的代码,不能用len:

      s1 = 'fjkdsfjdssudafurpojurojregreuptotuproq[t'
      # python没有len
      count = 0
      for i in s1:
          count += 1
      print(count)
    • 写一个获取列表总个数的代码:

      l1 = [1, 2, 3, 4, 5, 6]
      count = 0
      for i in l1:
          count += 1
      # print(count)

      这样的写代码low, 重复代码太多。 代码的可读性差。

    • 利用函数写出上面的功能:

      s1 = 'fsjkdafshdjfsdhafjksda'
      l1 = [1,2,3,4,5,6]
      
      def my_len(s):
          count = 0
          for i in s:
              count += 1
          print(count)
      my_len(s1)
      my_len(l1)
    • 函数:以功能(完成一件事)为导向,登录,注册,len,一个函数就是一个功能。 随调随用。

    • 函数的优点:

      • 减少代码的重复性。

      • 增强了代码的可读性。

    2.函数的结构与调用

      • 结构: def 关键字,定义函数。 meet 函数名:与变量设置相同,具有可描述性。 函数体 :缩进。函数中尽量不要出现 print

      • 函数什么时候执行?

        • 当函数遇到 函数名() 函数才会执行!!!

          def meet():
              print('打开tantan')
              print('左滑一下')
              print('右滑一下')
              print('找美女')
              print('悄悄话....')
              print('约....走起...')
          meet()
          meet()
          meet()

    3.函数的返回值

    def meet():
        print('打开tantan')
        print('左滑一下')
        return
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    meet()
    return: 在函数中遇到return直接结束函数。
    def meet():
        print('打开tantan')
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
        return '妹子一枚'
    
    ret = meet()
    print(ret)
    print(meet())
    return 将数据返回给函数的执行者,调用者 meet()。
    s1 = 'jfdkslfjsda'
    ret = len(s1)
    print(ret)
    def meet():
        print('打开tantan')
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
        # return '妹子一枚'
        return '妹子', 123, [22, 33]
    ret= meet()
    # ret,ret1,ret2 = meet()
    print(ret,type(ret))
    # return 返回多个元素 是以元组的形式返回给函数的执行者。
    • 返回值的总结:
      • 在函数中,终止函数。
      • return 可以给函数的执行者返回值:
        • return 单个值    单个值
        • return 多个值    (多个值,)

    4.函数的参数

    def meet():
        print('打开tantan')
        print('进行筛选:性别:女')
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    
    s1 = 'jfdsklafjsda'
    l1 = [1,2,3]
    len(s1)
    • 函数的传参:让函数封装的这个功能,盘活。
    • 分两个角度:实参,形参。
    def meet(sex):  #函数的定义:接受的参数形式参数
        print('打开tantan')
        print('进行筛选:性别:%s' %(sex))
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    
    meet('')  # 函数的执行传的参数 :实际参数
    • 实参角度

    1.位置参数: 从左至右,一一对应。

    def meet(sex,age,skill):
        print('打开tantan')
        print('进行筛选:性别:%s,年龄:%s,%s' %(sex,age,skill))
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    
    meet('',25,'python技术好的',)
    
    写一个函数,只接受两个int的参数,函数的功能是将较大的数返回。
    def compile(a,b):
        c = 0
        if a > b:
            return c
        else:
            return c
    print(compile(10,20))
    print(compile(1000,1))
    compile(1000,20)
    
    三元与运算符: 简单的if else
    a = 1000
    b = 2000
    if a > b:
        c = a
    else:
        c = b
    print(c)
    
    a = 1000
    b = 2000
    c = a if a > b else b
    def complie(a,b):
        c = a if a > b else b
        return c
    
    def complie(a,b):
        return a if a > b else b

    2.关键字参数 一一对应

    # def meet(sex,age,skill,hight,weight,):
    #     print('打开tantan')
    #     print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s' %(sex,age,skill,hight,weight))
    #     print('左滑一下')
    #     print('右滑一下')
    #     print('找美女')
    #     print('悄悄话....')
    #     print('约....走起...')
    #
    # meet(age=25,weight=100,hight=174,skill='python技术好的',sex='女')
    #
    # 函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。
    # def func(a,b):
    #     return a + b
    # print(func(b='太白',a='无敌'))

    3.混合参数

    # 混合参数
    # 位置参数一定要在关键字参数的前面。
    def meet(sex,age,skill,hight,weight,):
        print('打开tantan')
        print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s' %(sex,age,skill,hight,weight))
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
        return '筛选结果:性别:%s,体重%s' %(sex,weight)
    
    print(meet('',25,weight=100,hight=174,skill='python技术好的'))
    实参角度:
    1. 位置参数 按照顺序,一一对应
    2. 关键字参数, 一一对应
    3. 混合参数:位置参数一定要在关键字参数的前面。
    • 形参角度

    1.位置参数

    def meet(sex,age,skill):
        print('打开tantan')
        print('进行筛选:性别:%s,年龄:%s,%s' %(sex,age,skill))
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    
    meet('',25,'python技术好的',)
    
    写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    def func(l):
        if len(l) > 2:
            return l[:2]
        else:
            return l
    # print(func([1,2,3,4,5]))
    print(func([1,]))
    
    def func(l):
        c = l[:2] if len(l) > 2 else l
        return c
    print(func([1,2,3,4,5]))
    print(func([1,]))
    
    def func(l):
        return l[:2]
    # l1 = [1,]
    # print(l1[:2])

    2.默认参数

    默认值参数
    默认参数设置的意义:普遍经常使用的。
    
    def meet(age,skill='python技术好的',sex='',):
        print('打开tantan')
        print('进行筛选:性别:%s,年龄:%s,技能:%s' %(sex,age,skill))
        print('左滑一下')
        print('右滑一下')
        print('找美女')
        print('悄悄话....')
        print('约....走起...')
    
    # meet(25,'python技术好的',)
    meet(25,'运维技术好的','')
    
    open()
    形参角度:
    1. 位置参数
    2. 默认参数(经常使用的参数)

    四.今日总结

    1. 函数:
    2. 函数的作用:以功能为导向,减少代码重复,使代码可读性好。
    3. 函数的结构,函数的执行。
    4. 函数的返回值:return 1,终止函数给函数的调用者返回值。
    5. 函数的参数:
      • 实参角度
        • 位置参数

        • 关键字参数

        • 混合参数

      • 形参角度
        • 位置参数

        • 默认参数

  • 相关阅读:
    codeforces C. No to Palindromes!
    codeforces D. Pashmak and Parmida's problem
    codeforces C. Little Pony and Expected Maximum
    codeforces D. Count Good Substrings
    codeforces C. Jzzhu and Chocolate
    codeforces C. DZY Loves Sequences
    codeforces D. Multiplication Table
    codeforces C. Painting Fence
    hdu 5067 Harry And Dig Machine
    POJ 1159 Palindrome
  • 原文地址:https://www.cnblogs.com/livelychen/p/13355508.html
Copyright © 2011-2022 走看看