• 【python】入门学习(四)


    函数:

    定义函数

    #area.py
    
    from math import pi
    def area(radius):
        """Return the area of a circle with the given radius."""
        return pi * radius ** 2
    >>> ================================ RESTART ================================
    >>> 
    >>> area(5.5)
    95.03317777109125
    >>> print(area.__doc__)
    Return the area of a circle with the given radius.
    >>> 

    doctest #可用于自动运行文档字符串中的python示例代码

    全局变量访问时一定要加上global

    #error
    name = 'Jack'
    def say_hello():
        print('Hello ' + name + '!')
    def change_name(new_name):
        name = new_name
    >>> say_hello()
    Hello Jack!
    >>> change_name('Mary')
    >>> say_hello()
    Hello Jack!
    #correct
    name = 'Jack'
    def say_hello():
        print('Hello ' + name + '!')
    def change_name(new_name):
        global name
        name = new_name
    >>> say_hello()
    Hello Jack!
    >>> change_name('Mary')
    >>> say_hello()
    Hello Mary!

    main():被认为是程序的起点,可选不一定要。运行时必须输入main()

    python中参数的传递都是按引用传参,python支持按值传参

    在引用传参中,无法修改参数的值。下面的函数起作用:

    #reference.py
    def set1(x):
        x = 1
    >>> ================================ RESTART ================================
    >>> 
    >>> y = 5
    >>> set1(y)
    >>> y
    5

    函数参数默认值:

    注意:包含默认参数的形参一定要放在无默认参数的形参后面

            只有第一次调用函数时给默认参数赋值! #还不理解,先记下来

    #greetings.py
    def greet(name, greeting = 'Hello'):
        print(greeting, name + '!')
    >>> greet('bob')
    Hello bob!
    >>> greet('bob', 'Good morning')
    Good morning bob!

    使用关键字传参,即在使用时也指明形参,可以不理会顺序,很好用:

    #greetings.py
    def greet(name = 'Bob', greeting = 'Hello'):
        print(greeting, name + '!')
    >>> greet(greeting = 'Good evening', name = 'Mary')
    Good evening Mary!
    >>> greet(greeting = 'Good evening')
    Good evening Bob!

    也可以用模块化的方式来调用,模块中不包括main函数

    >>> import greetings
    >>> greetings.greet()
    Hello Bob!
    >>> dir(greetings)
    ['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'greet']
  • 相关阅读:
    websphere节点、单元、服务之间的关系
    easyui tree 判断点击的节点是否还存在子节点
    判断程序员在干什么
    配置was7、并部署发布项目!
    解决spring mvc 上传报错,Field [] isn't an enum value,Failed to convert value of type 'java.lang.String[]' to required type '
    spring mvc easyui tree 异步加载树
    《再见三山街》
    websphere内存溢出,手动导出was的phd和javacore文件
    js控制 点一下增加一个输入框,点一下增加一个输入框……
    C#中线程调用带有参数的方法
  • 原文地址:https://www.cnblogs.com/dplearning/p/3951490.html
Copyright © 2020-2023  润新知