• 我的python菜鸟之路7


    ------------------------------函数相关---------------------------

    • return

      • 默认返回值为None

      • 返回函数的值

      • 终止代码的执行

      • 可以返回任意类型

      • 当函数有返回值时,调用函数时必须有一个新的变量来接受,这时才返回return的值

        def fun():
            return 5, 8 ,'yang'
        a=fun()
        print(a)#不加括号时,默认返回元组
        
    • 函数有几个形参就应该有几个实参,不然无法运行

      #练习1
      def func(name,age):
          a = 123
          b =456
          d =789
          print(a)
          return (111)
      a = func(1,2)#返回值为123
      #练习2
      def func(name,age):
          a = 123
          b =456
          d =789
          print(a)
          return (111)
      a = func(1,2)
      print(a)
      #返回值为123 
       111
      
      • 在进行强制转换的时候(列表、元组、集合),如list();其相当于先对其中的元素进行循环,再逐次进行添加,
      • int类型不可进行强制转换,因为其为不可迭代对象
      a = 'hsdhj'
      b = (1,2,3)
      c ={'name':'yang','age':'18'}
      print(list(a),list(b),list(c))
      #其结果为:
      ['h', 's', 'd', 'h', 'j'] [1, 2, 3] ['name', 'age']
      
      • 三元运算与函数的 return相结合
      def fun(a,b):
          return a if a > b else b
      v = fun(1,2)
      prin(v)
      

      函数参数

      • 位置传参

      • 关键字传参:位置可变

      • 关键字传参和位置传参可以混合使用(位置参数应放在前面,关键字参数放在后面,合起来等于总参数的个数),比如:打开文件时

      • 默认参数:可传可不传,传了就覆盖,不传时就是默认值,在设定默认参数时,不可变类型随便用,可变类型,坑!

      • *args 万能参数(打散)

        • 可以接受任意个参数,并将参数转化为元组
        • 不支持关键字传参
        • 可以与位置传参混用
        • 与关键字传参时,关键字传参必须在后面
        def fun(*args):#形参之前加*,可以传入多个参数,即不限制
            print(args)
        b = fun(*[1,2,3,4,5],)#前面不加*即当做一个元组,加了*即将其打散放入
        
      • **kwwargs

        • 只能用关键字传参

        • 可接受任意个参数,并将参数转化为字典

        • 单个*例子

        • ef fun(**kwargs):
              print(kwargs)
          b = fun(k1 = 1,yangf='zi')
          
        • 两个**例子:整体把字典复制过去

        • def fun(**kwargs):
              print(kwargs)
          b = fun(**{'ke':'yam','li':'yang'})
          
      • 两个参数混用

        • def fun(*args,**kwargs):
              print(args,kwargs)
          b = fun(*[1,2,3,4],k1='yang',v2='li')
          
    • 函数的参数传入的是一个地址

      v = [11,22,33,44]
      def funs(a):
          print('外',id(a))
      print('内',id(v))
      funs(v)
      #其输出的结果是一样的
      
  • 相关阅读:
    Quartz.net 定式调度任务
    Quartz.net 定时调度CronTrigger时间配置格式说明
    json 数据 添加 删除 排序
    Myeclipse 安装离线adt的方法 ()
    关于C# DataTable 的一些操作
    Android 设置代理(验证用户名和密码)
    js ShowDialogModal 关闭子页面并刷新父页面,保留查询条件
    sql语句中----删除表数据drop、truncate和delete的用法
    SQL数据库增删改查基本语句
    asp.net(C#)利用QRCode生成二维码---.NET菜鸟的成长之路
  • 原文地址:https://www.cnblogs.com/yangzilaing/p/13193504.html
Copyright © 2020-2023  润新知