zoukankan      html  css  js  c++  java
  • 函数 day9

    一,什么是函数?

    函数的定义与调用

    s = 'fkdsagadfdsagfdsagg'
    count = 0
    for i in s:
        count += 1
    print(count)
    
    
    
    l1 = [1,2,3,4,5,6,5,4,3]
    count = 0
    for i in l1:
        count += 1
    print(count)
    重复使用
    代码可读性差
    def my_len():  #def 关键字,定义函数, 空格 函数名(变量)
        l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
        count = 0
        for i in l1:
            count += 1
    
    my_len()  # 函数名 + () 执行此函数
    
    函数是以功能为导向,函数内部尽量不要有print
    
    l1 = [1,2,3,4,5,6,5,4,3]
    ret = len(l1)
    print(ret)

     函数的定义

    定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。
    
       def 是固定的,不能变,他就是定义函数的关键字。
    
       空格 为了将def关键字和函数名分开,必须空(四声),当然你可以空2格、3格或者你想空多少都行,但正常人还是空1格。
    
       函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能
    
       括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!
    
    注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。
    
    调用:就是 函数名() 要记得加上括号。

    二,函数的返回值。

    def my_len():  # def 关键字,定义函数, 空格 函数名(变量)
        l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
        count = 0
        for i in l1:
            count += 1
    
    
    my_len()  # 函数名 + () 执行此函数
    
    函数是以功能为导向,函数内部尽量不要有print
    
    l1 = [1,2,3,4,5,6,5,4,3]
    ret = len(l1)
    print(ret)
    
    return 1:遇到return 此函数结束,不在向下进行.
          2 ,return 返回值
                        不写return   返回 None
                        return None  返回 None
                        return 单个值  返回此单个值
                        return 多个值  将多个值包在元组中,返回给调用者此元组
    def my_len():
        l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
        print(1111)
        print(222)
        return  遇到return 此函数结束,不在向下进行
    print(333)
    def my_len():
        l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
        count = 0
        for i in l1:
            count += 1
        return count
    ret = my_len()
    print(ret)
    
    def my_len():
        l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
        count = 0
        for i in l1:
            count += 1
        return 1,2,[123,2]
    
    ret1,ret2,ret3 = my_len()  # (1,2,[123,2])
    print(ret1,ret2,ret3)
    ret = my_len()
    ret1 = ret[0]
    ret2 = ret[1]
    ret3 = ret[2]

    但是咱们写的这个函数,并不会得到这样的结果,如何让他和len函数一样,有返回值呢?

    那就是在函数的最后加上一个return,return 后面写你需要的返回值就可以了。

    #函数定义
    def mylen():
        """计算s1的长度"""
        s1 = "hello world"
        length = 0
        for i in s1:
            length = length+1
        return length
    
    #函数调用
    str_len = mylen()
    print('str_len : %s'%str_len)
    
    return返回值

    return关键字的作用:

    return关键字的作用

      return 是一个关键字,在pycharm里,你会看到它变成蓝色了。你必须一字不差的把这个单词给背下来。

      这个词翻译过来就是“返回”,所以我们管写在return后面的值叫“返回值”

    要研究返回值,我们还要知道返回值有几种情况:分别是没有返回值、返回一个值、返回多个值

    没有返回值

      不写return的情况下,会默认返回一个None:我们写的第一个函数,就没有写return,这就是没有返回值的一种情况。 

    #函数定义
    def mylen():
        """计算s1的长度"""
        s1 = "hello world"
        length = 0
        for i in s1:
            length = length+1
        print(length)
    
    #函数调用
    str_len = mylen()
    #因为没有返回值,此时的str_len为None
    print('str_len : %s'%str_len)
    
    没有return

     三,函数的参数。

    函数的两种类型的参数:一种是函数定义里的形参,另一种是调用函数的实参。在调用函数的时候,函数内部,实参会赋值给形参,。

    s = 'fdsafsda'
    l2 = [1, 2, 3, 4, 5, 6, 5, 4, 3, 3, 'alex']
    函数的传参
    
    def my_len(x):  #形参:形式参数
        count = 0
        for i in x:
            count += 1
        return count
    ret = my_len(l2)  # 实参:实际参数
    print(ret)
    len(s)
    
    从实参的角度:
      按位置传参
      按关键字传参
      混合传参  关键字参数永远在位置参数后面
    def my_len(x,y,z):  #形参:形式参数
        count = 0
        for i in x:
            count += 1
        return count
    ret
    = my_len(l2,s,'alex') # 按位置传参 print(ret) len(s) def func(x): if len(x) > 2: return True else:return False print(func('alex'))
  • 相关阅读:
    KVM快速构建虚拟机
    工程师测试
    配置SMB,NFS
    Shell脚本基础应用
    Web网页部署
    基础邮件,mariadb数据库
    SElinux,firewalld配置
    Linux管理员测试
    磁盘分区
    配置权限,LDAP
  • 原文地址:https://www.cnblogs.com/chongdongxiaoyu/p/8392290.html
Copyright © 2011-2022 走看看