zoukankan      html  css  js  c++  java
  • 【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']
  • 相关阅读:
    python
    spice-vdagent
    no ia32-libs
    git conflict
    wget mirror
    docker !veth
    libprotobuff8.so not found
    angular 列表渲染机制
    Java测试技巧
    react组件生命周期
  • 原文地址:https://www.cnblogs.com/dplearning/p/3951490.html
Copyright © 2011-2022 走看看