• 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。

     
     
     
  • 相关阅读:
    camke中关于变量的一些知识
    ububtu16.04下安装protobuf
    ububtu下安装配置搜狗输入法
    anaconda资源链接
    把本地项目文件上传到github远程仓库的教程
    cmake practice一文中安装可执行文件的方法
    slam学习资源
    js中对String去空格
    去当前时间的周一
    对sql初始化的值的处理
  • 原文地址:https://www.cnblogs.com/tyyhph/p/7521848.html
Copyright © 2020-2023  润新知