美文网首页
【为了尊严】Python(二)

【为了尊严】Python(二)

作者: 歌兮舞兮独酌兮 | 来源:发表于2018-09-30 18:37 被阅读11次

    一 函数

    1.给函数abs起“别名”

    a = abs #直接用变量指向函数
    

    2.函数定义

    def my_ads(x):
      return none
    

    3.空函数

    def nop():
      pass # pass表示什么都不做
    #同样的可以有
    if age>= 8:
      pass
    

    4.import的使用

    from abstest import my_abs   #从adstes中导入my_abs()函数
    

    5.return 返回多值时,返回的是一个tuple
    6.函数参数
    (1)默认参数

    def power(x,n=2,m=3) 
    

    此时调用power(5),m n的值默认为2 3

    power(10,5) #m的值为3
    power(10,m=6) #m的值为6,n的值为默认值2
    

    默认参数必须是不可变的对象
    (2)可变参数(允许传入任意数量的参数)

    def calc(*numbers):
        sum = 0
        for n in numbers:
            sum = sum + n * n
        return sum
    
    nums = [1, 2, 3]
    #将nums传入calc的方法有:
    calc(*nums) #常用方法
    calc(1,2,3)
    calc(nums[0], nums[1], nums[2])
    

    (3)关键字参数

    def person(name, age, **kw) #kw是可选的、任意数量的关键字参数
      print('name:', name, 'age:', age, 'other:', kw)
    
    person('Bob', 35, city='Beijing')
    #name: Bob age: 35 other: {'city': 'Beijing'}  
    
    person('Adam', 45, gender='M', job='Engineer')
    #name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}  
    
    extra = {'city': 'Beijing', 'job': 'Engineer'}
    person('Jack', 24, **extra)
    #name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
    

    kw把实参的dict传入kw,但获得的只是一个拷贝
    (4)命名关键字参数
    检查关键字中的传入值

    def person(name, age, **kw):
        if 'city' in kw:
            # 有city参数
            pass
        if 'job' in kw:
            # 有job参数
            pass
    

    限制关键字参数

    def person(name, age, *, city, job) #*往后的参数被视为关键字参数
    

    命名关键字参数必须传入参数名,否则就视为位置参数

    person('jack', 12,'bj',wg) #错误
    person('Jack', 24, city='Beijing', job='Engineer') #正确 
    

    相关文章

      网友评论

          本文标题:【为了尊严】Python(二)

          本文链接:https://www.haomeiwen.com/subject/rbuwoftx.html