zoukankan      html  css  js  c++  java
  • Python学习三

    定义函数:

    自定义函数: def  名字(参数):

                                    函数体  

                                   返回值

    再调用就行

    空函数: 

                   pass函数就为空

    pass还可以用在其他语句里,比如:

    if age >= 18:
        pass
    

    缺少了pass,代码运行就会有语法错误。

    参数检查:

    数据类型检查可以用内置函数isinstance

    返回多个值:

    设置p(a,x):返回多个参数 return x, y

    默认参数:

    设计str、None这样的不变对象

    我们可以用None这个不变对象来实现:

    def add_end(L=None):
        if L is None:
            L = []
        L.append('END')
        return L

    可变参数:

    作为一个list或tuple传进来

    由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下:

    def calc(numbers):
        sum = 0
        for n in numbers:
            sum = sum + n * n
        return sum


    作为一个可变参数:只需要加一个*号
    def calc(*numbers):
        sum = 0
        for n in numbers:
            sum = sum + n * n
        return sum

    有一个list或者tuple,要调用一个可变参数怎么办?可以这样做:

     nums = [1, 2, 3]
     calc(nums[0], nums[1], nums[2])

    所以Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:

    nums = [1, 2, 3]
    calc(*nums)
    

    关键字参数:

    def person(name, age, **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'}

    关键字参数** 必须要有等于号才能赋值。

    *args是可变参数,args接收的是一个tuple;

    **kw是关键字参数,kw接收的是一个dict。

     
     
     
  • 相关阅读:
    android最恶心的是什么?
    有谁熟悉WordPress不?
    迷茫了....
    这事儿SB了....
    软件可靠性测
    养生之道
    我学员的一个问题及其我对之的解答,关于lr返回值问题
    如何自动启动小键盘
    测试工程师工作流程概论
    异构数据库之间的导入导出[转载]
  • 原文地址:https://www.cnblogs.com/tyyhph/p/7521848.html
Copyright © 2011-2022 走看看