函数初识

01 今日内容大纲

  1. 内容回顾作业讲解

  2. 函数的初识

  3. 函数的结构与调用

  4. 函数的返回值

  5. 函数的参数

02 昨日内容回顾作业讲解

  1. 文件操作初识

    三部曲:

    • 打开文件open()。

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

    • 关闭文件。

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

  2. 读,写,追加。

    • 读: r rb r+,r+b

      • read()

      • read(n) :

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

        • rb:read(n) n 字节。

      • readline() strip() '\n,\t, '

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

      • 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. 文件的改的操作。

03 今日内容

  1. 函数的初识

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

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

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

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

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

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

    • 函数的优点:

      • 减少代码的重复性。

      • 增强了代码的可读性。

     

  2. 函数的结构与调用

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

    • 函数什么时候执行?

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

         
         1  def meet():
         2      print('打开tantan')
         3      print('左滑一下')
         4      print('右滑一下')
         5      print('找美女')
         6      print('悄悄话....')
         7      print('约....走起...')
         8  meet()
         9  meet()
        10  meet()
        
        
  3. 函数的返回值

     1  def meet():
     2      print('打开tantan')
     3      print('左滑一下')
     4      return
     5      print('右滑一下')
     6      print('找美女')
     7      print('悄悄话....')
     8      print('约....走起...')
     9  meet()
    10  return: 在函数中遇到return直接结束函数。

     

     1  def meet():
     2      print('打开tantan')
     3      print('左滑一下')
     4      print('右滑一下')
     5      print('找美女')
     6      print('悄悄话....')
     7      print('约....走起...')
     8      return '妹子一枚'
     9 10  ret = meet()
    11  print(ret)
    12  print(meet())
    13  return 将数据返回给函数的执行者,调用者 meet()。
    14  s1 = 'jfdkslfjsda'
    15  ret = len(s1)
    16  print(ret)
     
     1  def meet():
     2      print('打开tantan')
     3      print('左滑一下')
     4      print('右滑一下')
     5      print('找美女')
     6      print('悄悄话....')
     7      print('约....走起...')
     8      # return '妹子一枚'
     9      return '妹子', 123, [22, 33]
    10  ret= meet()
    11  # ret,ret1,ret2 = meet()
    12  print(ret,type(ret))
    13  # return 返回多个元素 是以元组的形式返回给函数的执行者。

     

    • 返回值的总结:

      • 在函数中,终止函数。

      • return 可以给函数的执行者返回值:

        • return 单个值 单个值

        • return 多个值 (多个值,)

  4. 函数的参数

     1  def meet():
     2      print('打开tantan')
     3      print('进行筛选:性别:女')
     4      print('左滑一下')
     5      print('右滑一下')
     6      print('找美女')
     7      print('悄悄话....')
     8      print('约....走起...')
     9 10  s1 = 'jfdsklafjsda'
    11  l1 = [1,2,3]
    12  len(s1)

     

  • 函数的传参:让函数封装的这个功能,盘活。 分两个角度:实参,形参。

 1 def meet(sex):  #函数的定义:接受的参数形式参数
 2     print('打开tantan')
 3     print('进行筛选:性别:%s' %(sex))
 4     print('左滑一下')
 5     print('右滑一下')
 6     print('找美女')
 7     print('悄悄话....')
 8     print('约....走起...')
 9 
10 meet('')  # 函数的执行传的参数 :实际参数

 

  • 实参角度

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

     1 - def meet(sex,age,skill):
     2       print('打开tantan')
     3       print('进行筛选:性别:%s,年龄:%s,%s' %(sex,age,skill))
     4       print('左滑一下')
     5       print('右滑一下')
     6       print('找美女')
     7       print('悄悄话....')
     8       print('约....走起...')
     9 
    10 meet('',25,'python技术好的',)
    11 
    12 写一个函数,只接受两个int的参数,函数的功能是将较大的数返回。
    13 def compile(a,b):
    14     c = 0
    15     if a > b:
    16         return c
    17     else:
    18         return c
    19 print(compile(10,20))
    20 print(compile(1000,1))
    21 compile(1000,20)
    22 
    23 三元与运算符: 简单的if else
    24 a = 1000
    25 b = 2000
    26 if a > b:
    27     c = a
    28 else:
    29     c = b
    30 print(c)
    31 
    32 a = 1000
    33 b = 2000
    34 c = a if a > b else b
    35 def complie(a,b):
    36     c = a if a > b else b
    37     return c
    38 
    39 def complie(a,b):
    40     return a if a > b else b

     

    1. 关键字参数
      一一对应

     1 def meet(sex,age,skill,hight,weight,):
     2       print('打开tantan')
     3       print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s' %(sex,age,skill,hight,weight))
     4       print('左滑一下')
     5       print('右滑一下')
     6       print('找美女')
     7       print('悄悄话....')
     8       print('约....走起...')
     9 
    10 meet(age=25,weight=100,hight=174,skill='python技术好的',sex='')
    11 
    12 函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。
    13 一一对应
    14 def meet(sex,age,skill,hight,weight,):
    15   print('打开tantan')
    16     print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s' %(sex,age,skill,hight,weight))
    17     print('左滑一下')
    18     print('右滑一下')
    19     print('找美女')
    20     print('悄悄话....')
    21     print('约....走起...')
    22 
    23 meet(age=25,weight=100,hight=174,skill='python技术好的',sex='')
    24 
    25 函数:传入两个字符串参数,将两个参数拼接完成后形成的结果返回。
    26 def func(a,b):
    27     return a + b
    28 print(func(b='太白',a='无敌'))

     

    1. 混合参数

       1 # 混合参数
       2 # 位置参数一定要在关键字参数的前面。
       3 def meet(sex,age,skill,hight,weight,):
       4     print('打开tantan')
       5     print('进行筛选:性别:%s,年龄:%s,技术:%s,身高:%s,体重%s' %(sex,age,skill,hight,weight))
       6     print('左滑一下')
       7     print('右滑一下')
       8     print('找美女')
       9     print('悄悄话....')
      10     print('约....走起...')
      11     return '筛选结果:性别:%s,体重%s' %(sex,weight)
      12 
      13 print(meet('',25,weight=100,hight=174,skill='python技术好的'))

       

  • 形参角度:

    1. 位置参数

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

       

    2. 默认参数

       1 默认值参数
       2 默认参数设置的意义:普遍经常使用的。
       3 
       4 def meet(age,skill='python技术好的',sex='',):
       5     print('打开tantan')
       6     print('进行筛选:性别:%s,年龄:%s,技能:%s' %(sex,age,skill))
       7     print('左滑一下')
       8     print('右滑一下')
       9     print('找美女')
      10     print('悄悄话....')
      11     print('约....走起...')
      12 
      13 # meet(25,'python技术好的',)
      14 meet(25,'运维技术好的','')
      15 
      16 open()

       

       

04 今日总结

  1. 函数:

  2. 函数的作用:以功能为导向,减少代码重复,使代码可读性好。

  3. 函数的结构,函数的执行。

  4. 函数的返回值:return 1,终止函数给函数的调用者返回值。

  5. 函数的参数:

    • 实参角度

      • 位置参数

      • 关键字参数

      • 混合参数

    • 形参角度

      • 位置参数

      • 默认参数

      •  

05 预习内容

 

posted @ 2019-01-07 15:28  .如影随行  阅读(148)  评论(0编辑  收藏  举报