• python入门基础-初识函数


    1.函数

    1 函数
    # 函数是组织好的,可以重复的使用,用来实现单一或相关联功能的代码段。
    # 函数能提高应用的模块性和代码的重复利用率。

    2.函数的定义

    #2 函数的定义
        #1、def关键词开头 + 空格 + 函数名 + () + :
        #2、函数名命名只能包含字母、数字和下划线,但不能以数字开头,并且命名应具有可描述性。
        #3、在函数下面的第一行中应写上该功能和参数的说明。

    3.return作用

    #3 return关键作用
    #return是一个关键字,它在python中的作用是返回一个方法的值。
    #return返回值也分没有返回值、返回一个值、返回多个值三种情况
    #(1)【没有返回值】在不写return的情况下,调用此函数会返回一个None。
    
    def my_len():   #定义一个函数
        """计算字符串的长度"""
        s1 = '今天是个好日子啊!'
        count = 0
        for i in s1:
            count += 1
    
    print(my_len()) #打印并调用这个函数,因为没有函数中没有return,所以打印出来的None
    
    #(2)【没有返回值】只写return,也会返回None;那没有写return和只写return有什么区别呢?
        #只写return会有一个功能,就是“一旦遇到return,就会结束整个函数!”
    
    def my_print(): #定义函数
        print('111aaa')
        return
        print('222bbb') #这句命令不会被执行,因为上一句是return
    
    print(my_print())   #调用函数,得到的返回值是None
    
        #return None和中情况一样
    
    #(3)【返回一个值】在return后面加上要返回的值就可以了,注意中间需要存在空格,return支持返回任意类型的值。
    
    def my_len():   #定义函数
        """计算字符串的长度"""
        s1 = '今天是个好日子啊!'
        count = 0
        for i in s1:
            count += 1
        return count    #将count对应的值返回
    
    print(my_len()) #调用函数,打印出函数返回的值
    
    #(4)【返回多个值】return支持返回多个任意数据类型的值。
            #多个变量接收:有多少返回值就用多少个变量接收。
            #用一个变量接收:得到的是一个元组。
    
    #多个变量接收
    def ret_demo1():    #定义函数
        s1 = '1','2','3',['11','22']
        return s1
    
    a,b,c,d = ret_demo1()   #用多个变量接收函数的返回值
    print(a,b,c,d)      #最终打印出 1 2 3 ['11', '22']
    
    #一个变量接收
    def ret_demo2():    #定义函数
        s2 = '1','2','3',['11','22']
        return s2
    
    a = ret_demo2() #用一个变量接收函数返回值
    print(a)        #最终打印出一个元组 ('1', '2', '3', ['11', '22'])

    4.函数的参数

    def my_len(s1):   #s1是形式传参,简称 形参
        """计算字符串的长度"""
        count = 0
        for i in s1:
            count += 1
        return count
    str_len = 'hello word!'
    print(my_len(str_len)) #str_len是实际传参,简称 实参
    
    #实际传参:指的是 调用 函数时传递的参数称之为“实际传参”,简称实参。
    #形式传参:指的是 定义 函数时写的变量名称之为“形式传参”,简称形参。

    4.1 参数(站在实参角度)

    #参数(站在实参角度)
        #1 按照位置传值
    
    def my_sum(a,b):
        sum = a + b
        return  sum
    
    print(my_sum(10,20))    #按照形参的位置传递参数
    
        #2 按照关键字传值
    
    def my_sum(a,b):
        print(a,b)
        sum = a + b
        return  sum
    
    print(my_sum(b =10,a = 20))    #按照关键字的方式传递参数
    
        #3 位置、关键字混合着用
            #注意:1 位置参数必须在关键字前面
                 # 2 对于一个形参只能赋值一次
    
    def my_sum(a,b):
        print(a,b)
        sum = a + b
        return  sum
    
    print(my_sum(10,b = 20))    #位置、关键字混合着用

    4.2 参数(站在形参角度)

    #参数(站在形参角度)
        #1 位置参数必须传值,否则会报错!
    
    def my_sum(a,b):
        print(a,b)
        sum = a + b
        return  sum
    
    print(my_sum())
    
    #结果:TypeError: my_sum() missing 2 required positional arguments: 'a' and 'b'
    
        #2 默认参数时,如果不传递参数用默认值,如果传递参数就用传递的。
    
    def my_info(name,hobby = 'girl'):
        '''打印人员信息'''
        print(name,hobby)
    
    my_info('小A')
    my_info('小C','girl')
    
    #可以发现两次调用函数,对应的hobby是一样的。
    
        #3 参数陷阱:默认参数是一个可变数据类型
    
    def defult_param(a,l = []):
        l.append(a)
        print(l)
    
    defult_param('小A')
    defult_param('小C')
    
    
        #4 动态参数:按位置传值多余的参数都由args统一接收,保存成一个元组的形式
    
    def my_sum(*args):  # *args 可以接收多个任意位置参数
        sum = 0
        for i in args:
            sum += i
        return sum
    
    print(my_sum(1,5,10,20))    #向形参传递任意的位置参数。
    
    def my_info(**kwargs):  # **kwargs 可以接受多个关键字参数
        print(kwargs)
        print(kwargs['name'],kwargs['age'])
    
    my_info(name='小A',age='18')

    5.总结

    (1)定义函数规则

    1.定义:def 关键词开头,空格之后接函数名称和圆括号()。
    2.参数:圆括号用来接收参数。若传入多个参数,参数之间用逗号分割。
        参数可以定义多个,也可以不定义。
        参数有很多种,如果涉及到多种参数的定义,应始终遵循位置参数、*args、默认参数、**kwargs顺序定义。
        如上述定义过程中某参数类型缺省,其他参数依旧遵循上述排序
    3.注释:函数的第一行语句应该添加注释。
    4.函数体:函数内容以冒号起始,并且缩进。
    5.返回值:return [表达式] 结束函数。不带表达式的return相当于返回 None
    
    def 函数名(参数1,参数2,*args,默认参数,**kwargs):
            """注释:函数功能和参数说明"""
            函数体
            ……
            return 返回值

    (2)调用函数规则

    1.函数名()
        函数名后面+圆括号就是函数的调用。
    2.参数:
        圆括号用来接收参数。
        若传入多个参数:
            应按先位置传值,再按关键字传值
            具体的传入顺序应按照函数定义的参数情况而定
    3.返回值
        如果函数有返回值,还应该定义“变量”接收返回值
        如果返回值有多个,也可以用多个变量来接收,变量数应和返回值数目一致
    
    无返回值的情况:
    函数名()
    
    有返回值的情况:
    变量 = 函数名()
    
    多个变量接收多返回值:
    变量1,变量2,... = 函数名()

    (3)思维导图总结

  • 相关阅读:
    6.11 修饰符的适用范围
    5.10 对象与垃圾回收
    5.9 枚举类
    5.8 java 11增强的Lambda表达式
    5.7 内部类
    5.6 接口
    5.5 抽象类
    5.4 final修饰符
    5.3 类成员
    5.2 Object类中两个需要被重写的方法
  • 原文地址:https://www.cnblogs.com/jason-lv/p/8119722.html
Copyright © 2020-2023  润新知