• python(函数初识)


    1.函数的返回值

      return关键字的作用

      return是一个关键字,在pycharm里,会变成蓝色的关键字。

    1.1没有写返回值  

      如果未定义返回值,会默认返回一个None。

    1 def my_len(str):
    2     length = 0
    3     for i in str:
    4         length += 1
    5     print(length)
    6 ret = my_len('hello,world')
    7 print(ret)
    无返回值

    1.2 返回一个值

    1 def my_len(str):
    2     length = 0
    3     for i in str:
    4         length += 1
    5     return length
    6 ret = my_len('hello,world')
    7 print(ret)
    返回一个值

    1.3返回多个值

     返回的多个值会被组织成元祖, 也可以用多个值来接收

     1 def ret_demo():
     2     """
     3 
     4     :return: 多个值
     5     """
     6     return 1,2,3,4
     7 def ret_demo2():
     8     return  1,['a','b'],3,4
     9 
    10 ret = ret_demo()
    11 print(ret) # (1, 2, 3, 4)
    12 ret2 = ret_demo2()
    13 print(ret2)# (1, ['a', 'b'], 3, 4)
    返回多个值

    原因:序列化解压

     1 # 序列解压一
     2 a,b,c,d = (1,2,3,4)
     3 print(a)
     4 a,_,_,d = (1,2,3,4)
     5 print(d)
     6 a,*_ =(1,2,3,4)
     7 print(*_)
     8 # 同样也适用于字符串、列表、字典、集合
     9 a,b = {'name':'eva','age':18}
    10 print(a,)
    11 print(b)

    2. 函数的参数

    2.1 位置参数

      2.1.1 按照位置传值
    1 # 位置传参
    2 def mymax(x,y):
    3     return x if x>y else y
    4 ma = mymax(10,20)
    5 print(ma)
    按位置传值
      2.1.2 按照关键字传值
    1 # 按照关键字位置去传递参数
    2 def mymax(x,y):
    3     return x if x>y else y
    4  ma = mymax(y=10, x=20)
    5 
    6 print(ma)
    按照关键字传值

      2.1.2位置、关键字混合使用

    1 def mymax(x,y):
    2     return x if x>y else y
    3 ma = mymax(10,y=20)
    4 print(ma)
    位置、关键字混合使用

      正确用法:

      ①、位置参数必须在关键字参数的前面

      ②、对于一个形参只能赋值一次

    2.2 默认参数

      2.2.1.正常使用

      为什么要有默认参数:将变化比较小的值设置为默认参数

      2.默认参数的定义

    1 # 默认参数
    2 def stu_info(name,sex="male"):
    3     print(name,sex)
    4     return 'a'
    5 print(stu_info('alex'))
    6 print(stu_info('eva','female'))
    默认参数
      2.2.2 参数陷阱

      参数陷阱:默认参数是一个可变数据类型

    1 # 参数陷阱:默认参数是一个可变数据类型
    2 def defult_param(a,l=[]):
    3     l.append(a)
    4     print(l)
    5 print(defult_param('egon'))
    6 print(defult_param('alex'))
    参数陷阱

    2.3 动态参数

    动态参数,也叫不定长参数,也就是你需要传递的参数很多,不定个数,这种情况下,需要使用*args,**kwargs,
    *args是元祖形式,接收出去键值对以外的所有参数。
    *kwargs接收的只是键值对的参数,并且只保存在字典中
    1 def trans_para(*args, **kwargs):
    2     print(args, type(args))
    3     print(kwargs, type(kwargs))
    4 # 调用
    5 trans_para("jinxin",12,[1,2,3,4,],[3,4,],(1,4,7),{"a": "123", "c":456}, country="china")
    动态参数

      

  • 相关阅读:
    file
    shell脚本的执行
    添加源,删除源
    lsattr, chattr
    umask
    od
    init
    sync
    wc
    history
  • 原文地址:https://www.cnblogs.com/shine-rainbow/p/9782520.html
Copyright © 2020-2023  润新知