zoukankan      html  css  js  c++  java
  • day11

    函数的参数

    #实参:有实际意义的参数
    #形参:参数本身没有意义,有实参赋予形参值后,该形参就具备了意义
    #形参是对实参的值拷贝:可变与不可变类型
    '''
    实参(必须先传位置实参,再传关键字实参)
    1:拿实际值进行传参 2.拿位置进行传参,形参与实参传参,位置需要对应,参数不能多也不能少
    3.那关键字实参进行传参,指名道姓进行传参 -传参的过程指名道姓形参
    形参
    1:位置形参:位置形参可以有位置进行传参,也可以关键子实参进行传值
    2:默认形参:有默认值的形参可以传参,实参会赋值给形参,不传参参数为默认值
    位置形参必须在默认形参之前,但是使用位置传参时默认参数就没有意义
     
    3:可变长位置形参:可以接收0~N个位置实参,0个就是空元组 |约定俗成使用*args
    4.有无默认值关键字形参
    5.可变长关键字形参:可以接收0~N个关键字实参,0个就是空字典 |约定俗称使用**kwargs

    注:假设在一个函数中出现了上方所有类型的参数,顺序自上而下
    结论:定义函数形参时,*号前所有参数称之为位置形参,*号后所有参数称之为关键字形参

    实参组合传参规则:必须先传位置参数,再传关键字参数
    可变长位置形参,只能接受位置实参,要想被赋上值,前面有值的位置形参的默认值没有意义
    所有位置形参全部采用位置实参进行传值
    所有关键字形参全部采用关键子实参进行传参
    '''

    打散机制

    def fn(*args, **kwargs):
       print(args)
       print(kwargs)

    fn(*(1,2,3),{'a':1,'b':2,'c':3})
    # 因为*args和**kwargs会把接受的实参放在元组和字典里,所以需要打散机制
    # *单列容器:*tuple|*list 会打散单列容器
    # **双列容器:**dict 会打散双列容器
    # *str 字符串也会被打散
    # 可以在传参的时候写,也可以在print(*)里面写

    函数的嵌套使用

    #在一个函数中调用另一个函数
    def a():
       print(0)
    a()
    #在函数a中,我们调用了另一个函数(可以是系统函数,也可以时自己定义的函数),这就叫函数的嵌套使用
    #当在函数a中,调用函数b时,但是再调用函数a时,调用的语法必须要写在b函数声明的后面

    字符串的比较

    #在python中字符串的比较,其实是对应Ascii表的十进制的数值
    #A~Z:65~90 32代表空格 a~z:97~122
  • 相关阅读:
    HDU5418.Victor and World(状压DP)
    POJ2686 Traveling by Stagecoach(状压DP)
    POJ3254Corn Fields(状压DP)
    HDU5407.CRB and Candies(数论)
    CodeForces 352D. Jeff and Furik
    CodeForces 352C. Jeff and Rounding(贪心)
    LightOj 1282 Leading and Trailing
    Ural 1057. Amount of Degrees(数位DP)
    HDU 2089 不要62 (数位DP)
    HDU5366 The mook jong (DP)
  • 原文地址:https://www.cnblogs.com/zhuqihui/p/10771363.html
Copyright © 2011-2022 走看看