• Python3-函数


    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

    函数能提高应用的模块性,和代码的重复利用率。

    一、判断是不是什么类型:isinstance(变量,类型)
        示例:tuple1 = (1,2,3)
              print(isinstance(tuple1,tuple))
        结果:True
     
    二、可变和不可变:
            可变:地址不变,里面内容改变    list、dict、set
            示例:list1 = [1,2,3,4,5]
                  list2 = list1
                  list1.remove(5)
                  print(list2)
            结果:[1,2,3,4]
     
     
            不可变:只要内容改变,必须改变地址    int、str、tuple
            示例:str1 = "abc"
                  str2 = str1
                  str1 = "ab"
                  print(str2)
            结果:"abc"
     
    三、**kwarges:
            只要外面给函数送值,送的值必须是key=values的形式
            示例:def func(**kwargs):
                        print(kwargs)
                  func(a=1,b=2,c=3)
            结果:{'c': 3, 'b': 2, 'a': 1}
     
    四、全局变量 和 局部变量
        全局变量如果是不可变,在函数中进行修改需要添加global关键字
                如果是可变的,................则不需要添加
     
    五、关于*args与**karges
            ①    *arges            ---元组
                示例:def func(a,*arges):
                        print(a,arges)
                      t1 = (1,2,3)
                      func(1,t1)    # 1 ((1,2,3),)
                      func(1,*t1)   # 1 (1,2,3)
                    
                      l1 = [1,2,3]
                      func(1,l1)    # 1 ([1,2,3],)
                      func(1,*l1)   # 1 (1,2,3)
            
            ②    **karges        ---字典
                示例:def func(a,**kwargs):
                        print(a,kwargs)
     
                      d1 = {'1':'a','2':'b','3':'c'}
                      func(1,**d1)    
                结果:1 {'2': 'b', '3': 'c', '1': 'a'}
     
    六、练习
    def func(a,*args):
        print(a,args)
     
    func(2,3,4,5)   # 2 (3,4,5)
    func(2,[1,2,3,4])   # 2 ([1,2,3,4])
    func(2,3,[1,2,3,4,5])   # 2 (3,[1,2,3,4,5])
    func(5,6,(4,5,7),9)     # 5 (6,(4,5,7),9)
     
    def func(a,b=10,c=3,**kwargs):
        print(a,b,c,kwargs)
    func(1)     # 1 10 3 {}
    func(2,b=10)    # 2 10 3 {}
    # func(3,5,7,a=1,b=2)   # TypeError: func() got multiple values for argument 'a'
    func(3,5,7,x=1,y=2) # 3 5 7 {"x":1,"y":2}
     
    def func(a,*args,**kwargs):
        print(a,args,kwargs)
     
    t = (1,2,3,4)
    func(1,t)   # 1 ((1,2,3,4)) {}
     
    l = [2,5,8]
    func(1,l,c=9,b=6)   # 1 ([2,5,8]) {"c":9,"b":6}
    func(1,*l,c=9,b=6)  # 1 (2, 5, 8) {'b': 6, 'c': 9}
     
    dict1 = {'1':'a','2':'b','3':'c'}
    func(1,2,3,4,5,**dict1)     # 1 (2,3,4,5) {'3': 'c', '1': 'a', '2': 'b'}
            
  • 相关阅读:
    论程序员的自我修养
    设计模式之:行为型设计模式(11种)
    设计模式之:结构型设计模式(7种)
    @import "../style/lines.scss" 导致background: url()路径无效问题
    node express 设置重定向
    png8和png24的区别
    vue scss 使用 及 踩坑
    js 防抖 节流
    js 次方 开方 对数
    css 修改placeholder样式
  • 原文地址:https://www.cnblogs.com/DemonKnifeGirl/p/12997188.html
Copyright © 2020-2023  润新知